VR-Vantage 3.1.1 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtSchema.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2008 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
9 #pragma once
10 
13 
14 namespace makArchives
15 {
20  {
21  public:
22  typedef std::vector<DtSchemaEntry> SchemaEntries;
23 
25  DtSchema();
26 
28  DtSchema(const std::string& name);
29 
31  DtSchema(const DtSchema& copy);
32 
34  virtual ~DtSchema();
35 
37  DtSchema& operator=(const DtSchema& copy);
38 
40  const std::string& name() const
41  {
42  return myName;
43  }
44 
46  void setName(const std::string& n)
47  {
48  myName = n;
49  }
50 
52  virtual void addSchemaEntry(const DtSchemaEntry& entry);
53 
56  virtual bool removeSchemaEntry(const std::string& name);
57 
60  {
61  return mySchemaEntries;
62  }
63 
65  void clear()
66  {
67  mySchemaEntries.clear();
68  }
69 
72  {
73  mySchemaEntries = e;
74  }
75 
78  DtSchemaEntry* findSchemaEntry(const std::string& name);
79  const DtSchemaEntry* findSchemaEntry(const std::string& name) const;
80 
84  virtual void merge(const DtSchema& rhs);
85 
87  virtual bool renameSchemaEntry(const std::string& oldName, const std::string& newName);
88 
89  protected:
90 
91  friend class boost::serialization::access;
92 
96 
97  template <typename Archive>
98  void serialize(Archive& ar,unsigned int version)
99  {
100  ar & BOOST_SERIALIZATION_NVP(myName);
101 
102  if (version < 2)
103  {
104  int myType;
105  ar & BOOST_SERIALIZATION_NVP(myType);
106  }
107 
108  ar & BOOST_SERIALIZATION_NVP(mySchemaEntries);
109  }
110 
112  static bool findSchemaEntryFunction(const DtSchemaEntry& parameter, const std::string& name);
113 
114  protected:
115  std::string myName;
117  };
118 };
119 
SchemaEntries mySchemaEntries
Definition: DtSchema.h:116
std::string myName
Definition: DtSchema.h:115
BOOST_CLASS_VERSION(makArchives::DtDiGuySettingsRecord, 3)
void serialize(Archive &ar, unsigned int version)
When the class Archive corresponds to an output archive, the &amp; operator is defined similar to &lt;&lt;...
Definition: DtSchema.h:98
const SchemaEntries & schemaEntries() const
Get the schema entries.
Definition: DtSchema.h:59
Contains DLL export macros.
Collection of DtSchemaEntry objects Used to archive model definition schemas.
Definition: DtSchema.h:19
static const double e
Definition: exprtk.hpp:749
std::vector< DtSchemaEntry > SchemaEntries
Definition: DtSchema.h:22
The makArchives::DtSchemaEntry class is a collection of makArchives::DtSchemaParameter objects...
Definition: DtSchemaEntry.h:20
void clear()
Clear the schema entries.
Definition: DtSchema.h:65
void setSchemaEntries(const SchemaEntries &e)
Set the schema entries.
Definition: DtSchema.h:71
void setName(const std::string &n)
Get the schema&#39;s name.
Definition: DtSchema.h:46
static const char * version
Definition: exprtk.hpp:38885
#define DT_DLL_MAKARCHIVES
Definition: makArchives.h:31
const std::string & name() const
Get the schema&#39;s name.
Definition: DtSchema.h:40


Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)