ScriptValues.h

Go to the documentation of this file.
00001 #ifndef SCRIPTVALUE_H_
00002 #define SCRIPTVALUE_H_
00003 
00004 #include <vector>
00005 #include <string>
00006 
00007 namespace scripts
00008 {
00009     // value class for a script parameter
00010     class ScriptValue
00011     {
00012         private:
00013 
00014             std::string _id;
00015 
00016             std::size_t _offset;
00017 
00018             int _type;
00019 
00020         public:
00021 
00022             ScriptValue (const std::string& id, const std::size_t offset, int type) :
00023                 _id(id), _offset(offset), _type(type)
00024             {
00025             }
00026 
00027             ScriptValue ()
00028             {
00029             }
00030 
00031             const std::string& getID () const
00032             {
00033                 return _id;
00034             }
00035 
00036             const std::size_t getOffset () const
00037             {
00038                 return _offset;
00039             }
00040 
00041             const int getType () const
00042             {
00043                 return _type;
00044             }
00045     };
00046 
00047     // Container for script parameters
00048     class ScriptValues
00049     {
00050         public:
00051 
00052             typedef std::vector<ScriptValue> ScriptValueVector;
00053 
00054             typedef ScriptValueVector::const_iterator ScriptValueVectorConstIterator;
00055 
00056         private:
00057 
00058             ScriptValueVector _scriptValues;
00059 
00060         public:
00061 
00062             ScriptValues ();
00063 
00064             virtual ~ScriptValues ();
00065 
00066             ScriptValueVector getScriptValues ();
00067 
00068             void addScriptValue (ScriptValue value);
00069 
00070             ScriptValueVectorConstIterator end () const;
00071 
00072             ScriptValueVectorConstIterator begin () const;
00073 
00074             std::size_t size () const;
00075     };
00076 }
00077 
00078 #endif /* SCRIPTVALUE_H_ */

Generated by  doxygen 1.6.2