VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
soilList.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MaK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
14 
15 #pragma once
16 
17 #include <vlutil/vlHashlist.h>
18 #include <readerWriter/rwList.h>
19 #include "vrfutil/soilFactors.h"
20 
22 class DtString;
23 class DtSoilFactors;
24 
30 
31 #include "vrfutil/vrfutilDefines.h"
33 {
34 
35 public:
36 
38  {
39  SoilFactorsAdder(DtRwList* list) : myList()
40  {
41  myList = static_cast<DtSoilList*>(list);
42  }
43 
44  void operator()(DtReaderWriter* rwObject)
45  {
46  DtSoilFactors* factors = static_cast<DtSoilFactors*>(rwObject);
47  myList->addSoilFactors(*factors);
48  }
50  };
51 
53  DtSoilList();
54 
56  DtSoilList(const DtString& name, DtReaderWriterRegistry* parentRegistry = NULL);
57  DtSoilList(const DtSymbolString& name, DtReaderWriterRegistry* parentRegistry = NULL);
58 
60  virtual ~DtSoilList();
61 
63  DtSoilList(const DtString& name, const DtSoilList& orig,
64  DtReaderWriterRegistry* parentRegistry = NULL);
65 
66  DtSoilList(const DtSymbolString& name, const DtSoilList& orig,
67  DtReaderWriterRegistry* parentRegistry = NULL);
68 
70  DtSoilList& operator=(const DtSoilList& orig);
71 
72  virtual DtSoilList* clone(const DtString& name, DtReaderWriterRegistry* parentRegistry = NULL);
73  virtual DtSoilList* clone(const DtSymbolString& name, DtReaderWriterRegistry* parentRegistry = NULL);
74 
75  virtual DtSoilFactors* lookupSoilFactors(const DtString& soilType);
76  virtual DtSoilFactors* lookupSoilFactors(const DtSymbolString& soilType);
77 
78  virtual const DtSoilFactors* lookupSoilFactors(const DtString& soilType) const;
79  virtual const DtSoilFactors* lookupSoilFactors(const DtSymbolString& soilType) const;
80 
81  virtual DtSoilFactors* addSoilFactors(const DtSoilFactors& factors);
82 
83  virtual void removeSoilFactors(const DtString& soilType);
84  virtual void removeSoilFactors(const DtSymbolString& soilType);
85 
86  virtual void copyList(const DtSoilList& orig);
87  bool operator==(const DtSoilList&) const;
88 
90  virtual void getData(const DtEnvironmentSP, const DtEnvValueSP value,
93 
95  static const char* theXmlType();
96 
97  virtual const char* xmlType() const
98  {
99  return theXmlType();
100  }
101 
103  virtual std::set<DtString> supportedXmlTypes() const;
105 
106 protected:
107 
110  virtual void emptyList();
111  virtual DtSoilFactors* addSoilFactors(DtSoilFactors* factors);
112  virtual void removeSoilFactors(DtSoilFactors* factors);
113 
116  virtual DtlObjPtr getData(DtlObjPtr args, const DtReaderWriter::SearchPaths& searchPaths,
117  const DtVariableBindingsList& variableBindings);
118 
119  virtual DtListItem* lookupSoilFactorsItem(const DtString& soilType);
120  virtual DtListItem* lookupSoilFactorsItem(const DtSymbolString& soilType);
121 
125  virtual const char* readerWriterType() const;
126 
127 protected:
128 
129  DtHashlist myHashIndex;
130 
131 };
This class allows one to collect and compare strings using an index number instead of having to do st...
Definition: symbolString.h:27
virtual const char * xmlType() const
Returns the list of xml types supported by this list. Default is DtXMLSoilFactorsType.
Definition: soilList.h:97
void operator()(DtReaderWriter *rwObject)
Definition: soilList.h:44
A Readable, Writable version of DtList. This class cannot be used directly, but must be inherited to ...
Definition: rwList.h:26
virtual std::set< DtString > supportedXmlTypes() const
Returns the list of xml types supported by this list. Default is all.
virtual DtlObjPtr getData(DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings)=0
This method must be overridden by a subclass. Within this method, new instances of the DtReaderWriter...
static const char * theXmlType()
The type that is used when archiving to an XML stream.
Definition: readerWriter.h:85
Definition: readerWriterRegistry.h:39
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
bool operator==(const DtRwList &rhs) const
Iterates over all items and calls the factory to compare.
DtHashlist myHashIndex
Definition: soilList.h:129
class DtSoilList:
Definition: soilList.h:32
class DtSoilFactors:
Definition: soilFactors.h:31
DtSoilList * myList
Definition: soilList.h:49
const DtRwList & operator=(const DtRwList &orig)
Calls down to DtReaderWriter::operator=(). List elements are not copied.
#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
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...
SoilFactorsAdder(DtRwList *list)
Definition: soilList.h:39
DT_DLL_readerWriter std::shared_ptr< DtEnvironment > DtEnvironmentSP
Definition: readerWriter.h:30
Definition: soilList.h:37

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)