MAK RTIspy API Documentation for HLA 4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
HLAlogicalTimeInterval.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 #include <RTI/SpecificConfig.h>
14 
15 namespace rti1516_2025
16 {
17  // Forward Declarations
18  class LogicalTimeInterval;
19  class VariableLengthData;
20  class HLAlogicalTimeIntervalImplementation;
21  class RTIambassador;
22 
23  // Interface for the HLAlogicalTimeInterval complex data element
25  {
26  public:
27  // Constructor.
28  explicit HLAlogicalTimeInterval(
29  const RTIambassador* ambassador);
30 
31  // Constructor which accepts initial value
32  explicit HLAlogicalTimeInterval(
33  const RTIambassador* ambassador,
34  const LogicalTimeInterval& logicalTimeInterval);
35 
36  // Copy Constructor
37  // Copied elements use internal memory
39  HLAlogicalTimeInterval const & rhs);
40 
41  // Destructor
42  ~HLAlogicalTimeInterval() override;
43 
44  // Return a new copy of the array
45  std::unique_ptr<DataElement> clone() const override;
46 
47  // Encode this element into a new VariableLengthData
48  VariableLengthData encode() const override;
49 
50  // Encode this element into an existing VariableLengthData
51  void encode(
52  VariableLengthData& inData) const override;
53 
54  // Encode this element and append it to a buffer
55  void encodeInto(
56  std::vector<Octet>& buffer) const override;
57 
58  // Decode this element from the RTI's VariableLengthData.
59  HLAlogicalTimeInterval& decode(
60  VariableLengthData const & inData) override;
61 
62  // Decode this element starting at the index in the provided buffer
63  size_t decodeFrom(
64  std::vector<Octet> const & buffer,
65  size_t index) override;
66 
67  // Return the size in bytes of this element's encoding.
68  size_t getEncodedLength() const override;
69 
70  // Return the octet boundary of this element.
71  unsigned int getOctetBoundary() const override;
72 
73  // Return true if given element is same type as this; otherwise, false.
74  bool isSameTypeAs(
75  DataElement const& inData) const override;
76 
77  // Sets the value to be encoded
78  virtual HLAlogicalTimeInterval& set(const LogicalTimeInterval& value);
79 
80  // Gets the value from encoded data
81  virtual void get(LogicalTimeInterval& interval);
82 
83  // Default Constructor not allowed
84  HLAlogicalTimeInterval() = delete;
85 
86  // Assignment Operator not allowed
87  HLAlogicalTimeInterval& operator=(
88  HLAlogicalTimeInterval const & rhs) = delete;
89 
90  protected:
91 
92  HLAlogicalTimeIntervalImplementation* _impl;
93  };
94 }
95 
96 
97 
#define RTI_EXPORT
Definition: SpecificConfig.h:45
Definition: RTIambassador.h:33
Definition: DataElement.h:23
Definition: HLAlogicalTimeInterval.h:24
This file contains definitions that are used to isolate platform-specific elements of the API...
Definition: VariableLengthData.h:28
Definition: LogicalTimeInterval.h:30
HLAlogicalTimeIntervalImplementation * _impl
Definition: HLAlogicalTimeInterval.h:92

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)