OpenDDS
Snapshot(2023/04/28-20:55)
|
Class to serialize and deserialize data for DDS. More...
#include <Serializer.h>
Classes | |
struct | FromBoundedString |
struct | RdState |
struct | ScopedAlignmentContext |
struct | ToBoundedString |
Public Types | |
enum | ConstructionStatus { ConstructionSuccessful, ElementConstructionFailure, BoundConstructionFailure } |
typedef ACE_CDR::Char *(* | StrAllocate) (ACE_CDR::ULong) |
typedef void(* | StrFree) (ACE_CDR::Char *) |
typedef ACE_CDR::WChar *(* | WStrAllocate) (ACE_CDR::ULong) |
typedef void(* | WStrFree) (ACE_CDR::WChar *) |
Static Public Attributes | |
static const ACE_CDR::ULong | emheader_must_understand = 1U << 31U |
static const ACE_CDR::ULong | MEMBER_ID_MAX = 0x0FFFFFFF |
Maximum value for member id. More... | |
static const ACE_CDR::ULong | MEMBER_ID_MASK = MEMBER_ID_MAX |
static const ACE_CDR::UShort | pid_extended = 0x3f01 |
static const ACE_CDR::UShort | pid_list_end = 0x3f02 |
static const ACE_CDR::UShort | pid_impl_extension = 0x8000 |
static const ACE_CDR::UShort | pid_must_understand = 0x4000 |
Private Member Functions | |
void | buffer_write (const char *src, size_t size, bool swap) |
Write to the chain from a source buffer. More... | |
void | smemcpy (char *to, const char *from, size_t n) |
void | swapcpy (char *to, const char *from, size_t n) |
size_t | doread (char *dest, size_t size, bool swap, size_t offset) |
Implementation of the actual read from the chain. More... | |
size_t | dowrite (const char *dest, size_t size, bool swap, size_t offset) |
Implementation of the actual write to the chain. More... | |
void | align_cont_r () |
Update alignment state when a cont() chain is followed during a read. More... | |
void | align_cont_w () |
Update alignment state when a cont() chain is followed during a write. More... | |
void | read_array (char *x, size_t size, ACE_CDR::ULong length) |
void | read_array (char *x, size_t size, ACE_CDR::ULong length, bool swap) |
void | write_array (const char *x, size_t size, ACE_CDR::ULong length) |
void | write_array (const char *x, size_t size, ACE_CDR::ULong length, bool swap) |
Static Private Member Functions | |
static unsigned char | offset (char *index, size_t start, size_t align) |
Private Attributes | |
ACE_Message_Block * | current_ |
Currently active message block in chain. More... | |
Encoding | encoding_ |
Encoding Settings. More... | |
bool | swap_bytes_ |
Indicates whether bytes will be swapped for this stream. More... | |
bool | good_bit_ |
Indicates the current state of the stream abstraction. More... | |
ConstructionStatus | construction_status_ |
The way to judge whether tryconstruct trim is able to be properly done. More... | |
unsigned char | align_rshift_ |
unsigned char | align_wshift_ |
size_t | rpos_ |
Logical reading position of the stream. More... | |
size_t | wpos_ |
Logical writing position of the stream. More... | |
Static Private Attributes | |
static const char | ALIGN_PAD [Encoding::ALIGN_MAX] = {0} |
Buffer that is copied for zero padding. More... | |
Class to serialize and deserialize data for DDS.
This class provides a mechanism to insert and extract data to and from an ACE_Message_Block chain that represents the data which can be transported on the wire to other DDS service participants.
Definition at line 369 of file Serializer.h.
typedef ACE_CDR::Char*(* OpenDDS::DCPS::Serializer::StrAllocate) (ACE_CDR::ULong) |
Definition at line 437 of file Serializer.h.
typedef void(* OpenDDS::DCPS::Serializer::StrFree) (ACE_CDR::Char *) |
Definition at line 438 of file Serializer.h.
typedef ACE_CDR::WChar*(* OpenDDS::DCPS::Serializer::WStrAllocate) (ACE_CDR::ULong) |
Definition at line 439 of file Serializer.h.
typedef void(* OpenDDS::DCPS::Serializer::WStrFree) (ACE_CDR::WChar *) |
Definition at line 440 of file Serializer.h.
Enumerator | |
---|---|
ConstructionSuccessful | |
ElementConstructionFailure | |
BoundConstructionFailure |
Definition at line 742 of file Serializer.h.
OpenDDS::DCPS::Serializer::Serializer | ( | ACE_Message_Block * | chain, |
const Encoding & | encoding | ||
) |
Constructor with a message block chain. This installs the message block chain and sets the current block to the first in the chain. Memory management is the responsibility of the owner of this object, and is not performed internally. Ownership of the message block chain is retained by the owner of this object and the lifetime of the chain must be longer than the use of this object.
This constructor is meant for using a specific predefined encoding scheme.
Definition at line 352 of file Serializer.cpp.
References encoding(), and reset_alignment().
OpenDDS::DCPS::Serializer::Serializer | ( | ACE_Message_Block * | chain, |
Encoding::Kind | kind, | ||
Endianness | endianness = ENDIAN_NATIVE |
||
) |
More convenient version of the constructor above if you don't need to reuse the Encoding object.
Definition at line 365 of file Serializer.cpp.
References encoding(), and reset_alignment().
OpenDDS::DCPS::Serializer::Serializer | ( | ACE_Message_Block * | chain, |
Encoding::Kind | kind, | ||
bool | swap_bytes | ||
) |
Equivalent to: Serializer(chain, kind, swap_bytes ? ENDIAN_NONNATIVE : ENDIAN_NATIVE)
Definition at line 379 of file Serializer.cpp.
References encoding(), and reset_alignment().
|
virtual |
Definition at line 393 of file Serializer.cpp.
|
private |
Update alignment state when a cont() chain is followed during a read.
Definition at line 875 of file Serializer.inl.
References ACE_INLINE, OpenDDS::STUN::encoding(), and OpenDDS::DCPS::Encoding::max_align().
|
private |
Update alignment state when a cont() chain is followed during a write.
Definition at line 889 of file Serializer.inl.
References ACE_INLINE, OpenDDS::STUN::encoding(), and OpenDDS::DCPS::Encoding::max_align().
ACE_INLINE bool OpenDDS::DCPS::Serializer::align_r | ( | size_t | alignment | ) |
Align for reading: moves current_->rd_ptr() past the alignment padding. Alignments of 2, 4, or 8 are supported by CDR and this implementation.
Definition at line 813 of file Serializer.inl.
References ACE_INLINE, OpenDDS::DCPS::Encoding::alignment(), OpenDDS::STUN::encoding(), and OpenDDS::DCPS::Encoding::max_align().
Referenced by OpenDDS::DCPS::operator>>(), read_parameter_id(), and OpenDDS::DCPS::RtpsUdpReceiveStrategy::sec_submsg_to_octets().
ACE_INLINE bool OpenDDS::DCPS::Serializer::align_w | ( | size_t | alignment | ) |
Align for writing: moves current_->wr_ptr() past the padding, possibly zero-filling the pad bytes (based on the alignment_ setting). Alignments of 2, 4, or 8 are supported by CDR and this implementation.
Definition at line 830 of file Serializer.inl.
References ACE_INLINE, OpenDDS::DCPS::Encoding::alignment(), OpenDDS::STUN::encoding(), OpenDDS::DCPS::Encoding::max_align(), and OpenDDS::DCPS::Encoding::zero_init_padding().
Referenced by OpenDDS::Security::CryptoBuiltInImpl::encode_rtps_message(), OpenDDS::Security::CryptoBuiltInImpl::encode_submessage(), OpenDDS::DCPS::operator<<(), OpenDDS::DCPS::RtpsUdpDataLink::submsgs_to_msgblock(), and write_parameter_id().
ACE_INLINE Encoding::Alignment OpenDDS::DCPS::Serializer::alignment | ( | ) | const |
Definition at line 417 of file Serializer.inl.
References ACE_INLINE, OpenDDS::DCPS::Encoding::alignment(), and OpenDDS::STUN::encoding().
ACE_INLINE void OpenDDS::DCPS::Serializer::alignment | ( | Encoding::Alignment | value | ) |
Definition at line 423 of file Serializer.inl.
References ACE_INLINE, OpenDDS::DCPS::Encoding::alignment(), OpenDDS::STUN::encoding(), and encoding_.
ACE_INLINE void OpenDDS::DCPS::Serializer::buffer_read | ( | char * | dest, |
size_t | size, | ||
bool | swap | ||
) |
Read from the chain into a destination buffer.
Definition at line 305 of file Serializer.inl.
References ACE_INLINE.
Referenced by OpenDDS::DCPS::operator>>(), and read_string().
|
private |
Write to the chain from a source buffer.
Definition at line 393 of file Serializer.inl.
References ACE_INLINE.
Referenced by OpenDDS::DCPS::operator<<().
|
inline |
Definition at line 480 of file Serializer.h.
References OpenDDS_Dcps_Export, and OpenDDS::DCPS::operator<<().
Referenced by peek(), and OpenDDS::XTypes::DynamicDataXcdrReadImpl::skip_aggregated_member().
|
private |
Implementation of the actual read from the chain.
Definition at line 229 of file Serializer.inl.
References ACE_INLINE, OpenDDS::DCPS::Encoding::alignment(), and OpenDDS::STUN::encoding().
|
private |
Implementation of the actual write to the chain.
Definition at line 318 of file Serializer.inl.
References ACE_INLINE, OpenDDS::DCPS::Encoding::alignment(), and OpenDDS::STUN::encoding().
ACE_INLINE const Encoding & OpenDDS::DCPS::Serializer::encoding | ( | ) | const |
Definition at line 199 of file Serializer.inl.
References ACE_INLINE, and encoding_.
Referenced by OpenDDS::XTypes::DynamicDataXcdrReadImpl::clone(), OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::dds_demarshal(), OpenDDS::XTypes::DynamicSample::deserialize(), OpenDDS::RTPS::Spdp::SpdpTransport::dispose_unregister(), OpenDDS::DCPS::RtpsUdpSendStrategy::encode_rtps_message(), OpenDDS::RTPS::Spdp::SpdpTransport::handle_input(), OpenDDS::DCPS::operator<<(), read_parameter_id(), reset_alignment(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_basic_struct_member_xcdr2(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_bitmask_array_as_uints_i(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_bitmask_sequence_as_uints_i(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_complex_aggregated_member_xcdr2(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_complex_aggregated_member_xcdr2_default(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_complex_array(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_complex_sequence(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_discriminator_member_xcdr2(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_enum_array_as_ints_i(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_enum_sequence_as_ints_i(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_generic_string_array(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_generic_string_sequence(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_nested_bitmask_sequences(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_nested_enum_sequences(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_nesting_basic_array_i(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_nesting_basic_sequence_i(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_nesting_bitmask_array(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_nesting_bitmask_sequence(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_nesting_enum_array(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_nesting_enum_sequence(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_sequence_aggregated_member_xcdr2(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_sequence_member_default_value(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_sequence_struct_member_xcdr2(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_single_aggregated_member_xcdr2(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_structure(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_structure_xcdr2(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_union(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_union_xcdr2(), Serializer(), OpenDDS::XTypes::DynamicDataXcdrReadImpl::skip_all(), OpenDDS::XTypes::DynamicDataXcdrReadImpl::skip_collection_member(), OpenDDS::XTypes::DynamicDataXcdrReadImpl::skip_struct_member_at_index(), OpenDDS::XTypes::write_empty_xcdr2_nonfinal(), OpenDDS::RTPS::Spdp::SpdpTransport::write_i(), and write_parameter_id().
ACE_INLINE void OpenDDS::DCPS::Serializer::encoding | ( | const Encoding & | value | ) |
Definition at line 205 of file Serializer.inl.
References ACE_INLINE, encoding_, OpenDDS::DCPS::ENDIAN_NATIVE, OpenDDS::DCPS::Encoding::endianness(), and value.
ACE_INLINE Endianness OpenDDS::DCPS::Serializer::endianness | ( | ) | const |
Definition at line 220 of file Serializer.inl.
References ACE_INLINE, and encoding_.
Referenced by OpenDDS::Security::CryptoBuiltInImpl::decode_rtps_message(), and OpenDDS::Security::CryptoBuiltInImpl::decode_submessage().
ACE_INLINE void OpenDDS::DCPS::Serializer::endianness | ( | Endianness | value | ) |
Definition at line 212 of file Serializer.inl.
References ACE_INLINE, OpenDDS::STUN::encoding(), and OpenDDS::DCPS::Encoding::endianness().
void OpenDDS::DCPS::Serializer::free_string | ( | ACE_CDR::Char * | str, |
StrFree | str_free = 0 |
||
) |
Definition at line 589 of file Serializer.cpp.
References CORBA::string_free(), and FACE::string_free().
Referenced by OpenDDS::DCPS::operator>>(), and read_string().
void OpenDDS::DCPS::Serializer::free_string | ( | ACE_CDR::WChar * | str, |
WStrFree | str_free = 0 |
||
) |
Definition at line 675 of file Serializer.cpp.
References wstring_free(), and CORBA::wstring_free().
ACE_INLINE Serializer::ConstructionStatus OpenDDS::DCPS::Serializer::get_construction_status | ( | ) | const |
Definition at line 1745 of file Serializer.inl.
References ACE_INLINE.
Referenced by OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::dds_demarshal().
ACE_INLINE bool OpenDDS::DCPS::Serializer::good_bit | ( | void | ) | const |
Definition at line 431 of file Serializer.inl.
References ACE_INLINE.
Referenced by OpenDDS::Security::CryptoBuiltInImpl::decode_submessage(), OpenDDS::Security::CryptoBuiltInImpl::encode_rtps_message(), OpenDDS::Security::CryptoBuiltInImpl::encode_serialized_payload(), OpenDDS::Security::CryptoBuiltInImpl::encode_submessage(), OpenDDS::DCPS::operator<<(), OpenDDS::DCPS::operator>>(), OpenDDS::FaceTypes::operator>>(), and trim().
ACE_INLINE size_t OpenDDS::DCPS::Serializer::length | ( | void | ) | const |
Number of bytes left to read in message block chain.
Definition at line 437 of file Serializer.inl.
References ACE_INLINE.
Referenced by OpenDDS::XTypes::DynamicSample::deserialize(), OpenDDS::Security::CryptoBuiltInImpl::encode_rtps_message(), OpenDDS::Security::CryptoBuiltInImpl::encode_serialized_payload(), OpenDDS::Security::CryptoBuiltInImpl::encode_submessage(), OpenDDS::RTPS::MessageParser::hasNextSubmessage(), OpenDDS::STUN::operator>>(), OpenDDS::DCPS::operator>>(), OpenDDS::RTPS::MessageParser::parseSubmessageHeader(), read_string(), OpenDDS::RTPS::MessageParser::skipSubmessageContent(), OpenDDS::RTPS::MessageParser::skipToNextSubmessage(), and trim().
|
staticprivate |
Definition at line 869 of file Serializer.inl.
References ACE_INLINE.
Referenced by reset_alignment(), and OpenDDS::DCPS::Serializer::ScopedAlignmentContext::restore().
|
inline |
Definition at line 783 of file Serializer.h.
Referenced by read_parameter_id().
bool OpenDDS::DCPS::Serializer::peek | ( | ACE_CDR::ULong & | t | ) |
Definition at line 423 of file Serializer.cpp.
References align_rshift_, current(), current_, peek_helper(), rpos(), rpos_, and OpenDDS::DCPS::uint32_cdr_size.
|
inline |
Definition at line 768 of file Serializer.h.
References ACE_Message_Block::cont(), ACE_Message_Block::length(), and ACE_Message_Block::rd_ptr().
Referenced by peek().
|
inline |
Definition at line 471 of file Serializer.h.
|
inline |
Definition at line 472 of file Serializer.h.
ACE_INLINE Serializer::RdState OpenDDS::DCPS::Serializer::rdstate | ( | void | ) | const |
Definition at line 1757 of file Serializer.inl.
References ACE_INLINE, and state.
Referenced by OpenDDS::XTypes::DynamicDataXcdrReadImpl::DynamicDataXcdrReadImpl(), OpenDDS::XTypes::DynamicDataXcdrReadImpl::setup_stream(), and OpenDDS::XTypes::DynamicDataXcdrReadImpl::skip_aggregated_member().
ACE_INLINE void OpenDDS::DCPS::Serializer::rdstate | ( | const RdState & | state | ) |
Definition at line 1764 of file Serializer.inl.
References OpenDDS::DCPS::Serializer::RdState::align_rshift, OPENDDS_END_VERSIONED_NAMESPACE_DECL, and OpenDDS::DCPS::Serializer::RdState::rpos.
|
private |
Read an array of values from the chain. NOTE: This assumes that the buffer contains elements that are properly aligned. The buffer must have padding if the elements are not naturally aligned; or this routine should not be used.
Definition at line 472 of file Serializer.inl.
References ACE_INLINE.
Referenced by read_string().
|
private |
Read an array of values from the chain. NOTE: This assumes that the buffer contains elements that are properly aligned. The buffer must have padding if the elements are not naturally aligned; or this routine should not be used.
Definition at line 478 of file Serializer.inl.
References ACE_INLINE.
ACE_INLINE bool OpenDDS::DCPS::Serializer::read_boolean_array | ( | ACE_CDR::Boolean * | x, |
ACE_CDR::ULong | length | ||
) |
Read basic IDL types arrays The buffer x must be large enough to contain length elements. Return false
on failure and true
on success.
Definition at line 533 of file Serializer.inl.
References ACE_INLINE, and OpenDDS::DCPS::boolean_cdr_size.
ACE_INLINE bool OpenDDS::DCPS::Serializer::read_char_array | ( | ACE_CDR::Char * | x, |
ACE_CDR::ULong | length | ||
) |
Read basic IDL types arrays The buffer x must be large enough to contain length elements. Return false
on failure and true
on success.
Definition at line 540 of file Serializer.inl.
References ACE_INLINE, and OpenDDS::DCPS::char8_cdr_size.
Referenced by read_string().
ACE_INLINE bool OpenDDS::DCPS::Serializer::read_delimiter | ( | size_t & | size | ) |
Read a delimiter used for XCDR2 delimited data.
Returns true if successful and size will be set to the size of the CDR value excluding the delimiter.
Definition at line 912 of file Serializer.inl.
References ACE_INLINE, OpenDDS::STUN::encoding(), OpenDDS::DCPS::Encoding::xcdr_version(), and OpenDDS::DCPS::Encoding::XCDR_VERSION_2.
Referenced by OpenDDS::XTypes::DynamicDataXcdrReadImpl::get_item_count(), OpenDDS::DCPS::operator>>(), OpenDDS::XTypes::read_empty_xcdr2_nonfinal(), OpenDDS::XTypes::DynamicDataXcdrReadImpl::skip_all(), OpenDDS::XTypes::DynamicDataXcdrReadImpl::skip_collection_member(), OpenDDS::XTypes::DynamicDataXcdrReadImpl::skip_to_map_element(), and OpenDDS::XTypes::DynamicDataXcdrReadImpl::skip_to_struct_member().
ACE_INLINE bool OpenDDS::DCPS::Serializer::read_double_array | ( | ACE_CDR::Double * | x, |
ACE_CDR::ULong | length | ||
) |
Read basic IDL types arrays The buffer x must be large enough to contain length elements. Return false
on failure and true
on success.
Definition at line 651 of file Serializer.inl.
References ACE_INLINE, and OpenDDS::DCPS::float64_cdr_size.
ACE_INLINE bool OpenDDS::DCPS::Serializer::read_float_array | ( | ACE_CDR::Float * | x, |
ACE_CDR::ULong | length | ||
) |
Read basic IDL types arrays The buffer x must be large enough to contain length elements. Return false
on failure and true
on success.
Definition at line 641 of file Serializer.inl.
References ACE_INLINE, and OpenDDS::DCPS::float32_cdr_size.
ACE_INLINE bool OpenDDS::DCPS::Serializer::read_long_array | ( | ACE_CDR::Long * | x, |
ACE_CDR::ULong | length | ||
) |
Read basic IDL types arrays The buffer x must be large enough to contain length elements. Return false
on failure and true
on success.
Definition at line 601 of file Serializer.inl.
References ACE_INLINE, and OpenDDS::DCPS::int32_cdr_size.
Referenced by OpenDDS::DCPS::operator>>().
ACE_INLINE bool OpenDDS::DCPS::Serializer::read_longdouble_array | ( | ACE_CDR::LongDouble * | x, |
ACE_CDR::ULong | length | ||
) |
Read basic IDL types arrays The buffer x must be large enough to contain length elements. Return false
on failure and true
on success.
Definition at line 661 of file Serializer.inl.
References ACE_INLINE, and OpenDDS::DCPS::float128_cdr_size.
ACE_INLINE bool OpenDDS::DCPS::Serializer::read_longlong_array | ( | ACE_CDR::LongLong * | x, |
ACE_CDR::ULong | length | ||
) |
Read basic IDL types arrays The buffer x must be large enough to contain length elements. Return false
on failure and true
on success.
Definition at line 621 of file Serializer.inl.
References ACE_INLINE, and OpenDDS::DCPS::int64_cdr_size.
ACE_INLINE bool OpenDDS::DCPS::Serializer::read_octet_array | ( | ACE_CDR::Octet * | x, |
ACE_CDR::ULong | length | ||
) |
Read basic IDL types arrays The buffer x must be large enough to contain length elements. Return false
on failure and true
on success.
Definition at line 558 of file Serializer.inl.
References ACE_INLINE, OpenDDS::DCPS::byte_cdr_size, OpenDDS::DCPS::int8_cdr_size, and OpenDDS::DCPS::uint8_cdr_size.
Referenced by OpenDDS::XTypes::DynamicSample::deserialize(), OpenDDS::DCPS::RtpsUdpSendStrategy::encode_rtps_message(), OpenDDS::DCPS::TransportHeader::init(), OpenDDS::STUN::operator>>(), and OpenDDS::DCPS::operator>>().
bool OpenDDS::DCPS::Serializer::read_parameter_id | ( | unsigned & | id, |
size_t & | size, | ||
bool & | must_understand | ||
) |
Read a XCDR parameter ID used in XCDR parameter lists.
Returns true if successful.
Definition at line 707 of file Serializer.cpp.
References align_r(), emheader_must_understand, encoding(), peek(), pid_extended, reset_alignment(), skip(), OpenDDS::DCPS::uint32_cdr_size, OpenDDS::DCPS::xcdr1_pid_alignment, OpenDDS::DCPS::Encoding::xcdr_version(), OpenDDS::DCPS::Encoding::XCDR_VERSION_1, and OpenDDS::DCPS::Encoding::XCDR_VERSION_2.
Referenced by OpenDDS::XTypes::DynamicDataXcdrReadImpl::get_complex_value(), OpenDDS::XTypes::DynamicDataXcdrReadImpl::get_item_count(), OpenDDS::XTypes::DynamicDataXcdrReadImpl::get_member_id_at_index(), OpenDDS::XTypes::DynamicDataXcdrReadImpl::get_value_from_union(), OpenDDS::XTypes::DynamicDataXcdrReadImpl::get_values_from_union(), OpenDDS::DCPS::operator>>(), OpenDDS::XTypes::DynamicDataXcdrReadImpl::read_discriminator(), and OpenDDS::XTypes::DynamicDataXcdrReadImpl::skip_to_struct_member().
ACE_INLINE bool OpenDDS::DCPS::Serializer::read_short_array | ( | ACE_CDR::Short * | x, |
ACE_CDR::ULong | length | ||
) |
Read basic IDL types arrays The buffer x must be large enough to contain length elements. Return false
on failure and true
on success.
Definition at line 581 of file Serializer.inl.
References ACE_INLINE, and OpenDDS::DCPS::int16_cdr_size.
size_t OpenDDS::DCPS::Serializer::read_string | ( | ACE_CDR::Char *& | dest, |
StrAllocate | str_alloc = 0 , |
||
StrFree | str_free = 0 |
||
) |
Definition at line 520 of file Serializer.cpp.
References current_, free_string(), good_bit_, length(), read_char_array(), CORBA::string_alloc(), and FACE::string_alloc().
Referenced by OpenDDS::FaceTypes::operator>>(), and OpenDDS::DCPS::operator>>().
size_t OpenDDS::DCPS::Serializer::read_string | ( | ACE_CDR::WChar *& | dest, |
WStrAllocate | str_alloc = 0 , |
||
WStrFree | str_free = 0 |
||
) |
Definition at line 603 of file Serializer.cpp.
References buffer_read(), OpenDDS::DCPS::char16_cdr_size, current_, free_string(), good_bit_, length(), read_array(), swap_bytes(), wstring_alloc(), and CORBA::wstring_alloc().
ACE_INLINE bool OpenDDS::DCPS::Serializer::read_ulong_array | ( | ACE_CDR::ULong * | x, |
ACE_CDR::ULong | length | ||
) |
Read basic IDL types arrays The buffer x must be large enough to contain length elements. Return false
on failure and true
on success.
Definition at line 611 of file Serializer.inl.
References ACE_INLINE, and OpenDDS::DCPS::uint32_cdr_size.
Referenced by OpenDDS::DCPS::operator>>().
ACE_INLINE bool OpenDDS::DCPS::Serializer::read_ulonglong_array | ( | ACE_CDR::ULongLong * | x, |
ACE_CDR::ULong | length | ||
) |
Read basic IDL types arrays The buffer x must be large enough to contain length elements. Return false
on failure and true
on success.
Definition at line 631 of file Serializer.inl.
References ACE_INLINE, and OpenDDS::DCPS::uint64_cdr_size.
ACE_INLINE bool OpenDDS::DCPS::Serializer::read_ushort_array | ( | ACE_CDR::UShort * | x, |
ACE_CDR::ULong | length | ||
) |
Read basic IDL types arrays The buffer x must be large enough to contain length elements. Return false
on failure and true
on success.
Definition at line 591 of file Serializer.inl.
References ACE_INLINE, and OpenDDS::DCPS::uint16_cdr_size.
ACE_INLINE bool OpenDDS::DCPS::Serializer::read_wchar_array | ( | ACE_CDR::WChar * | x, |
ACE_CDR::ULong | length | ||
) |
Read basic IDL types arrays The buffer x must be large enough to contain length elements. Return false
on failure and true
on success.
Definition at line 547 of file Serializer.inl.
References ACE_INLINE.
void OpenDDS::DCPS::Serializer::reset_alignment | ( | ) |
Reset alignment as if a new instance were created.
Definition at line 443 of file Serializer.cpp.
References OpenDDS::DCPS::align(), align_rshift_, align_wshift_, current_, encoding(), OpenDDS::DCPS::Encoding::max_align(), offset(), ACE_Message_Block::rd_ptr(), and ACE_Message_Block::wr_ptr().
Referenced by OpenDDS::RTPS::Sedp::SecurityReader::data_received_i(), OpenDDS::DCPS::operator<<(), OpenDDS::DCPS::operator>>(), read_parameter_id(), OpenDDS::DCPS::Serializer::ScopedAlignmentContext::ScopedAlignmentContext(), Serializer(), and write_parameter_id().
|
inline |
Examine the logical reading position of the stream.
Definition at line 475 of file Serializer.h.
Referenced by OpenDDS::XTypes::DynamicDataXcdrReadImpl::get_item_count(), OpenDDS::DCPS::operator>>(), peek(), OpenDDS::DCPS::Serializer::ScopedAlignmentContext::restore(), OpenDDS::XTypes::DynamicDataXcdrReadImpl::skip_to_map_element(), and OpenDDS::XTypes::DynamicDataXcdrReadImpl::skip_to_struct_member().
ACE_INLINE void OpenDDS::DCPS::Serializer::set_construction_status | ( | ConstructionStatus | cs | ) |
Definition at line 1751 of file Serializer.inl.
References ACE_INLINE.
Referenced by OpenDDS::DCPS::operator>>().
ACE_INLINE bool OpenDDS::DCPS::Serializer::skip | ( | size_t | n, |
int | size = 1 |
||
) |
Skip the logical rd_ptr() over a given number of bytes = n * size. If alignment is enabled, skips any padding to align to 'size' before skipping the n * size bytes. This is used by the RTPS protocol to allow reading messages from future versions of the spec which may have additional optional fields.
Definition at line 443 of file Serializer.inl.
References ACE_INLINE, OpenDDS::STUN::encoding(), and OpenDDS::DCPS::Encoding::max_align().
Referenced by OpenDDS::Security::CryptoBuiltInImpl::authtag(), OpenDDS::RTPS::blob_to_locators(), OpenDDS::Security::CryptoBuiltInImpl::decode_serialized_payload(), OpenDDS::Security::CryptoBuiltInImpl::decode_submessage(), OpenDDS::XTypes::DynamicDataXcdrReadImpl::get_item_count(), OpenDDS::XTypes::DynamicDataXcdrReadImpl::get_member_id_at_index(), OpenDDS::RTPS::Spdp::SpdpTransport::handle_input(), OpenDDS::DCPS::RtpsSampleHeader::init(), OpenDDS::STUN::operator>>(), OpenDDS::DCPS::operator>>(), OpenDDS::Security::CryptoBuiltInImpl::preprocess_secure_submsg(), OpenDDS::XTypes::read_empty_xcdr2_nonfinal(), read_parameter_id(), OpenDDS::DCPS::Serializer::ScopedAlignmentContext::restore(), OpenDDS::XTypes::DynamicDataXcdrReadImpl::skip(), OpenDDS::XTypes::DynamicDataXcdrReadImpl::skip_to_array_element(), OpenDDS::XTypes::DynamicDataXcdrReadImpl::skip_to_map_element(), OpenDDS::XTypes::DynamicDataXcdrReadImpl::skip_to_sequence_element(), OpenDDS::XTypes::DynamicDataXcdrReadImpl::skip_to_struct_member(), OpenDDS::RTPS::MessageParser::skipSubmessageContent(), and OpenDDS::RTPS::MessageParser::skipToNextSubmessage().
ACE_INLINE bool OpenDDS::DCPS::Serializer::skip_delimiter | ( | ) |
Skip a delimiter used for XCDR2 delimited data.
Returns true if successful
Definition at line 903 of file Serializer.inl.
References ACE_INLINE, OpenDDS::STUN::encoding(), OpenDDS::DCPS::uint32_cdr_size, OpenDDS::DCPS::Encoding::xcdr_version(), and OpenDDS::DCPS::Encoding::XCDR_VERSION_2.
Referenced by OpenDDS::XTypes::DynamicDataXcdrReadImpl::get_complex_value(), OpenDDS::XTypes::DynamicDataXcdrReadImpl::get_item_count(), OpenDDS::XTypes::DynamicDataXcdrReadImpl::get_member_id_at_index(), OpenDDS::XTypes::DynamicDataXcdrReadImpl::get_union_selected_member(), OpenDDS::XTypes::DynamicDataXcdrReadImpl::get_value_from_union(), OpenDDS::XTypes::DynamicDataXcdrReadImpl::read_values(), OpenDDS::XTypes::DynamicDataXcdrReadImpl::skip_to_array_element(), and OpenDDS::XTypes::DynamicDataXcdrReadImpl::skip_to_sequence_element().
|
private |
Efficient straight copy for quad words and shorter. This is an instance method to match the swapcpy semantics.
Definition at line 453 of file Serializer.cpp.
References ACE_OS::memcpy(), and OPENDDS_ASSERT.
ACE_INLINE void OpenDDS::DCPS::Serializer::swap_bytes | ( | bool | do_swap | ) |
Definition at line 403 of file Serializer.inl.
References ACE_INLINE, OpenDDS::STUN::encoding(), encoding_, OpenDDS::DCPS::ENDIAN_NATIVE, OpenDDS::DCPS::ENDIAN_NONNATIVE, and OpenDDS::DCPS::Encoding::endianness().
Referenced by OpenDDS::Security::CryptoBuiltInImpl::authtag(), OpenDDS::Security::CryptoBuiltInImpl::decode_submessage(), OpenDDS::RTPS::Spdp::SpdpTransport::handle_input(), OpenDDS::DCPS::TransportHeader::init(), OpenDDS::DCPS::DataSampleHeader::init(), OpenDDS::DCPS::operator<<(), OpenDDS::DCPS::operator>>(), and OpenDDS::RTPS::MessageParser::parseSubmessageHeader().
ACE_INLINE bool OpenDDS::DCPS::Serializer::swap_bytes | ( | ) | const |
Definition at line 411 of file Serializer.inl.
References ACE_INLINE.
Referenced by read_string().
|
private |
Efficient swapping copy for quad words and shorter. This is an instance method to allow clearing the good_bit_ on error.
Definition at line 460 of file Serializer.cpp.
References good_bit_.
ACE_Message_Block * OpenDDS::DCPS::Serializer::trim | ( | size_t | n | ) | const |
Return a duplicated Message Block (chain) which starts at the current read position (rpos) and extends for n bytes. This can be used to treat a subset of the original message as if it was itself a full message, for example the SerializedPayload or the Parameter value inside a ParameterList. The returned object should be release()'d (use Message_Block_Ptr)
Definition at line 688 of file Serializer.cpp.
References ACE_Message_Block::cont(), current_, dup(), ACE_Message_Block::duplicate(), good_bit(), ACE_Message_Block::length(), length(), and ACE_Message_Block::release().
|
inline |
Examine the logical writing position of the stream.
Definition at line 478 of file Serializer.h.
Referenced by OpenDDS::DCPS::Serializer::ScopedAlignmentContext::restore().
|
private |
Write an array of values to the chain. NOTE: This assumes that there is no padding between the array elements. If this is not the case, do not use this method. If padding exists in the array, it will be written when not swapping, and will not be written when swapping, resulting in corrupted data.
Definition at line 502 of file Serializer.inl.
References ACE_INLINE.
Referenced by OpenDDS::DCPS::operator<<().
|
private |
Write an array of values to the chain. NOTE: This assumes that there is no padding between the array elements. If this is not the case, do not use this method. If padding exists in the array, it will be written when not swapping, and will not be written when swapping, resulting in corrupted data.
Definition at line 508 of file Serializer.inl.
References ACE_INLINE.
ACE_INLINE bool OpenDDS::DCPS::Serializer::write_boolean_array | ( | const ACE_CDR::Boolean * | x, |
ACE_CDR::ULong | length | ||
) |
Array write operations Note: the portion written starts at x and ends at x + length. The length is NOT stored into the CDR stream.
Definition at line 671 of file Serializer.inl.
References ACE_INLINE, and OpenDDS::DCPS::boolean_cdr_size.
Referenced by OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_primitive_array().
ACE_INLINE bool OpenDDS::DCPS::Serializer::write_char_array | ( | const ACE_CDR::Char * | x, |
ACE_CDR::ULong | length | ||
) |
Array write operations Note: the portion written starts at x and ends at x + length. The length is NOT stored into the CDR stream.
Definition at line 679 of file Serializer.inl.
References ACE_INLINE, and OpenDDS::DCPS::char8_cdr_size.
Referenced by OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_primitive_array().
ACE_INLINE bool OpenDDS::DCPS::Serializer::write_delimiter | ( | size_t | size | ) |
Write a delimiter used for XCDR2 delimited data.
Size is assumed to include the delimiter as serialized_size would return. Returns true if successful.
Definition at line 925 of file Serializer.inl.
References ACE_INLINE, OpenDDS::STUN::encoding(), OpenDDS::DCPS::uint32_cdr_size, OpenDDS::DCPS::Encoding::xcdr_version(), and OpenDDS::DCPS::Encoding::XCDR_VERSION_2.
Referenced by OpenDDS::DCPS::operator<<(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_bitmask_array_as_uints_i(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_bitmask_sequence_as_uints_i(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_complex_array(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_complex_sequence(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_enum_array_as_ints_i(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_enum_sequence_as_ints_i(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_generic_string_array(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_generic_string_sequence(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_nested_bitmask_sequences(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_nested_enum_sequences(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_nesting_basic_array_i(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_nesting_basic_sequence_i(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_nesting_bitmask_array(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_nesting_bitmask_sequence(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_nesting_enum_array(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_nesting_enum_sequence(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_sequence_member_default_value(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_structure_xcdr2(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_union_xcdr2(), and OpenDDS::XTypes::write_empty_xcdr2_nonfinal().
ACE_INLINE bool OpenDDS::DCPS::Serializer::write_double_array | ( | const ACE_CDR::Double * | x, |
ACE_CDR::ULong | length | ||
) |
Array write operations Note: the portion written starts at x and ends at x + length. The length is NOT stored into the CDR stream.
Definition at line 792 of file Serializer.inl.
References ACE_INLINE, and OpenDDS::DCPS::float64_cdr_size.
Referenced by OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_primitive_array().
ACE_INLINE bool OpenDDS::DCPS::Serializer::write_float_array | ( | const ACE_CDR::Float * | x, |
ACE_CDR::ULong | length | ||
) |
Array write operations Note: the portion written starts at x and ends at x + length. The length is NOT stored into the CDR stream.
Definition at line 782 of file Serializer.inl.
References ACE_INLINE, and OpenDDS::DCPS::float32_cdr_size.
Referenced by OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_primitive_array().
ACE_INLINE bool OpenDDS::DCPS::Serializer::write_list_end_parameter_id | ( | ) |
Write the parameter ID that marks the end of XCDR1 parameter lists.
Returns true if successful.
Definition at line 934 of file Serializer.inl.
References ACE_INLINE, OpenDDS::STUN::encoding(), OpenDDS::DCPS::xcdr1_pid_alignment, OpenDDS::DCPS::Encoding::xcdr_version(), and OpenDDS::DCPS::Encoding::XCDR_VERSION_1.
ACE_INLINE bool OpenDDS::DCPS::Serializer::write_long_array | ( | const ACE_CDR::Long * | x, |
ACE_CDR::ULong | length | ||
) |
Array write operations Note: the portion written starts at x and ends at x + length. The length is NOT stored into the CDR stream.
Definition at line 740 of file Serializer.inl.
References ACE_INLINE, and OpenDDS::DCPS::int32_cdr_size.
Referenced by OpenDDS::DCPS::operator<<(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_enum_array_as_ints_i(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_enum_sequence_as_ints_i(), and OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_primitive_array().
ACE_INLINE bool OpenDDS::DCPS::Serializer::write_longdouble_array | ( | const ACE_CDR::LongDouble * | x, |
ACE_CDR::ULong | length | ||
) |
Array write operations Note: the portion written starts at x and ends at x + length. The length is NOT stored into the CDR stream.
Definition at line 802 of file Serializer.inl.
References ACE_INLINE, and OpenDDS::DCPS::float128_cdr_size.
Referenced by OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_primitive_array().
ACE_INLINE bool OpenDDS::DCPS::Serializer::write_longlong_array | ( | const ACE_CDR::LongLong * | x, |
ACE_CDR::ULong | length | ||
) |
Array write operations Note: the portion written starts at x and ends at x + length. The length is NOT stored into the CDR stream.
Definition at line 760 of file Serializer.inl.
References ACE_INLINE, and OpenDDS::DCPS::int64_cdr_size.
Referenced by OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_primitive_array().
ACE_INLINE bool OpenDDS::DCPS::Serializer::write_octet_array | ( | const ACE_CDR::Octet * | x, |
ACE_CDR::ULong | length | ||
) |
Array write operations Note: the portion written starts at x and ends at x + length. The length is NOT stored into the CDR stream.
Definition at line 697 of file Serializer.inl.
References ACE_INLINE, OpenDDS::DCPS::byte_cdr_size, OpenDDS::DCPS::int8_cdr_size, and OpenDDS::DCPS::uint8_cdr_size.
Referenced by OpenDDS::Security::CryptoBuiltInImpl::encode_rtps_message(), OpenDDS::Security::CryptoBuiltInImpl::encode_serialized_payload(), OpenDDS::Security::CryptoBuiltInImpl::encode_submessage(), OpenDDS::DCPS::RtpsUdpSendStrategy::marshal_transport_header(), OpenDDS::DCPS::operator<<(), OpenDDS::STUN::operator<<(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_primitive_array(), and OpenDDS::DCPS::ReceivedDataSample::write_data().
bool OpenDDS::DCPS::Serializer::write_parameter_id | ( | const unsigned | id, |
size_t | size, | ||
bool | must_understand = false |
||
) |
Write a XCDR parameter ID used in XCDR parameter lists.
Returns true if successful.
Definition at line 784 of file Serializer.cpp.
References align_w(), emheader_must_understand, encoding(), MEMBER_ID_MAX, OPENDDS_END_VERSIONED_NAMESPACE_DECL, pid_extended, pid_impl_extension, pid_must_understand, reset_alignment(), OpenDDS::DCPS::xcdr1_pid_alignment, OpenDDS::DCPS::Encoding::xcdr_version(), OpenDDS::DCPS::Encoding::XCDR_VERSION_1, and OpenDDS::DCPS::Encoding::XCDR_VERSION_2.
Referenced by OpenDDS::DCPS::operator<<(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_basic_struct_member_xcdr2(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_complex_aggregated_member_xcdr2(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_complex_aggregated_member_xcdr2_default(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_discriminator_member_xcdr2(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_sequence_aggregated_member_xcdr2(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_sequence_struct_member_xcdr2(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_single_aggregated_member_xcdr2(), and OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_union_xcdr2().
ACE_INLINE bool OpenDDS::DCPS::Serializer::write_short_array | ( | const ACE_CDR::Short * | x, |
ACE_CDR::ULong | length | ||
) |
Array write operations Note: the portion written starts at x and ends at x + length. The length is NOT stored into the CDR stream.
Definition at line 720 of file Serializer.inl.
References ACE_INLINE, and OpenDDS::DCPS::int16_cdr_size.
Referenced by OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_enum_array_as_ints_i(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_enum_sequence_as_ints_i(), and OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_primitive_array().
ACE_INLINE bool OpenDDS::DCPS::Serializer::write_ulong_array | ( | const ACE_CDR::ULong * | x, |
ACE_CDR::ULong | length | ||
) |
Array write operations Note: the portion written starts at x and ends at x + length. The length is NOT stored into the CDR stream.
Definition at line 750 of file Serializer.inl.
References ACE_INLINE, and OpenDDS::DCPS::uint32_cdr_size.
Referenced by OpenDDS::DCPS::operator<<(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_bitmask_array_as_uints_i(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_bitmask_sequence_as_uints_i(), and OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_primitive_array().
ACE_INLINE bool OpenDDS::DCPS::Serializer::write_ulonglong_array | ( | const ACE_CDR::ULongLong * | x, |
ACE_CDR::ULong | length | ||
) |
Array write operations Note: the portion written starts at x and ends at x + length. The length is NOT stored into the CDR stream.
Definition at line 771 of file Serializer.inl.
References ACE_INLINE, and OpenDDS::DCPS::uint64_cdr_size.
Referenced by OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_bitmask_array_as_uints_i(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_bitmask_sequence_as_uints_i(), and OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_primitive_array().
ACE_INLINE bool OpenDDS::DCPS::Serializer::write_ushort_array | ( | const ACE_CDR::UShort * | x, |
ACE_CDR::ULong | length | ||
) |
Array write operations Note: the portion written starts at x and ends at x + length. The length is NOT stored into the CDR stream.
Definition at line 730 of file Serializer.inl.
References ACE_INLINE, and OpenDDS::DCPS::uint16_cdr_size.
Referenced by OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_bitmask_array_as_uints_i(), OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_bitmask_sequence_as_uints_i(), and OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_primitive_array().
ACE_INLINE bool OpenDDS::DCPS::Serializer::write_wchar_array | ( | const ACE_CDR::WChar * | x, |
ACE_CDR::ULong | length | ||
) |
Array write operations Note: the portion written starts at x and ends at x + length. The length is NOT stored into the CDR stream.
Definition at line 686 of file Serializer.inl.
References ACE_INLINE.
Referenced by OpenDDS::XTypes::DynamicDataImpl::DataContainer::serialize_primitive_array().
|
friend |
Definition at line 951 of file Serializer.inl.
|
friend |
Definition at line 958 of file Serializer.inl.
|
friend |
Definition at line 968 of file Serializer.inl.
|
friend |
Definition at line 978 of file Serializer.inl.
|
friend |
Definition at line 988 of file Serializer.inl.
|
friend |
Definition at line 998 of file Serializer.inl.
|
friend |
Definition at line 1008 of file Serializer.inl.
|
friend |
Definition at line 1018 of file Serializer.inl.
|
friend |
Definition at line 1028 of file Serializer.inl.
|
friend |
Definition at line 1038 of file Serializer.inl.
|
friend |
Definition at line 1048 of file Serializer.inl.
|
friend |
Definition at line 1065 of file Serializer.inl.
|
friend |
Definition at line 1107 of file Serializer.inl.
|
friend |
Definition at line 1114 of file Serializer.inl.
|
friend |
Definition at line 1121 of file Serializer.inl.
|
friend |
Definition at line 1172 of file Serializer.inl.
|
friend |
Definition at line 1179 of file Serializer.inl.
|
friend |
Definition at line 1194 of file Serializer.inl.
|
friend |
Definition at line 1146 of file Serializer.inl.
|
friend |
Definition at line 1152 of file Serializer.inl.
|
friend |
Definition at line 1227 of file Serializer.inl.
|
friend |
Definition at line 1234 of file Serializer.inl.
|
friend |
Definition at line 1244 of file Serializer.inl.
|
friend |
Definition at line 1254 of file Serializer.inl.
|
friend |
Definition at line 1264 of file Serializer.inl.
|
friend |
Definition at line 1274 of file Serializer.inl.
|
friend |
Definition at line 1284 of file Serializer.inl.
|
friend |
Definition at line 1294 of file Serializer.inl.
|
friend |
Definition at line 1304 of file Serializer.inl.
|
friend |
Definition at line 1314 of file Serializer.inl.
|
friend |
Definition at line 1324 of file Serializer.inl.
|
friend |
Definition at line 1331 of file Serializer.inl.
|
friend |
Definition at line 1354 of file Serializer.inl.
|
friend |
Definition at line 1361 of file Serializer.inl.
|
friend |
Definition at line 1368 of file Serializer.inl.
|
friend |
Definition at line 1386 of file Serializer.inl.
|
friend |
Definition at line 1393 of file Serializer.inl.
|
friend |
Definition at line 1404 of file Serializer.inl.
|
friend |
Definition at line 1431 of file Serializer.inl.
|
friend |
Definition at line 1444 of file Serializer.inl.
|
staticprivate |
Buffer that is copied for zero padding.
Definition at line 897 of file Serializer.h.
Referenced by OpenDDS::DCPS::Encoding::to_string().
|
private |
Number of bytes off of max alignment that the current_ block's rd_ptr() started at.
Definition at line 882 of file Serializer.h.
Referenced by peek(), reset_alignment(), and OpenDDS::DCPS::Serializer::ScopedAlignmentContext::restore().
|
private |
Number of bytes off of max alignment that the current_ block's wr_ptr() started at.
Definition at line 888 of file Serializer.h.
Referenced by reset_alignment(), and OpenDDS::DCPS::Serializer::ScopedAlignmentContext::restore().
|
private |
The way to judge whether tryconstruct trim is able to be properly done.
Definition at line 876 of file Serializer.h.
|
private |
Currently active message block in chain.
Definition at line 864 of file Serializer.h.
Referenced by peek(), read_string(), reset_alignment(), OpenDDS::DCPS::Serializer::ScopedAlignmentContext::restore(), and trim().
|
static |
Definition at line 384 of file Serializer.h.
Referenced by read_parameter_id(), and write_parameter_id().
|
private |
Encoding Settings.
Definition at line 867 of file Serializer.h.
|
private |
Indicates the current state of the stream abstraction.
Definition at line 873 of file Serializer.h.
Referenced by OpenDDS::DCPS::operator<<(), read_string(), and swapcpy().
|
static |
Definition at line 388 of file Serializer.h.
Referenced by OpenDDS::XTypes::hash_member_name_to_id().
|
static |
Maximum value for member id.
Definition at line 387 of file Serializer.h.
Referenced by invalid_option(), and write_parameter_id().
|
static |
Flags and reserved ids used in parameter list ids.
Definition at line 373 of file Serializer.h.
Referenced by read_parameter_id(), and write_parameter_id().
|
static |
Flags and reserved ids used in parameter list ids.
Definition at line 379 of file Serializer.h.
Referenced by write_parameter_id().
|
static |
Note that this is different than OpenDDS::RTPS::PID_SENTINEL(0x0001). See XTypes 1.3 Table 34 for details.
Definition at line 378 of file Serializer.h.
|
static |
Flags and reserved ids used in parameter list ids.
Definition at line 380 of file Serializer.h.
Referenced by write_parameter_id().
|
private |
Logical reading position of the stream.
Definition at line 891 of file Serializer.h.
Referenced by peek().
|
private |
Indicates whether bytes will be swapped for this stream.
Definition at line 870 of file Serializer.h.
|
private |
Logical writing position of the stream.
Definition at line 894 of file Serializer.h.