118 I_CLASS = 0, // iterate using the class to enumerate elements.
119 I_EXPRESSION = 1, // iterate using the class in read_expression.
120 I_SET = 2, // iterate using the class in read_set.
121 I_DCLASS // iterate using read_class in read_set.
122 }Iteration;
123private:
124typedefenum {
125 R_ANY = 0,
126 R_NUMBER = 1,
127 R_TIMESTAMP = 2,
128 R_BOOLEAN = 3,
129 R_STRING = 4,
130 R_NODE = 5,
131 R_DEVICE = 6,
132 R_FUNCTION = 7,
133 R_EXPRESSION = 8,
134 R_SET = 9,
135 R_CLASS = 10,
136 R_DURATION = 11
137 }ReadID; // used for serialization
138 _Read read_;
139 ReturnType type_;
140 std::string class_; // when r==read_set or read_expression, _class specifies the class of said set/expression if one is targeted in particular; otherwise _class=="".
141 Iteration iteration_; // indicates how to use the _class to read the elements of the set: as an enumeration of types, as a class of expression, or as an enumeration of types to use for reading subsets.
142public:
143 std::string name_; // unused for anything but set/object/marker classes.
147 std::string p = "", // class name of return type if r==Compiler::read_expression or name of the structure to enumerate elements if r==Compiler::read_set.
148 Iteration i = I_CLASS); // specified only if r==Compiler::read_set.