OpenDDS  Snapshot(2023/04/07-19:43)
Public Member Functions | Public Attributes | Private Member Functions | List of all members
OpenDDS::XTypes::DynamicDataImpl::SequenceValue Struct Reference

Public Member Functions

 SequenceValue (const DDS::Int32Seq &int32_seq)
 
 SequenceValue (const DDS::UInt32Seq &uint32_seq)
 
 SequenceValue (const DDS::Int8Seq &int8_seq)
 
 SequenceValue (const DDS::UInt8Seq &uint8_seq)
 
 SequenceValue (const DDS::Int16Seq &int16_seq)
 
 SequenceValue (const DDS::UInt16Seq &uint16_seq)
 
 SequenceValue (const DDS::Int64Seq &int64_seq)
 
 SequenceValue (const DDS::UInt64Seq &uint64_seq)
 
 SequenceValue (const DDS::Float32Seq &float32_seq)
 
 SequenceValue (const DDS::Float64Seq &float64_seq)
 
 SequenceValue (const DDS::Float128Seq &float128_seq)
 
 SequenceValue (const DDS::CharSeq &char8_seq)
 
 SequenceValue (const DDS::ByteSeq &byte_seq)
 
 SequenceValue (const DDS::BooleanSeq &boolean_seq)
 
 SequenceValue (const DDS::StringSeq &str_seq)
 
 SequenceValue (const SequenceValue &rhs)
 
 ~SequenceValue ()
 
template<typename T >
const T & get () const
 
template<>
const DDS::Int32Seqget () const
 
template<>
const DDS::UInt32Seqget () const
 
template<>
const DDS::Int8Seqget () const
 
template<>
const DDS::UInt8Seqget () const
 
template<>
const DDS::Int16Seqget () const
 
template<>
const DDS::UInt16Seqget () const
 
template<>
const DDS::Int64Seqget () const
 
template<>
const DDS::UInt64Seqget () const
 
template<>
const DDS::Float32Seqget () const
 
template<>
const DDS::Float64Seqget () const
 
template<>
const DDS::Float128Seqget () const
 
template<>
const DDS::CharSeqget () const
 
template<>
const DDS::ByteSeqget () const
 
template<>
const DDS::BooleanSeqget () const
 
template<>
const DDS::StringSeqget () const
 

Public Attributes

TypeKind elem_kind_
 
void * active_
 
union {
}; 
 

Private Member Functions

SequenceValueoperator= (const SequenceValue &rhs)
 

Detailed Description

Definition at line 474 of file DynamicDataImpl.h.

Constructor & Destructor Documentation

◆ SequenceValue() [1/16]

OpenDDS::XTypes::DynamicDataImpl::SequenceValue::SequenceValue ( const DDS::Int32Seq int32_seq)

Definition at line 1011 of file DynamicDataImpl.cpp.

Referenced by SequenceValue().

1012  : elem_kind_(TK_INT32), active_(new(int32_seq_) DDS::Int32Seq(int32_seq))
1013 {}
const TypeKind TK_INT32
Definition: TypeObject.h:217
sequence< long > Int32Seq

◆ SequenceValue() [2/16]

OpenDDS::XTypes::DynamicDataImpl::SequenceValue::SequenceValue ( const DDS::UInt32Seq uint32_seq)

Definition at line 1015 of file DynamicDataImpl.cpp.

1016  : elem_kind_(TK_UINT32), active_(new(uint32_seq_) DDS::UInt32Seq(uint32_seq))
1017 {}
sequence< unsigned long > UInt32Seq
const TypeKind TK_UINT32
Definition: TypeObject.h:220

◆ SequenceValue() [3/16]

OpenDDS::XTypes::DynamicDataImpl::SequenceValue::SequenceValue ( const DDS::Int8Seq int8_seq)

Definition at line 1019 of file DynamicDataImpl.cpp.

1020  : elem_kind_(TK_INT8), active_(new(int8_seq_) DDS::Int8Seq(int8_seq))
1021 {}
const TypeKind TK_INT8
Definition: TypeObject.h:225
sequence< int8 > Int8Seq

◆ SequenceValue() [4/16]

OpenDDS::XTypes::DynamicDataImpl::SequenceValue::SequenceValue ( const DDS::UInt8Seq uint8_seq)

Definition at line 1023 of file DynamicDataImpl.cpp.

1024  : elem_kind_(TK_UINT8), active_(new(uint8_seq_) DDS::UInt8Seq(uint8_seq))
1025 {}
sequence< uint8 > UInt8Seq
const TypeKind TK_UINT8
Definition: TypeObject.h:226

◆ SequenceValue() [5/16]

OpenDDS::XTypes::DynamicDataImpl::SequenceValue::SequenceValue ( const DDS::Int16Seq int16_seq)

Definition at line 1027 of file DynamicDataImpl.cpp.

1028  : elem_kind_(TK_INT16), active_(new(int16_seq_) DDS::Int16Seq(int16_seq))
1029 {}
sequence< short > Int16Seq
const TypeKind TK_INT16
Definition: TypeObject.h:216

◆ SequenceValue() [6/16]

OpenDDS::XTypes::DynamicDataImpl::SequenceValue::SequenceValue ( const DDS::UInt16Seq uint16_seq)

Definition at line 1031 of file DynamicDataImpl.cpp.

1032  : elem_kind_(TK_UINT16), active_(new(uint16_seq_) DDS::UInt16Seq(uint16_seq))
1033 {}
const TypeKind TK_UINT16
Definition: TypeObject.h:219
sequence< unsigned short > UInt16Seq

◆ SequenceValue() [7/16]

OpenDDS::XTypes::DynamicDataImpl::SequenceValue::SequenceValue ( const DDS::Int64Seq int64_seq)

Definition at line 1035 of file DynamicDataImpl.cpp.

1036  : elem_kind_(TK_INT64), active_(new(int64_seq_) DDS::Int64Seq(int64_seq))
1037 {}
sequence< long long > Int64Seq
const TypeKind TK_INT64
Definition: TypeObject.h:218

◆ SequenceValue() [8/16]

OpenDDS::XTypes::DynamicDataImpl::SequenceValue::SequenceValue ( const DDS::UInt64Seq uint64_seq)

Definition at line 1039 of file DynamicDataImpl.cpp.

1040  : elem_kind_(TK_UINT64), active_(new(uint64_seq_) DDS::UInt64Seq(uint64_seq))
1041 {}
sequence< unsigned long long > UInt64Seq
const TypeKind TK_UINT64
Definition: TypeObject.h:221

◆ SequenceValue() [9/16]

OpenDDS::XTypes::DynamicDataImpl::SequenceValue::SequenceValue ( const DDS::Float32Seq float32_seq)

Definition at line 1043 of file DynamicDataImpl.cpp.

1044  : elem_kind_(TK_FLOAT32), active_(new(float32_seq_) DDS::Float32Seq(float32_seq))
1045 {}
sequence< float > Float32Seq
const TypeKind TK_FLOAT32
Definition: TypeObject.h:222

◆ SequenceValue() [10/16]

OpenDDS::XTypes::DynamicDataImpl::SequenceValue::SequenceValue ( const DDS::Float64Seq float64_seq)

Definition at line 1047 of file DynamicDataImpl.cpp.

1048  : elem_kind_(TK_FLOAT64), active_(new(float64_seq_) DDS::Float64Seq(float64_seq))
1049 {}
sequence< double > Float64Seq
const TypeKind TK_FLOAT64
Definition: TypeObject.h:223

◆ SequenceValue() [11/16]

OpenDDS::XTypes::DynamicDataImpl::SequenceValue::SequenceValue ( const DDS::Float128Seq float128_seq)

Definition at line 1051 of file DynamicDataImpl.cpp.

1052  : elem_kind_(TK_FLOAT128), active_(new(float128_seq_) DDS::Float128Seq(float128_seq))
1053 {}
const TypeKind TK_FLOAT128
Definition: TypeObject.h:224
sequence< long double > Float128Seq

◆ SequenceValue() [12/16]

OpenDDS::XTypes::DynamicDataImpl::SequenceValue::SequenceValue ( const DDS::CharSeq char8_seq)

Definition at line 1055 of file DynamicDataImpl.cpp.

1056  : elem_kind_(TK_CHAR8), active_(new(char8_seq_) DDS::CharSeq(char8_seq))
1057 {}
sequence< char > CharSeq
const TypeKind TK_CHAR8
Definition: TypeObject.h:227

◆ SequenceValue() [13/16]

OpenDDS::XTypes::DynamicDataImpl::SequenceValue::SequenceValue ( const DDS::ByteSeq byte_seq)

Definition at line 1059 of file DynamicDataImpl.cpp.

1060  : elem_kind_(TK_BYTE), active_(new(byte_seq_) DDS::ByteSeq(byte_seq))
1061 {}
const TypeKind TK_BYTE
Definition: TypeObject.h:215
sequence< octet > ByteSeq

◆ SequenceValue() [14/16]

OpenDDS::XTypes::DynamicDataImpl::SequenceValue::SequenceValue ( const DDS::BooleanSeq boolean_seq)

Definition at line 1063 of file DynamicDataImpl.cpp.

1064  : elem_kind_(TK_BOOLEAN), active_(new(boolean_seq_) DDS::BooleanSeq(boolean_seq))
1065 {}
sequence< boolean > BooleanSeq
const TypeKind TK_BOOLEAN
Definition: TypeObject.h:214

◆ SequenceValue() [15/16]

OpenDDS::XTypes::DynamicDataImpl::SequenceValue::SequenceValue ( const DDS::StringSeq str_seq)

◆ SequenceValue() [16/16]

OpenDDS::XTypes::DynamicDataImpl::SequenceValue::SequenceValue ( const SequenceValue rhs)

Definition at line 1081 of file DynamicDataImpl.cpp.

References elem_kind_, SEQUENCE_VALUE_PLACEMENT_NEW, OpenDDS::XTypes::TK_BOOLEAN, OpenDDS::XTypes::TK_BYTE, OpenDDS::XTypes::TK_CHAR16, OpenDDS::XTypes::TK_CHAR8, OpenDDS::XTypes::TK_FLOAT128, OpenDDS::XTypes::TK_FLOAT32, OpenDDS::XTypes::TK_FLOAT64, OpenDDS::XTypes::TK_INT16, OpenDDS::XTypes::TK_INT32, OpenDDS::XTypes::TK_INT64, OpenDDS::XTypes::TK_INT8, OpenDDS::XTypes::TK_STRING16, OpenDDS::XTypes::TK_STRING8, OpenDDS::XTypes::TK_UINT16, OpenDDS::XTypes::TK_UINT32, OpenDDS::XTypes::TK_UINT64, and OpenDDS::XTypes::TK_UINT8.

1082  : elem_kind_(rhs.elem_kind_), active_(0)
1083 {
1084 #define SEQUENCE_VALUE_PLACEMENT_NEW(T, N) active_ = new(N) DDS::T(reinterpret_cast<const DDS::T&>(rhs.N)); break;
1085  switch (elem_kind_) {
1086  case TK_INT32:
1088  case TK_UINT32:
1090  case TK_INT8:
1092  case TK_UINT8:
1094  case TK_INT16:
1096  case TK_UINT16:
1098  case TK_INT64:
1100  case TK_UINT64:
1102  case TK_FLOAT32:
1104  case TK_FLOAT64:
1106  case TK_FLOAT128:
1107  SEQUENCE_VALUE_PLACEMENT_NEW(Float128Seq, float128_seq_);
1108  case TK_CHAR8:
1110  case TK_BYTE:
1112  case TK_BOOLEAN:
1114  case TK_STRING8:
1116 #ifdef DDS_HAS_WCHAR
1117  case TK_CHAR16:
1118  SEQUENCE_VALUE_PLACEMENT_NEW(WcharSeq, char16_seq_);
1119  case TK_STRING16:
1121 #endif
1122  }
1123 #undef SEQUENCE_VALUE_PLACEMENT_NEW
1124 }
const TypeKind TK_INT8
Definition: TypeObject.h:225
sequence< unsigned long > UInt32Seq
sequence< unsigned long long > UInt64Seq
const TypeKind TK_FLOAT128
Definition: TypeObject.h:224
sequence< float > Float32Seq
const TypeKind TK_CHAR16
Definition: TypeObject.h:228
sequence< wchar > WcharSeq
sequence< long long > Int64Seq
const TypeKind TK_INT32
Definition: TypeObject.h:217
const TypeKind TK_CHAR8
Definition: TypeObject.h:227
const TypeKind TK_STRING16
Definition: TypeObject.h:232
const TypeKind TK_UINT16
Definition: TypeObject.h:219
sequence< double > Float64Seq
sequence< uint8 > UInt8Seq
sequence< short > Int16Seq
sequence< long double > Float128Seq
#define SEQUENCE_VALUE_PLACEMENT_NEW(T, N)
const TypeKind TK_INT64
Definition: TypeObject.h:218
sequence< long > Int32Seq
const TypeKind TK_UINT8
Definition: TypeObject.h:226
const TypeKind TK_FLOAT32
Definition: TypeObject.h:222
sequence< wstring > WstringSeq
sequence< int8 > Int8Seq
const TypeKind TK_BOOLEAN
Definition: TypeObject.h:214
const TypeKind TK_INT16
Definition: TypeObject.h:216
const TypeKind TK_FLOAT64
Definition: TypeObject.h:223
const TypeKind TK_STRING8
Definition: TypeObject.h:231
sequence< unsigned short > UInt16Seq
sequence< char > CharSeq
const TypeKind TK_UINT32
Definition: TypeObject.h:220
sequence< string > StringSeq
const TypeKind TK_BYTE
Definition: TypeObject.h:215
const TypeKind TK_UINT64
Definition: TypeObject.h:221
sequence< boolean > BooleanSeq
sequence< octet > ByteSeq

◆ ~SequenceValue()

OpenDDS::XTypes::DynamicDataImpl::SequenceValue::~SequenceValue ( )

Definition at line 1126 of file DynamicDataImpl.cpp.

References elem_kind_, SEQUENCE_VALUE_DESTRUCT, OpenDDS::XTypes::TK_BOOLEAN, OpenDDS::XTypes::TK_BYTE, OpenDDS::XTypes::TK_CHAR16, OpenDDS::XTypes::TK_CHAR8, OpenDDS::XTypes::TK_FLOAT128, OpenDDS::XTypes::TK_FLOAT32, OpenDDS::XTypes::TK_FLOAT64, OpenDDS::XTypes::TK_INT16, OpenDDS::XTypes::TK_INT32, OpenDDS::XTypes::TK_INT64, OpenDDS::XTypes::TK_INT8, OpenDDS::XTypes::TK_STRING16, OpenDDS::XTypes::TK_STRING8, OpenDDS::XTypes::TK_UINT16, OpenDDS::XTypes::TK_UINT32, OpenDDS::XTypes::TK_UINT64, and OpenDDS::XTypes::TK_UINT8.

1127 {
1128 #define SEQUENCE_VALUE_DESTRUCT(T) static_cast<DDS::T*>(active_)->~T(); break
1129  switch (elem_kind_) {
1130  case TK_INT32:
1132  case TK_UINT32:
1134  case TK_INT8:
1136  case TK_UINT8:
1138  case TK_INT16:
1140  case TK_UINT16:
1142  case TK_INT64:
1144  case TK_UINT64:
1146  case TK_FLOAT32:
1148  case TK_FLOAT64:
1150  case TK_FLOAT128:
1152  case TK_CHAR8:
1154  case TK_BYTE:
1156  case TK_BOOLEAN:
1158  case TK_STRING8:
1160 #ifdef DDS_HAS_WCHAR
1161  case TK_CHAR16:
1163  case TK_STRING16:
1165 #endif
1166  }
1167  #undef SEQUENCE_VALUE_DESTRUCT
1168 }
const TypeKind TK_INT8
Definition: TypeObject.h:225
sequence< unsigned long > UInt32Seq
sequence< unsigned long long > UInt64Seq
const TypeKind TK_FLOAT128
Definition: TypeObject.h:224
sequence< float > Float32Seq
const TypeKind TK_CHAR16
Definition: TypeObject.h:228
sequence< wchar > WcharSeq
sequence< long long > Int64Seq
const TypeKind TK_INT32
Definition: TypeObject.h:217
const TypeKind TK_CHAR8
Definition: TypeObject.h:227
const TypeKind TK_STRING16
Definition: TypeObject.h:232
const TypeKind TK_UINT16
Definition: TypeObject.h:219
sequence< double > Float64Seq
sequence< uint8 > UInt8Seq
#define SEQUENCE_VALUE_DESTRUCT(T)
sequence< short > Int16Seq
sequence< long double > Float128Seq
const TypeKind TK_INT64
Definition: TypeObject.h:218
sequence< long > Int32Seq
const TypeKind TK_UINT8
Definition: TypeObject.h:226
const TypeKind TK_FLOAT32
Definition: TypeObject.h:222
sequence< wstring > WstringSeq
sequence< int8 > Int8Seq
const TypeKind TK_BOOLEAN
Definition: TypeObject.h:214
const TypeKind TK_INT16
Definition: TypeObject.h:216
const TypeKind TK_FLOAT64
Definition: TypeObject.h:223
const TypeKind TK_STRING8
Definition: TypeObject.h:231
sequence< unsigned short > UInt16Seq
sequence< char > CharSeq
const TypeKind TK_UINT32
Definition: TypeObject.h:220
sequence< string > StringSeq
const TypeKind TK_BYTE
Definition: TypeObject.h:215
const TypeKind TK_UINT64
Definition: TypeObject.h:221
sequence< boolean > BooleanSeq
sequence< octet > ByteSeq

Member Function Documentation

◆ get() [1/16]

template<typename T >
const T& OpenDDS::XTypes::DynamicDataImpl::SequenceValue::get ( ) const

◆ get() [2/16]

template<>
const DDS::Int32Seq& OpenDDS::XTypes::DynamicDataImpl::SequenceValue::get ( void  ) const

Definition at line 1171 of file DynamicDataImpl.cpp.

References SEQUENCE_VALUE_GETTERS.

sequence< long > Int32Seq
#define SEQUENCE_VALUE_GETTERS(T)

◆ get() [3/16]

template<>
const DDS::UInt32Seq& OpenDDS::XTypes::DynamicDataImpl::SequenceValue::get ( void  ) const

Definition at line 1173 of file DynamicDataImpl.cpp.

References SEQUENCE_VALUE_GETTERS.

sequence< unsigned long > UInt32Seq
#define SEQUENCE_VALUE_GETTERS(T)

◆ get() [4/16]

template<>
const DDS::Int8Seq& OpenDDS::XTypes::DynamicDataImpl::SequenceValue::get ( void  ) const

Definition at line 1175 of file DynamicDataImpl.cpp.

References SEQUENCE_VALUE_GETTERS.

sequence< int8 > Int8Seq
#define SEQUENCE_VALUE_GETTERS(T)

◆ get() [5/16]

template<>
const DDS::UInt8Seq& OpenDDS::XTypes::DynamicDataImpl::SequenceValue::get ( void  ) const

Definition at line 1177 of file DynamicDataImpl.cpp.

References SEQUENCE_VALUE_GETTERS.

sequence< uint8 > UInt8Seq
#define SEQUENCE_VALUE_GETTERS(T)

◆ get() [6/16]

template<>
const DDS::Int16Seq& OpenDDS::XTypes::DynamicDataImpl::SequenceValue::get ( void  ) const

Definition at line 1179 of file DynamicDataImpl.cpp.

References SEQUENCE_VALUE_GETTERS.

sequence< short > Int16Seq
#define SEQUENCE_VALUE_GETTERS(T)

◆ get() [7/16]

template<>
const DDS::UInt16Seq& OpenDDS::XTypes::DynamicDataImpl::SequenceValue::get ( void  ) const

Definition at line 1181 of file DynamicDataImpl.cpp.

References SEQUENCE_VALUE_GETTERS.

sequence< unsigned short > UInt16Seq
#define SEQUENCE_VALUE_GETTERS(T)

◆ get() [8/16]

template<>
const DDS::Int64Seq& OpenDDS::XTypes::DynamicDataImpl::SequenceValue::get ( void  ) const

Definition at line 1183 of file DynamicDataImpl.cpp.

References SEQUENCE_VALUE_GETTERS.

sequence< long long > Int64Seq
#define SEQUENCE_VALUE_GETTERS(T)

◆ get() [9/16]

template<>
const DDS::UInt64Seq& OpenDDS::XTypes::DynamicDataImpl::SequenceValue::get ( void  ) const

Definition at line 1185 of file DynamicDataImpl.cpp.

References SEQUENCE_VALUE_GETTERS.

sequence< unsigned long long > UInt64Seq
#define SEQUENCE_VALUE_GETTERS(T)

◆ get() [10/16]

template<>
const DDS::Float32Seq& OpenDDS::XTypes::DynamicDataImpl::SequenceValue::get ( void  ) const

Definition at line 1187 of file DynamicDataImpl.cpp.

References SEQUENCE_VALUE_GETTERS.

sequence< float > Float32Seq
#define SEQUENCE_VALUE_GETTERS(T)

◆ get() [11/16]

template<>
const DDS::Float64Seq& OpenDDS::XTypes::DynamicDataImpl::SequenceValue::get ( void  ) const

Definition at line 1189 of file DynamicDataImpl.cpp.

References SEQUENCE_VALUE_GETTERS.

sequence< double > Float64Seq
#define SEQUENCE_VALUE_GETTERS(T)

◆ get() [12/16]

template<>
const DDS::Float128Seq& OpenDDS::XTypes::DynamicDataImpl::SequenceValue::get ( void  ) const

Definition at line 1191 of file DynamicDataImpl.cpp.

References SEQUENCE_VALUE_GETTERS.

sequence< long double > Float128Seq
#define SEQUENCE_VALUE_GETTERS(T)

◆ get() [13/16]

template<>
const DDS::CharSeq& OpenDDS::XTypes::DynamicDataImpl::SequenceValue::get ( void  ) const

Definition at line 1193 of file DynamicDataImpl.cpp.

References SEQUENCE_VALUE_GETTERS.

#define SEQUENCE_VALUE_GETTERS(T)
sequence< char > CharSeq

◆ get() [14/16]

template<>
const DDS::ByteSeq& OpenDDS::XTypes::DynamicDataImpl::SequenceValue::get ( void  ) const

Definition at line 1195 of file DynamicDataImpl.cpp.

References SEQUENCE_VALUE_GETTERS.

#define SEQUENCE_VALUE_GETTERS(T)
sequence< octet > ByteSeq

◆ get() [15/16]

template<>
const DDS::BooleanSeq& OpenDDS::XTypes::DynamicDataImpl::SequenceValue::get ( void  ) const

Definition at line 1197 of file DynamicDataImpl.cpp.

References SEQUENCE_VALUE_GETTERS.

#define SEQUENCE_VALUE_GETTERS(T)
sequence< boolean > BooleanSeq

◆ get() [16/16]

template<>
const DDS::StringSeq& OpenDDS::XTypes::DynamicDataImpl::SequenceValue::get ( void  ) const

Definition at line 1199 of file DynamicDataImpl.cpp.

References get(), and SEQUENCE_VALUE_GETTERS.

#define SEQUENCE_VALUE_GETTERS(T)
sequence< string > StringSeq

◆ operator=()

SequenceValue& OpenDDS::XTypes::DynamicDataImpl::SequenceValue::operator= ( const SequenceValue rhs)
private

Member Data Documentation

◆ @21

union { ... }

◆ active_

void* OpenDDS::XTypes::DynamicDataImpl::SequenceValue::active_

Definition at line 501 of file DynamicDataImpl.h.

Referenced by SequenceValue().

◆ elem_kind_

TypeKind OpenDDS::XTypes::DynamicDataImpl::SequenceValue::elem_kind_

The documentation for this struct was generated from the following files: