MAK RTIspy API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
retractList.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2001 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: retractList.h,v $ $Revision: 1.17 $ $State: Exp $
7 *********************************************************************/
8 
11 
12 #ifndef DtRetractInfoList_H_
13 #define DtRetractInfoList_H_
14 
15 #include <rtiMsConfig.h>
16 #include <internalTypes.h>
17 #include <sortedList.h>
18 #include <rtiApiTypes.h>
19 
20 #include <vlutil/vlHashlist.h>
21 
22 #include <memory>
23 #include <set>
24 
25 
27 
28 class DtRtiMsg;
30 
34 {
35 public:
36 
38  DtRetractInfo(unsigned long value, DtRtiApiUniquePtr<DtRtiApiTime> timePtr);
39 
41  virtual ~DtRetractInfo();
42 
44  virtual void setTime(DtRtiApiTime const & timeVal);
45  virtual DtRtiApiTime const & time() const;
46 
48  unsigned long serialNumber();
49  void setSerialNumber(unsigned long value);
50 
51 protected:
52  explicit DtRetractInfo();
53 
54 protected:
55  DtRtiApiUniquePtr<DtRtiApiTime> myTime;
56  unsigned long mySerialNumber;
57 };
58 
59 inline DtRtiApiTime const & DtRetractInfo::time() const {return *myTime;}
60 inline void DtRetractInfo::setTime(DtRtiApiTime const & timeVal) {*myTime = timeVal;}
61 inline unsigned long DtRetractInfo::serialNumber() {return mySerialNumber;}
62 inline void DtRetractInfo::setSerialNumber(unsigned long value) {mySerialNumber = value;}
63 
64 // TODO consider optimizing by using set instead of constructor for static initialization (or reuse)
66 {
67 public:
68 
70  DtRetractInfoTester(DtRtiApiTime* timePtr) : DtRetractInfo(0, DtRtiApiUniquePtrTime(nullptr)) , myPtr(timePtr) {}
71 
73  virtual DtRtiApiTime const & time() const { return *(DtRtiApiTime*)myPtr; }
74 
76 };
77 
79 {
80  bool operator() (DtRetractInfo* arg1, DtRetractInfo* arg2) const { return arg1->time() < arg2->time(); }
81 };
82 
84 {
85  explicit DtSerialNumberFinder(unsigned long i) : n(i) { }
86  inline bool operator()(DtRetractInfo* m) const { return m->serialNumber() == n; }
87 private:
88  unsigned long n;
89 };
90 typedef std::multiset<DtRetractInfo*, DtRetractionInfoComparator> DtRetractionInfoListType;
92 {
93 
94 public:
95  DtRetractInfoList(DtLogicalTimeFactory* logicalTimeFactory);
96 
97  virtual ~DtRetractInfoList();
98 
100  virtual DtRetractInfo* add(DtRetractInfo* info);
101 
103  virtual DtRetractInfo* add(const DtRtiMsg& msg);
104 
106  virtual void deleteAll(DtRtiApiTime const & time);
107 
109  virtual DtRetractInfo* removeByNumber(unsigned long serialNumber);
110 
112  virtual void deleteByNumber(unsigned long serialNumber);
113 
115  virtual DtRetractInfo* lookupByNumber(unsigned long serialNumber);
116 
120  virtual DtRetractInfo* firstRetractItem() const;
121  virtual DtRetractInfo* lastRetractItem() const;
122 
126  virtual DtRetractInfo* minRetraction(DtRtiApiTime const & lower, DtRtiApiTime const & upper,
127  bool includeLower, bool includeUpper) const;
128 
129 protected:
131  virtual DtRetractInfo* lookupItem(unsigned long serialNumber);
132 
135  DtRetractInfoList& operator=(DtRetractInfoList const& orig);
136 protected:
138 };
139 
141 {
142  return *begin();
143 }
144 
146 {
147  return *rbegin();
148 }
149 
150 #endif
virtual DtRetractInfo * lastRetractItem() const
Definition: retractList.h:145
bool operator()(DtRetractInfo *m) const
Definition: retractList.h:86
virtual void setTime(DtRtiApiTime const &timeVal)
Set/Get time.
Definition: retractList.h:60
unsigned long serialNumber()
Set/Get serial number.
Definition: retractList.h:61
Definition: fedTimeFactory.h:73
Definition: retractList.h:65
DtSerialNumberFinder(unsigned long i)
Definition: retractList.h:85
Definition: retractList.h:78
DtLogicalTimeFactory * myLogicalTimeFactory
Definition: retractList.h:137
DtRtiApiUniquePtr< DtRtiApiTime > myTime
Definition: retractList.h:55
RTI_API::LogicalTime DtRtiApiTime
Typedefs for RTI API types that frequently require conditional precompile directives.
Definition: rtiApiTypes.h:91
Event Retraction entry.
Definition: retractList.h:33
unsigned long n
Definition: retractList.h:88
DtRetractInfoTester(DtRtiApiTime *timePtr)
Constructor.
Definition: retractList.h:70
DtRtiMsg is the base class for messages between RTI components.
Definition: rtiMsg.h:34
unsigned long mySerialNumber
Definition: retractList.h:56
DtRtiApiUniquePtr< DtRtiApiTime > DtRtiApiUniquePtrTime
Definition: rtiApiTypes.h:96
bool operator()(DtRetractInfo *arg1, DtRetractInfo *arg2) const
Definition: retractList.h:80
virtual DtRetractInfo * firstRetractItem() const
Return first and last item on the list.
Definition: retractList.h:140
virtual DtRtiApiTime const & time() const
Get time.
Definition: retractList.h:73
Definition: retractList.h:83
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
void setSerialNumber(unsigned long value)
Definition: retractList.h:62
The declaration of internal types.
virtual DtRtiApiTime const & time() const
Definition: retractList.h:59
Definition: retractList.h:91
std::multiset< DtRetractInfo *, DtRetractionInfoComparator > DtRetractionInfoListType
Definition: retractList.h:90
DtRtiApiTime * myPtr
Definition: retractList.h:75

Document ID: Generated on Sun Jul 20 16:15:30 EDT 2025 from SVN revision 277985
Copyright © 2005-2025 MAK Technologies Inc. All Rights Reserved (www.mak.com)