![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 1999 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: rwNLengthStringVector.h,v $ $Revision: 1.11 $ $State: Exp $ 00007 *******************************************************************************/ 00008 #ifndef rwNLengthStringVector_H_ 00009 #define rwNLengthStringVector_H_ 00010 00011 00014 00016 00017 #include <vlutil/vlMachineTypes.h> 00018 #include "vrfutil/rdrWritr.h" 00019 #include <vlutil/vlConfig.h> 00020 #include <vector> 00021 #include <list> 00022 #include "vrfutil/vrfutilDefines.h" 00023 00024 class DtReaderWriterRegistry; 00025 00031 class DT_DLL_vrfutil DtRwNLengthStringVector : public DtReaderWriter 00032 { 00033 public: 00034 00035 DtRwNLengthStringVector(const DtString& name, DtReaderWriterRegistry* 00036 parentRegistry = 0); 00037 DtRwNLengthStringVector(const std::vector<DtString>& strings, DtReaderWriterRegistry* 00038 parentRegistry = 0); 00039 DtRwNLengthStringVector(const std::list<DtString>& strings, DtReaderWriterRegistry* 00040 parentRegistry = 0); 00041 DtRwNLengthStringVector(const DtSymbolString& name, DtReaderWriterRegistry* 00042 parentRegistry = 0); 00043 00044 DtRwNLengthStringVector(const DtRwNLengthStringVector& orig, 00045 DtReaderWriterRegistry* parentRegistry = 0); 00046 00047 const DtRwNLengthStringVector& operator=(const DtRwNLengthStringVector& orig); 00048 00052 virtual bool operator==(const DtRwNLengthStringVector& orig) const; 00053 virtual bool operator!=(const DtRwNLengthStringVector& orig) const; 00054 00055 virtual ~DtRwNLengthStringVector(); 00056 00057 virtual DtRwNLengthStringVector* clone(DtReaderWriterRegistry* 00058 parentRegistry = 0) const; 00059 00065 virtual bool compare(const DtRwNLengthStringVector& orig, 00066 bool bCaseSensitive = true) const; 00067 00070 virtual void setSize(unsigned int length); 00072 virtual unsigned int size() const; 00073 00077 00078 virtual DtString& operator[] (unsigned int index); 00079 virtual const DtString& operator[] (unsigned int index) const; 00080 virtual DtString at(unsigned int index) const; 00082 00085 virtual int indexOfValue(const DtString& value) const; 00086 00088 virtual bool containsValue(const DtString& value) const; 00089 00090 virtual void putData(FILE* fp, int indentLevel = 0); 00091 virtual DtlObjPtr getData(DtlObjPtr args, const DtFilename& searchPath, 00092 const DtVariableBindingsList& variableBindings); 00093 00097 virtual const char* readerWriterType() const; 00098 00100 virtual void add(const DtString&); 00101 00103 virtual void remove(int iIndex); 00104 00105 const std::vector<DtString>& strings() const; 00106 00107 void clear(); 00108 00109 protected: 00110 std::vector<DtString> myStrings; 00111 }; 00112 00113 inline const std::vector<DtString>& DtRwNLengthStringVector::strings() const 00114 { 00115 return myStrings; 00116 } 00117 00118 inline void DtRwNLengthStringVector::clear() 00119 { 00120 myStrings.clear(); 00121 } 00122 00123 #endif