You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
1.4 KiB
78 lines
1.4 KiB
|
|
#ifndef NODE_H |
|
#define NODE_H |
|
#include <list> |
|
|
|
|
|
using namespace std; |
|
|
|
class Node |
|
{ |
|
public: |
|
//int node_type; |
|
virtual ~Node(void){}; |
|
virtual void printNode()=0; |
|
virtual int qualifyNode()=0; |
|
}; |
|
|
|
|
|
class NodeGroup :public Node |
|
{ |
|
public: |
|
virtual ~NodeGroup(); |
|
typedef list<Node *>::iterator iterator; |
|
list<Node *> Sons; |
|
virtual void addNode(Node* nd); |
|
virtual void printNode(); |
|
virtual int qualifyNode(); |
|
|
|
}; |
|
|
|
NodeGroup::~NodeGroup() //distruttore: disalloca tutti i figli |
|
{ |
|
//for(iterator i=Sons.begin();i!=Sons.end();++i) |
|
// delete (*i); |
|
} |
|
|
|
void NodeGroup::addNode(Node* nd) |
|
{ |
|
Sons.push_back(nd); |
|
} |
|
void NodeGroup::printNode() |
|
{} |
|
|
|
int NodeGroup::qualifyNode() |
|
{return 0;} |
|
|
|
const int MAIN_NODE= 0; |
|
const int SLOTS_NODE= 1; |
|
const int SLOT_NODE= 2; |
|
const int OWNSLOT_NODE= 3; |
|
const int ENTRY_NODE= 4; |
|
const int VALUE_NODE= 5; |
|
|
|
const int CLASSES_NODE= 6; |
|
const int CLASS_NODE= 7; |
|
const int OWNSLOTS_NODE= 8; |
|
|
|
const int INSTANCES_NODE= 9; |
|
const int INSTANCE_NODE= 10; |
|
|
|
|
|
enum values {VALUE_INTEGER, VALUE_FLOAT, VALUE_BOOL, VALUE_STRING}; |
|
|
|
//#define MAIN_NODE 0; |
|
//#define SLOTS_NODE 1; |
|
//#define SLOT_NODE 2; |
|
//#define OWNSLOT_NODE 3; |
|
//#define ENTRY_NODE 4; |
|
//#define VALUE_NODE 5; |
|
// |
|
//#define CLASSES_NODE 6; |
|
//#define CLASS_NODE 7; |
|
//#define OWNSLOTS_NODE 8; |
|
// |
|
//#define INSTANCES_NODE 9; |
|
//#define INSTANCE_NODE 10; |
|
|
|
#endif
|
|
|