Go to the documentation of this file.00001
00002
00003
00004
00007 #pragma once
00008
00009 #include "omtNode.h"
00010
00011 #include <vlutil/vlString.h>
00012
00013 #include <list>
00014 #include <iterator>
00015
00016 class DT_DLL_OMTREADER DtEnumerationNode;
00017
00018
00019
00020 class DT_DLL_OMTREADER DtEnumeratedDatatypeNode : public DtOMTNode
00021 {
00022 public:
00023 static int defaultEnumerationSize;
00024
00026 DtEnumeratedDatatypeNode();
00027
00029 virtual ~DtEnumeratedDatatypeNode();
00030
00032 DtEnumeratedDatatypeNode(const DtEnumeratedDatatypeNode& orig);
00033
00035 DtEnumeratedDatatypeNode& operator=(const DtEnumeratedDatatypeNode& rhs);
00036
00037 virtual void setDescription(const DtString&);
00038 virtual const DtString& getDescription() const;
00039
00040 virtual void setRepresentation(const DtString&);
00041 virtual const DtString& getRepresentation() const;
00042
00043 virtual void addEnumerationNode(DtEnumerationNode*);
00044
00045 virtual DtEnumerationNode* getEnumerationNode(const DtString& name);
00046 virtual DtEnumerationNode* getEnumerationNode(int value);
00047 virtual std::list<DtEnumerationNode*>::iterator getEnumerationNodeList();
00048 virtual std::list<DtEnumerationNode*>::iterator getEnumerationNodeEnd();
00049
00052 virtual int getExpectedEnumerationSize() const;
00053
00054
00055 protected:
00056 DtString myDescription;
00057 DtString myRepresentation;
00058 std::list<DtEnumerationNode*> myEnumerationNodes;
00059 };
00060
00061