VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
arrayDatatypeNode.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *******************************************************************************/
7 #pragma once
8 
9 
10 
12 
13 #include <vlutil/vlString.h>
14 #include <vector>
15 #ifdef DtUSE_UTILITIES_NAMESPACE
16 namespace DtUSE_UTILITIES_NAMESPACE
17 {
18 #endif
20 {
21 public:
22 
24  { DtUndefined = 0,
32  DtArraySize,
35  DtVariableEncoded
36  };
37 
40 
43 
45  DtArrayDatatypeNode& operator=(const DtArrayDatatypeNode& rhs);
46 
48  virtual ~DtArrayDatatypeNode();
49 
50  virtual void setCardinality(const DtString&);
51  virtual const DtString& getCardinality() const;
52 
53  virtual void setEncoding(const DtString&);
54  virtual const DtString& getEncoding() const;
55 
56  virtual void setDescription(const DtString&);
57  virtual const DtString& getDescription() const;
58 
61  virtual DtCardinalityType getCardinalityType() const;
62  virtual int getCardinalityMinimum() const;
63  virtual int getCardinalityMaximum() const;
64  virtual const std::vector<int>& getMultiDimCardinality() const;
65 
66 
67 protected:
68 
70  virtual void setDerivedValues() const;
71 
73  virtual int extractInteger(const DtString& textWithNumbers) const;
74 
75 protected:
79 
80  // Values derived from cardinality and encoding but not computed until accessed
82  mutable int myCardinalityMinimum;
83  mutable int myCardinalityMaximum;
84  mutable std::vector<int> myCardinalityDims;
85  mutable bool myDirty;
86 };
87 
88 
89 #ifdef DtUSE_UTILITIES_NAMESPACE
90 } // end of namespace DtUSE_UTILITIES_NAMESPACE
91 #endif
Definition: arrayDatatypeNode.h:25
Contains the DtString class declaration.
DtString myDescription
Definition: arrayDatatypeNode.h:78
int myCardinalityMaximum
Definition: arrayDatatypeNode.h:83
Fixed sized. This never varies.
Definition: arrayDatatypeNode.h:26
#define DT_DLL_OMTREADER
Definition: omtReader.h:27
DtCardinalityType myCardinalityType
Definition: arrayDatatypeNode.h:81
Size is either min or max depending on the conditional being true.
Definition: arrayDatatypeNode.h:28
Keeps reading until it finds a null byte. Or until the byte stream ends.
Definition: arrayDatatypeNode.h:29
Attempt to decode array members until out of memory.
Definition: arrayDatatypeNode.h:34
int myCardinalityMinimum
Definition: arrayDatatypeNode.h:82
DtString myEncoding
Definition: arrayDatatypeNode.h:77
DtString myCardinality
Definition: arrayDatatypeNode.h:76
represents a node in an OMT tree containing a datatype description.
Definition: omtDatatypeNode.h:18
bool myDirty
Definition: arrayDatatypeNode.h:85
DtCardinalityType
Definition: arrayDatatypeNode.h:23
Definition: arrayDatatypeNode.h:19
Instances of DtString are used to represent strings.
Definition: vlString.h:29
Line up the end to a particular bit.
Definition: arrayDatatypeNode.h:30
std::vector< int > myCardinalityDims
Definition: arrayDatatypeNode.h:84
The conditional determines the number in cardinality.
Definition: arrayDatatypeNode.h:31
Ranged sized. This keeps checking until the range max or until byte stream ends.
Definition: arrayDatatypeNode.h:27

Document ID: Generated on Tue Aug 10 00:12:31 EDT 2021 from SVN revision 232765
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)