MAK RTIspy API Documentation for HLA 4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
HLAinteger64Interval.h
Go to the documentation of this file.
1 #pragma once
2 /***********************************************************************
3  The IEEE hereby grants a general, royalty-free license to copy, distribute,
4  display and make derivative works from this material, for all purposes,
5  provided that any use of the material contains the following
6  attribution: "Reprinted with permission from IEEE 1516.1(TM)-2025".
7  Should you require additional information, contact the Manager, Standards
8  Intellectual Property, IEEE Standards Association (stds-ipr@ieee.org).
9 ***********************************************************************/
10 
13 
14 // Defines interface for HLAinteger64Time which presents an integer-based
15 // interval representation in the range 0 - 2^63-1. The encoded representation
16 // is HLAinteger64BE (signed, 64-bit, big-endian).
17 
18 namespace rti1516_2025
19 {
20  class HLAinteger64IntervalImpl;
21 
23  {
24  public:
25 
26  // Constructors
28 
30  HLAinteger64Interval const & rhs);
31 
34 
36  Integer64);
37 
38  // Destructor
40  noexcept override;
41 
42  // Basic accessors/mutators
43 
44  void setZero () override;
45 
46  bool isZero () const override;
47 
48  void setEpsilon () override;
49 
50  bool isEpsilon () const override;
51 
52  // Operators
53 
56  rti1516_2025::LogicalTimeInterval const & value) override;
57 
60  rti1516_2025::LogicalTimeInterval const & addend) override;
61 
64  rti1516_2025::LogicalTimeInterval const & subtrahend) override;
65 
67  bool operator> (
68  rti1516_2025::LogicalTimeInterval const & value) const override;
69 
71  bool operator< (
72  rti1516_2025::LogicalTimeInterval const & value) const override;
73 
75  bool operator== (
76  rti1516_2025::LogicalTimeInterval const & value) const override;
77 
79  bool operator>= (
80  rti1516_2025::LogicalTimeInterval const & value) const override;
81 
83  bool operator<= (
84  rti1516_2025::LogicalTimeInterval const & value) const override;
85 
86  // Set self to the difference between two LogicalTimes
89  void setToDifference (
90  rti1516_2025::LogicalTime const & minuend,
91  rti1516_2025::LogicalTime const& subtrahend) override;
92 
93  // Generates an encoded value that can be used to send
94  // LogicalTimeIntervals to other federates in updates or interactions
96  rti1516_2025::VariableLengthData encode () const override;
97 
98  // Alternate encode for directly filling a buffer
99  // Return the length of encoded data
101  size_t encode (
102  void* buffer,
103  size_t bufferSize) const override;
104 
105  // The length of the encoded data
106  size_t encodedLength () const override;
107 
108  // Decode encodedValue into self
111  void decode (
112  rti1516_2025::VariableLengthData const & encodedValue) override;
113 
114  // Decode encodedValue into self
115  // Alternate decode that reads directly from a buffer
118  void decode (
119  const void* buffer,
120  size_t bufferSize) override;
121 
122  // Diagnostic string representation of time
123  std::wstring toString () const override;
124 
125  // Return the name of the Implementation, as needed by
126  // createFederationExecution.
127  std::wstring implementationName () const override;
128 
129  public:
130 
131  //-----------------------------------------------------------------
132  // Implementation functions
133  //-----------------------------------------------------------------
134 
135  virtual Integer64 getInterval () const;
136 
137  virtual void setInterval (
138  Integer64 value);
139 
140  //-----------------------------------------------------------------
141  // Implementation operators
142  //-----------------------------------------------------------------
143  virtual HLAinteger64Interval& operator= (
144  const HLAinteger64Interval& value);
145 
146  operator Integer64 () const;
147 
148  private:
149 
150  //-----------------------------------------------------------------
151  // Pointer to internal Implementation
152  //-----------------------------------------------------------------
153  HLAinteger64IntervalImpl* _impl;
154  };
155 }
156 
157 
158 
Definition: LogicalTime.h:30
#define RTI_EXPORT
Definition: SpecificConfig.h:45
std::string toString(const std::wstring &inString)
Definition: objParams13.h:16
long long Integer64
Definition: EncodingConfig.h:41
Definition: VariableLengthData.h:28
Definition: LogicalTimeInterval.h:30
HLAinteger64IntervalImpl * _impl
Definition: HLAinteger64Interval.h:153
Definition: HLAinteger64Interval.h:22

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)