ACT Library
Loading...
Searching...
No Matches
Classes | Functions
value.h File Reference
#include <act/basetype.h>

Go to the source code of this file.

Classes

class  act_connection
 Connections. More...
 
class  ValueIdx
 This class is used to create an instance in a scope. The name comes from the fact that this is used to keep track of the index of a value within a particular type (rather than a flat data structure, one per instance) and so is not defined as a value-per-instance, but rather a value-per-type. More...
 

Functions

void act_mk_connection (UserDef *ux, ActId *id1, act_connection *c1, ActId *id2, act_connection *c2)
 
void act_merge_attributes (ValueIdx *vx1, ValueIdx *vx2, struct act_attr **x, struct act_attr *a)
 
void _act_mk_raw_connection (act_connection *c1, act_connection *c2)
 
void act_print_attributes (FILE *fp, act_attr *a)
 

Function Documentation

◆ _act_mk_raw_connection()

void _act_mk_raw_connection ( act_connection c1,
act_connection c2 
)

The union-find connection function. Make a simple connection, combining c1 and c2. c1 has the canonical connection pointer.

Parameters
c1is the canonical one
c2is the one to connect to c1

◆ act_merge_attributes()

void act_merge_attributes ( ValueIdx vx1,
ValueIdx vx2,
struct act_attr **  x,
struct act_attr a 
)

Merge the attributes of two instances. The vx1 and vx2 pointers are used for error reporting only. The real merge happens between the attribute lists provided.

Parameters
vx1is the name of one of the instances
vx2is the name of the other instance
ais the attribute list that should be merged
xis the attribute list into which the attributes should be merged

◆ act_mk_connection()

void act_mk_connection ( UserDef ux,
ActId id1,
act_connection c1,
ActId id2,
act_connection c2 
)

Function used to actually make a connection. This also determines which of the two connections should be the canonical one according to the rules for an act_connection.

Parameters
id1is the id for the first connection element
c1is the connection pointer for id1
id2is the id for the second connection element
c2is the connection pointer for id2
uxis the user-defined type, if any for the connection context. This is needed to determine which of the two is canonical.

◆ act_print_attributes()

void act_print_attributes ( FILE *  fp,
act_attr a 
)

Print out the attribute list

Parameters
fpis the output file
ais the attribute list