VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
rwNLengthStringVector.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MaK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
10 
12 
13 #include <vlutil/vlMachineTypes.h>
15 #include <vlutil/vlConfig.h>
16 #include <vector>
17 #include <list>
18 #include <set>
19 #include "vrfutil/vrfutilDefines.h"
20 
22 
29 {
30 public:
31 
33  parentRegistry = 0);
34  DtRwNLengthStringVector(const std::vector<DtString>& strings, DtReaderWriterRegistry*
35  parentRegistry = 0);
36  DtRwNLengthStringVector(const std::vector<std::string>& strings, DtReaderWriterRegistry*
37  parentRegistry = 0);
38  DtRwNLengthStringVector(const std::list<DtString>& strings, DtReaderWriterRegistry*
39  parentRegistry = 0);
41  parentRegistry = 0);
42 
44  DtReaderWriterRegistry* parentRegistry = 0);
45 
47 
51  virtual bool operator==(const DtRwNLengthStringVector& orig) const;
52  virtual bool operator!=(const DtRwNLengthStringVector& orig) const;
53 
54  virtual ~DtRwNLengthStringVector();
55 
57  parentRegistry = 0) const;
58 
64  virtual bool compare(const DtRwNLengthStringVector& orig,
65  bool bCaseSensitive = true) const;
66 
69  virtual void setSize(unsigned int length);
71  virtual unsigned int size() const;
72 
76 
77  virtual DtString& operator[] (unsigned int index);
78  virtual const DtString& operator[] (unsigned int index) const;
79  virtual DtString at(unsigned int index) const;
81 
84  virtual int indexOfValue(const DtString& value) const;
85 
87  virtual bool containsValue(const DtString& value) const;
88 
89  virtual void putData(std::string& fp, int indentLevel = 0);
90  virtual DtlObjPtr getData(DtlObjPtr args, const DtReaderWriter::SearchPaths& searchPaths,
91  const DtVariableBindingsList& variableBindings);
92 
96  virtual const char* readerWriterType() const;
97 
99  virtual void add(const DtString&);
100 
102  virtual void remove(int iIndex);
103 
106  virtual void remove(const DtString&);
107 
108  const std::vector<DtString>& strings() const;
109 
110  std::set<std::string> asStdSet() const;
111  virtual void setFrom(const std::set<std::string>&);
112  virtual void setFrom(const std::set<DtString>&);
113 
116  virtual void putData(DtEnvironmentSP, DtEnvValueSP parent) const;
117  virtual void getData(const DtEnvironmentSP, const DtEnvValueSP value,
119  const DtVariableBindingsList& bindings = DtVariableBindingsList());
120  virtual void getSelf(DtlObjPtr args,
121  const DtReaderWriter::SearchPaths& searchPaths = SearchPaths(),
122  const DtVariableBindingsList& variableBindings = nullVariableReference());
123  virtual void getSelf(const DtEnvironmentSP, const DtEnvValueSP root,
124  const SearchPaths& searchPaths = SearchPaths(),
125  const DtVariableBindingsList& bindings = DtVariableBindingsList());
126 
128  static const char* theXmlType();
129 
130  virtual const char* xmlType() const
131  {
132  return theXmlType();
133  }
134  virtual void stringToStringList(const DtString& string);
135  virtual DtString stringListToString() const;
136 
138 
139  void clear();
140 
142  virtual DtString prettyPrint() const;
143 
144 protected:
145  std::vector<DtString> myStrings;
146  std::set<std::string> mySetStrings;
147 };
148 
149 inline const std::vector<DtString>& DtRwNLengthStringVector::strings() const
150 {
151  return myStrings;
152 }
153 
155 {
156  myStrings.clear();
157  mySetStrings.clear();
158 }
bool operator==(const DtReaderWriter &) const
Equivalence operator.
virtual const char * xmlType() const
Routines to archive/dearchive from an XML Environment.
Definition: rwNLengthStringVector.h:130
virtual const char * readerWriterType() const
Used to supply a string type that this reader writer type is. This can be used in place of dynamic-ca...
Definition: symbolString.h:20
DtRwNLengthStringVector is a named, readable/writable vector of strings of arbitrary length...
Definition: rwNLengthStringVector.h:28
DT_DLL_readerWriter DtBoost::shared_ptr< DtEnvironment > DtEnvironmentSP
Definition: readerWriter.h:30
voidpf void uLong size
Definition: ioapi.h:39
virtual DtlObjPtr getData(DtlObjPtr args, const SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings)
Deriving class overrides these to get/put class specific data.
Definition: readerWriter.h:85
Definition: readerWriterRegistry.h:39
virtual DtString prettyPrint() const
Routine to return a human readable form of the reader/writer variable. Not all reader/writer classes ...
std::vector< DtString > myStrings
Definition: rwNLengthStringVector.h:145
void clear()
Definition: rwNLengthStringVector.h:154
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference())
Top level to read itself from an input stream. searchPath is passed down to all DtReaderWriter member...
static const DtVariableBindingsList & nullVariableReference()
virtual void putData(std::string &fp, int indentLevel=0)
Deriving class overrides these to get/put class specific data.
#define DT_DLL_vrfutil
This file is used to determine how to build Disable inconsistent dll linkage warning Visual Studio 6...
Definition: vrfutilDefines.h:34
std::set< std::string > mySetStrings
Definition: rwNLengthStringVector.h:146
const DtReaderWriter & operator=(const DtReaderWriter &orig)
assignment operator
static const char * theXmlType()
The type that is used when archiving to an XML stream.
bool operator!=(const DtReaderWriter &rhs)
Definition: readerWriter.h:121
const std::vector< DtString > & strings() const
Definition: rwNLengthStringVector.h:149

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)