#ifndef TREENODE_H
#define TREENODE_H
#include <vector>
#include <string>

class TreeNode {
	public:
		TreeNode(string name,string value,vector<TreeNode *> * childVec);
		TreeNode(string name,string value);
		TreeNode();
		vector<TreeNode*> * children;	
		string name;
		string value;
		vector<TreeNode*> * getChildren(); 
		string getName();
		string getValue();
		TreeNode * getChild(const string & name); //gets Children throws a string * exception
							  //get the 1st Child
							  //with that name
		bool existChild(const string & name); //Does a subchild exist?
		~TreeNode();
	private:
		void init(string name,string value,vector<TreeNode*> * vecChild);

};
#endif

