AERA
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
r_code::Atom Class Reference

Classes

class  TraceContext
 

Public Types

enum  Type {
  NIL = 0x80, BOOLEAN_ = 0x81, WILDCARD = 0x82, T_WILDCARD = 0x83,
  I_PTR = 0x84, R_PTR = 0x85, VL_PTR = 0x86, IPGM_PTR = 0x87,
  IN_OBJ_PTR = 0x88, VALUE_PTR = 0x89, PROD_PTR = 0x8A, OUT_OBJ_PTR = 0x8B,
  D_IN_OBJ_PTR = 0x8C, ASSIGN_PTR = 0x8D, CODE_VL_PTR = 0x8E, THIS = 0x90,
  VIEW = 0x91, MKS = 0x92, VWS = 0x93, NODE = 0xA0,
  DEVICE = 0xA1, DEVICE_FUNCTION = 0xA2, C_PTR = 0xC0, SET = 0xC1,
  S_SET = 0xC2, OBJECT = 0xC3, MARKER = 0xC4, OPERATOR = 0xC5,
  STRING = 0xC6, TIMESTAMP = 0xC7, GROUP = 0xC8, INSTANTIATED_PROGRAM = 0xC9,
  INSTANTIATED_CPP_PROGRAM = 0xCA, INSTANTIATED_INPUT_LESS_PROGRAM = 0xCB, INSTANTIATED_ANTI_PROGRAM = 0xCC, COMPOSITE_STATE = 0xCD,
  MODEL = 0xCE, NULL_PROGRAM = 0xCF, DURATION = 0xD0
}
 

Public Member Functions

 Atom (uint32 a=0xFFFFFFFF)
 
Atomoperator= (const Atom &a)
 
bool operator== (const Atom &a) const
 
bool operator!= (const Atom &a) const
 
bool operator! () const
 
 operator size_t () const
 
bool isUndefined () const
 
uint8 getDescriptor () const
 
bool isStructural () const
 
bool isFloat () const
 
bool readsAsNil () const
 
float32 asFloat () const
 
bool asBoolean () const
 
bool isBooleanTrue () const
 
bool isBooleanFalse () const
 
uint16 asIndex () const
 
uint8 asInputIndex () const
 
uint8 asRelativeIndex () const
 
uint16 asOpcode () const
 
uint16 asCastOpcode () const
 
uint8 getNodeID () const
 
uint8 getClassID () const
 
uint8 getDeviceID () const
 
uint8 asAssignmentIndex () const
 
uint8 getAtomCount () const
 
bool takesPastInputs () const
 
template<class C >
C * asRawPointer () const
 
void trace (TraceContext &context, std::ostream &out) const
 

Static Public Member Functions

static Atom Float (float32 f)
 
static Atom PlusInfinity ()
 
static Atom MinusInfinity ()
 
static Atom UndefinedFloat ()
 
static Atom Nil ()
 
static Atom Boolean (bool value)
 
static Atom UndefinedBoolean ()
 
static Atom Wildcard (uint16 opcode=0x00)
 
static Atom TailWildcard ()
 
static Atom IPointer (uint16 index)
 
static Atom VLPointer (uint16 index)
 
static Atom RPointer (uint16 index)
 
static Atom IPGMPointer (uint16 index)
 
static Atom InObjPointer (uint8 input_index, uint16 index)
 
static Atom DInObjPointer (uint8 relative_index, uint16 index)
 
static Atom OutObjPointer (uint16 index)
 
static Atom ValuePointer (uint16 index)
 
static Atom ProductionPointer (uint16 index)
 
static Atom AssignmentPointer (uint8 variable_index, uint16 index)
 
static Atom CodeVLPointer (uint16 index, uint16 cast_opcode=0x0FFF)
 
static Atom This ()
 
static Atom View ()
 
static Atom Mks ()
 
static Atom Vws ()
 
static Atom SSet (uint16 opcode, uint8 element_count)
 
static Atom Set (uint8 element_count)
 
static Atom CPointer (uint8 element_count)
 
static Atom Object (uint16 opcode, uint8 arity)
 
static Atom Marker (uint16 opcode, uint8 arity)
 
static Atom Operator (uint16 opcode, uint8 arity)
 
static Atom Node (uint8 node_id)
 
static Atom UndefinedNode ()
 
static Atom Device (uint8 node_id, uint8 class_id, uint8 dev_id)
 
static Atom UndefinedDevice ()
 
static Atom DeviceFunction (uint16 opcode)
 
static Atom UndefinedDeviceFunction ()
 
static Atom String (uint8 character_count)
 
static Atom UndefinedString ()
 
static Atom Timestamp ()
 
static Atom UndefinedTimestamp ()
 
static Atom Duration ()
 
static Atom InstantiatedProgram (uint16 opcode, uint8 arity)
 
static Atom Group (uint16 opcode, uint8 arity)
 
static Atom InstantiatedCPPProgram (uint16 opcode, uint8 arity)
 
static Atom InstantiatedAntiProgram (uint16 opcode, uint8 arity)
 
static Atom InstantiatedInputLessProgram (uint16 opcode, uint8 arity)
 
static Atom CompositeState (uint16 opcode, uint8 arity)
 
static Atom Model (uint16 opcode, uint8 arity)
 
static Atom NullProgram (bool take_past_inputs)
 
static Atom RawPointer (void *pointer)
 

Public Attributes

uint32 atom_
 

Detailed Description

Definition at line 104 of file atom.h.


The documentation for this class was generated from the following files: