void visit(Visitor &visitor);
const EnumSig *sig;
+
+ const EnumValue *
+ lookup() {
+ // TODO: use a std::map
+ for (const EnumValue *it = sig->values; it != sig->values + sig->num_values; ++it) {
+ if (it->value == value) {
+ return it;
+ }
+ }
+ return NULL;
+ }
};
void visit(Visitor &visitor);
std::vector<Value *> values;
+
+ inline size_t
+ size(void) const {
+ return values.size();
+ }
};