MAK RTIspy API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
aHandValSet.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1998 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: aHandValSet.h,v $ $Revision: 1.17 $ $State: Exp $
7 *********************************************************************/
8 
11 
12 #pragma once
13 
14 #include "aHandValBase.h"
15 
16 #if defined(DtIFSPEC13)
17 
18 #define DtHvps DtAhvps
19 #define DtAhvpBase DtAhvps
20 #define HandleValuePairSet AttributeHandleValuePairSet
21 #define DtDEFINING_AHVPS 1
22 
23 #include "handleValSet.h"
24 
25 #undef DtHvps
26 #undef HandleValuePairSet
27 #undef DtDEFINING_AHVPS
28 
29 #else
30 
31 class DtObjectClassInfo;
32 
34 {
35 public:
36 
38  DtAhvps(RTI_API::AttributeHandleValueMap* ahvpm_i);
39 
41  virtual ~DtAhvps();
42 
43  virtual MAKRti::DtU32 size() const;
44 
45  virtual DtHandle getHandle(MAKRti::DtU32 i) const;
46 
47  virtual MAKRti::DtU32 getValueLength(MAKRti::DtU32 i) const;
48 
49  virtual void getValue(MAKRti::DtU32 i, char *buff,
50  MAKRti::DtU32& valueLength) const;
51 
52  virtual char *getValuePointer(MAKRti::DtU32 i,
53  MAKRti::DtU32& valueLength) const;
54 
55  virtual void print(DtObjectClassInfo* fomClass) const;
56 
57  virtual void add(DtAttributeHandle h, const char *buff,
58  MAKRti::DtU32 valueLength);
59 
60  virtual void addPointer(DtAttributeHandle h, void const* buff,
61  MAKRti::DtU32 valueLength);
62 
63  virtual void remove(DtAttributeHandle h);
64 
65  virtual void moveFrom(DtAhvps& ahvp, MAKRti::DtU32 &i);
66 
67  virtual void empty();
68 
69  virtual MAKRti::DtU32 start() const;
70  virtual MAKRti::DtU32 valid(MAKRti::DtU32 i) const;
71  virtual MAKRti::DtU32 next(MAKRti::DtU32 i) const;
72 
73  virtual RTI_API::AttributeHandleValueMap::const_iterator getConstIterator(MAKRti::DtU32 i) const;
74  virtual RTI_API::AttributeHandleValueMap::iterator getIterator(MAKRti::DtU32 i);
75 
76  virtual void print() const;
77 
78  virtual RTI_API::AttributeHandleValueMap* getImplementation() const;
79 
80 private:
82  DtAhvps();
83 
85  void buildAhvpCache() const;
86 
88  void invalidateAhvpCache() const;
89 
91  bool testInvariant() const;
92 
93 protected:
94  typedef std::vector<RTI_API::AttributeHandleValueMap::iterator> DtAhvpmIteratorList;
95 
96  RTI_API::AttributeHandleValueMap* myAhvpMap;
97 
102 };
103 
104 #endif
105 
virtual char * getValuePointer(MAKRti::DtU32 i, MAKRti::DtU32 &valueLength) const =0
Definition: aHandValBase.h:21
bool myAhvpByIndexCacheIsInvalid
Definition: aHandValSet.h:101
virtual MAKRti::DtU32 size() const =0
std::vector< RTI_API::AttributeHandleValueMap::iterator > DtAhvpmIteratorList
Definition: aHandValSet.h:94
virtual DtHandle getHandle(MAKRti::DtU32 i) const =0
virtual MAKRti::DtU32 getValueLength(MAKRti::DtU32 i) const =0
virtual void getValue(MAKRti::DtU32 i, char *buff, MAKRti::DtU32 &valueLength) const =0
RTI_API::AttributeHandleValueMap * myAhvpMap
Definition: aHandValSet.h:96
unsigned long DtHandle
The internal types.
Definition: internalTypes.h:41
DtHandle DtAttributeHandle
Definition: internalTypes.h:54
Definition: aHandValSet.h:33
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
DtAhvpmIteratorList myAhvpByIndexCache
Cache attribute handle value pairs so that they may be accessed quickly by index instead of by iterat...
Definition: aHandValSet.h:100
Definition: objClassInfo.h:36

Document ID: Generated on Wed Jul 8 16:20:32 EDT 2026 from SVN revision 291616
Copyright © 2005-2025 MAK Technologies Inc. All Rights Reserved (www.mak.com)