|
ACT Library
|
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...
#include <value.h>
Public Member Functions | |
| bool | hasConnection () |
| bool | hasAnyConnection () |
| bool | hasConnection (int i) |
| bool | hasSubconnections () |
| bool | isPrimary () |
| bool | isPrimary (int i) |
| act_connection * | connection () |
| const char * | getName () |
| act_attr * | getAttr () |
| act_attr * | getAttrIdx (int i) |
| bool | haveAttrIdx () |
| int | numAttrIdx () |
Public Attributes | |
| InstType * | t |
| struct act_attr * | a |
| instance attributes for the value | |
| struct act_attr ** | array_spec |
| unsigned int | init:1 |
| unsigned int | immutable:1 |
| ActNamespace * | global |
| union { | |
| long idx | |
| struct { | |
| act_connection * c | |
| const char * name | |
| } obj | |
| } | u |
| the value associated with this instance | |
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.
When a value is "allocated", it means it contains information about its value.
A value can also have a list of instance attributes associated with it. These are also held in this data structure.
|
inline |
ONLY FOR NON-PARAM TYPES.
|
inline |
|
inline |
For attributes associated with array instances
| i | is the index into the array |
|
inline |
ONLY FOR NON-PARAM TYPES.
|
inline |
ONLY FOR NON-PARAM TYPES. Checks if there is any connection associated with this object
|
inline |
ONLY FOR NON-PARAM TYPES. For non-parameter types, this checks if there is a connection pointer associated with this object.
|
inline |
ONLY FOR NON-PARAM TYPES. Checks if there is a connection pointer associated with a sub-connection at index i for this object
|
inline |
ONLY FOR NON-PARAM TYPES. Check if there are any sub-connections to this object
|
inline |
Check if there is an array-specific attribute specifier
|
inline |
ONLY FOR NON-PARAM TYPES. Check if this is a primary instance
|
inline |
ONLY FOR NON-PARAM TYPES. Check if the sub-connection at index i is the primary instance,
| int ValueIdx::numAttrIdx | ( | ) |
| struct act_attr* ValueIdx::a |
instance attributes for the value
| struct act_attr** ValueIdx::array_spec |
array deref-specific attributes, if any
| act_connection* ValueIdx::c |
For non-parameter types, the connection pointer. This is allocated in a lazy fashion.
| ActNamespace* ValueIdx::global |
set for a namespace global; NULL otherwise. Note that global => immutable, but not the other way around
| long ValueIdx::idx |
Base index for allocated storage for parameterized types
| unsigned int ValueIdx::immutable |
for parameter types: immutable if it is in a namespace or a template parameter
| unsigned int ValueIdx::init |
Has this been allocated? 0 = no allocation, 1 = allocated
| const char* ValueIdx::name |
the base name, from the hash table lookup: DO NOT FREE
| struct { ... } ValueIdx::obj |
information about the object for non-paramter types
| InstType* ValueIdx::t |
the type corresponding to this particular instance
| union { ... } ValueIdx::u |
the value associated with this instance