00001 #ifndef ATTRIBUTEPROXY_H 00002 #define ATTRIBUTEPROXY_H 00003 #include <string> 00004 #include <vector> 00005 using namespace std; 00006 00007 namespace AST{ 00008 class Node; 00013 class AttributeProxy { 00014 public: 00015 AttributeProxy(Node* new_parent, string new_attributeName): 00016 parent(new_parent), 00017 attributeName(new_attributeName) 00018 { 00019 } 00020 void operator=(string value); 00021 void operator=(Node* value); 00022 void operator=(vector<Node*> vec_nodes); 00023 private: 00024 Node* parent; 00025 string attributeName; 00026 }; 00027 }; 00028 00029 #endif /* ATTRIBUTEPROXY_H */