MAK Data Logger API Documentation for HLA
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties 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>
16 {
17 public:
18 
20  { DtUndefined = 0,
28  DtArraySize,
31  DtVariableEncoded
32  };
33 
36 
39 
42 
44  virtual ~DtArrayDatatypeNode();
45 
46  virtual void setCardinality(const DtString&);
47  virtual const DtString& getCardinality() const;
48 
49  virtual void setEncoding(const DtString&);
50  virtual const DtString& getEncoding() const;
51 
52  virtual void setDescription(const DtString&);
53  virtual const DtString& getDescription() const;
54 
57  virtual DtCardinalityType getCardinalityType() const;
58  virtual int getCardinalityMinimum() const;
59  virtual int getCardinalityMaximum() const;
60  virtual const std::vector<int>& getMultiDimCardinality() const;
61 
62 
63 protected:
64 
66  virtual void setDerivedValues() const;
67 
69  virtual int extractInteger(const DtString& textWithNumbers) const;
70 
71 protected:
75 
76  // Values derived from cardinality and encoding but not computed until accessed
78  mutable int myCardinalityMinimum;
79  mutable int myCardinalityMaximum;
80  mutable std::vector<int> myCardinalityDims;
81  mutable bool myDirty;
82 };
83 
84 
85 
86 
Definition: arrayDatatypeNode.h:21
DtString myDescription
Definition: arrayDatatypeNode.h:74
int myCardinalityMaximum
Definition: arrayDatatypeNode.h:79
Fixed sized. This never varies.
Definition: arrayDatatypeNode.h:22
#define DT_DLL_OMTREADER
Definition: omtReader.h:23
DtCardinalityType myCardinalityType
Definition: arrayDatatypeNode.h:77
Size is either min or max depending on the conditional being true.
Definition: arrayDatatypeNode.h:24
Keeps reading until it finds a null byte. Or until the byte stream ends.
Definition: arrayDatatypeNode.h:25
Attempt to decode array members until out of memory.
Definition: arrayDatatypeNode.h:30
int myCardinalityMinimum
Definition: arrayDatatypeNode.h:78
DtString myEncoding
Definition: arrayDatatypeNode.h:73
DtString myCardinality
Definition: arrayDatatypeNode.h:72
represents a node in an OMT tree containing a datatype description.
Definition: omtDatatypeNode.h:14
bool myDirty
Definition: arrayDatatypeNode.h:81
DtCardinalityType
Definition: arrayDatatypeNode.h:19
Definition: arrayDatatypeNode.h:15
DtOMTDatatypeNode & operator=(const DtOMTDatatypeNode &rhs)
Assignment Operator.
Line up the end to a particular bit.
Definition: arrayDatatypeNode.h:26
std::vector< int > myCardinalityDims
Definition: arrayDatatypeNode.h:80
The conditional determines the number in cardinality.
Definition: arrayDatatypeNode.h:27
Ranged sized. This keeps checking until the range max or until byte stream ends.
Definition: arrayDatatypeNode.h:23

Document ID: Generated on Mon Mar 22 15:30:17 EDT 2021 from SVN revision 226440
Copyright © 2021 MAK Technologies. All Rights Reserved (www.mak.com)