#ifndef __NASAL_LIST_H__ #define __NASAL_LIST_H__ #include #include namespace nasal { #ifndef nil #define nil -1 #endif class var; struct ListUnit { std::string Type; void *data; ListUnit* next; }; class NasalList { private: ListUnit *head; public: NasalList(); NasalList(NasalList &); ~NasalList(); void PrintList(); void Append(void *,const char *); void Append(void *,std::string &); NasalList& operator=(const NasalList &); void SetSize(const int); NasalList SubVec(const int,const int); var Pop(); NasalList Sort(const int,const int); ListUnit SearchElement(const int); }; class var { public: std::string Type; void *data; bool isGlobal; var() { data=NULL; } var(const var &); ~var(); var& operator=(const var &); void Print(); }; } #endif