OpenDDS  Snapshot(2023/04/28-20:55)
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 464 of file DynamicDataImpl.h.

Constructor & Destructor Documentation

◆ SequenceValue() [1/16]

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

Definition at line 968 of file DynamicDataImpl.cpp.

Referenced by SequenceValue().

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

◆ SequenceValue() [2/16]

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

Definition at line 972 of file DynamicDataImpl.cpp.

973  : elem_kind_(TK_UINT32), active_(new(uint32_seq_) DDS::UInt32Seq(uint32_seq))
974 {}
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 976 of file DynamicDataImpl.cpp.

◆ SequenceValue() [4/16]

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

Definition at line 980 of file DynamicDataImpl.cpp.

981  : elem_kind_(TK_UINT8), active_(new(uint8_seq_) DDS::UInt8Seq(uint8_seq))
982 {}
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 984 of file DynamicDataImpl.cpp.

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

◆ SequenceValue() [6/16]

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

Definition at line 988 of file DynamicDataImpl.cpp.

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

◆ SequenceValue() [7/16]

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

Definition at line 992 of file DynamicDataImpl.cpp.

993  : elem_kind_(TK_INT64), active_(new(int64_seq_) DDS::Int64Seq(int64_seq))
994 {}
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 996 of file DynamicDataImpl.cpp.

997  : elem_kind_(TK_UINT64), active_(new(uint64_seq_) DDS::UInt64Seq(uint64_seq))
998 {}
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 1000 of file DynamicDataImpl.cpp.

1001  : elem_kind_(TK_FLOAT32), active_(new(float32_seq_) DDS::Float32Seq(float32_seq))
1002 {}
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 1004 of file DynamicDataImpl.cpp.

1005  : elem_kind_(TK_FLOAT64), active_(new(float64_seq_) DDS::Float64Seq(float64_seq))
1006 {}
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 1008 of file DynamicDataImpl.cpp.

1009  : elem_kind_(TK_FLOAT128), active_(new(float128_seq_) DDS::Float128Seq(float128_seq))
1010 {}
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 1012 of file DynamicDataImpl.cpp.

1013  : elem_kind_(TK_CHAR8), active_(new(char8_seq_) DDS::CharSeq(char8_seq))
1014 {}
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 1016 of file DynamicDataImpl.cpp.

1017  : elem_kind_(TK_BYTE), active_(new(byte_seq_) DDS::ByteSeq(byte_seq))
1018 {}
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 1020 of file DynamicDataImpl.cpp.

1021  : elem_kind_(TK_BOOLEAN), active_(new(boolean_seq_) DDS::BooleanSeq(boolean_seq))
1022 {}
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 1038 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.

1039  : elem_kind_(rhs.elem_kind_), active_(0)
1040 {
1041 #define SEQUENCE_VALUE_PLACEMENT_NEW(T, N) active_ = new(N) DDS::T(reinterpret_cast<const DDS::T&>(rhs.N)); break;
1042  switch (elem_kind_) {
1043  case TK_INT32:
1045  case TK_UINT32:
1047  case TK_INT8:
1049  case TK_UINT8:
1051  case TK_INT16:
1053  case TK_UINT16:
1055  case TK_INT64:
1057  case TK_UINT64:
1059  case TK_FLOAT32:
1061  case TK_FLOAT64:
1063  case TK_FLOAT128:
1064  SEQUENCE_VALUE_PLACEMENT_NEW(Float128Seq, float128_seq_);
1065  case TK_CHAR8:
1067  case TK_BYTE:
1069  case TK_BOOLEAN:
1071  case TK_STRING8:
1073 #ifdef DDS_HAS_WCHAR
1074  case TK_CHAR16:
1075  SEQUENCE_VALUE_PLACEMENT_NEW(WcharSeq, char16_seq_);
1076  case TK_STRING16:
1078 #endif
1079  }
1080 #undef SEQUENCE_VALUE_PLACEMENT_NEW
1081 }
sequence< unsigned short > UInt16Seq
sequence< long > Int32Seq
sequence< wchar > WcharSeq
const TypeKind TK_INT32
Definition: TypeObject.h:217
const TypeKind TK_STRING16
Definition: TypeObject.h:232
const TypeKind TK_FLOAT128
Definition: TypeObject.h:224
const TypeKind TK_BYTE
Definition: TypeObject.h:215
sequence< long long > Int64Seq
const TypeKind TK_INT16
Definition: TypeObject.h:216
const TypeKind TK_UINT16
Definition: TypeObject.h:219
const TypeKind TK_INT8
Definition: TypeObject.h:225
sequence< short > Int16Seq
sequence< unsigned long long > UInt64Seq
sequence< uint8 > UInt8Seq
const TypeKind TK_BOOLEAN
Definition: TypeObject.h:214
sequence< octet > ByteSeq
sequence< int8 > Int8Seq
sequence< unsigned long > UInt32Seq
sequence< long double > Float128Seq
const TypeKind TK_CHAR8
Definition: TypeObject.h:227
sequence< float > Float32Seq
const TypeKind TK_FLOAT32
Definition: TypeObject.h:222
const TypeKind TK_STRING8
Definition: TypeObject.h:231
sequence< char > CharSeq
sequence< string > StringSeq
const TypeKind TK_UINT64
Definition: TypeObject.h:221
sequence< wstring > WstringSeq
const TypeKind TK_INT64
Definition: TypeObject.h:218
const TypeKind TK_UINT32
Definition: TypeObject.h:220
sequence< boolean > BooleanSeq
const TypeKind TK_UINT8
Definition: TypeObject.h:226
sequence< double > Float64Seq
#define SEQUENCE_VALUE_PLACEMENT_NEW(T, N)
const TypeKind TK_CHAR16
Definition: TypeObject.h:228
const TypeKind TK_FLOAT64
Definition: TypeObject.h:223

◆ ~SequenceValue()

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

Definition at line 1083 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.

1084 {
1085 #define SEQUENCE_VALUE_DESTRUCT(T) static_cast<DDS::T*>(active_)->~T(); break
1086  switch (elem_kind_) {
1087  case TK_INT32:
1089  case TK_UINT32:
1091  case TK_INT8:
1093  case TK_UINT8:
1095  case TK_INT16:
1097  case TK_UINT16:
1099  case TK_INT64:
1101  case TK_UINT64:
1103  case TK_FLOAT32:
1105  case TK_FLOAT64:
1107  case TK_FLOAT128:
1109  case TK_CHAR8:
1111  case TK_BYTE:
1113  case TK_BOOLEAN:
1115  case TK_STRING8:
1117 #ifdef DDS_HAS_WCHAR
1118  case TK_CHAR16:
1120  case TK_STRING16:
1122 #endif
1123  }
1124  #undef SEQUENCE_VALUE_DESTRUCT
1125 }
sequence< unsigned short > UInt16Seq
sequence< long > Int32Seq
sequence< wchar > WcharSeq
const TypeKind TK_INT32
Definition: TypeObject.h:217
const TypeKind TK_STRING16
Definition: TypeObject.h:232
const TypeKind TK_FLOAT128
Definition: TypeObject.h:224
const TypeKind TK_BYTE
Definition: TypeObject.h:215
sequence< long long > Int64Seq
const TypeKind TK_INT16
Definition: TypeObject.h:216
const TypeKind TK_UINT16
Definition: TypeObject.h:219
const TypeKind TK_INT8
Definition: TypeObject.h:225
sequence< short > Int16Seq
sequence< unsigned long long > UInt64Seq
sequence< uint8 > UInt8Seq
const TypeKind TK_BOOLEAN
Definition: TypeObject.h:214
sequence< octet > ByteSeq
sequence< int8 > Int8Seq
sequence< unsigned long > UInt32Seq
sequence< long double > Float128Seq
const TypeKind TK_CHAR8
Definition: TypeObject.h:227
sequence< float > Float32Seq
#define SEQUENCE_VALUE_DESTRUCT(T)
const TypeKind TK_FLOAT32
Definition: TypeObject.h:222
const TypeKind TK_STRING8
Definition: TypeObject.h:231
sequence< char > CharSeq
sequence< string > StringSeq
const TypeKind TK_UINT64
Definition: TypeObject.h:221
sequence< wstring > WstringSeq
const TypeKind TK_INT64
Definition: TypeObject.h:218
const TypeKind TK_UINT32
Definition: TypeObject.h:220
sequence< boolean > BooleanSeq
const TypeKind TK_UINT8
Definition: TypeObject.h:226
sequence< double > Float64Seq
const TypeKind TK_CHAR16
Definition: TypeObject.h:228
const TypeKind TK_FLOAT64
Definition: TypeObject.h:223

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 1128 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 1130 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 1132 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 1134 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 1136 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 1138 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 1140 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 1142 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 1144 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 1146 of file DynamicDataImpl.cpp.

References SEQUENCE_VALUE_GETTERS.

#define SEQUENCE_VALUE_GETTERS(T)
sequence< double > Float64Seq

◆ get() [12/16]

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

Definition at line 1148 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 1150 of file DynamicDataImpl.cpp.

References SEQUENCE_VALUE_GETTERS.

sequence< char > CharSeq
#define SEQUENCE_VALUE_GETTERS(T)

◆ get() [14/16]

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

Definition at line 1152 of file DynamicDataImpl.cpp.

References SEQUENCE_VALUE_GETTERS.

sequence< octet > ByteSeq
#define SEQUENCE_VALUE_GETTERS(T)

◆ get() [15/16]

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

Definition at line 1154 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 1156 of file DynamicDataImpl.cpp.

References get(), and SEQUENCE_VALUE_GETTERS.

sequence< string > StringSeq
#define SEQUENCE_VALUE_GETTERS(T)

◆ 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 491 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: