8#ifndef INCLUDED_S_BALTST_RAWDATASWITCHED
9#define INCLUDED_S_BALTST_RAWDATASWITCHED
43#include <bslalg_typetraits.h>
57#include <bsl_vector.h>
59#include <bsl_iosfwd.h>
60#include <bsl_limits.h>
64namespace bslma {
class Allocator; }
66namespace s_baltst {
class RawDataSwitched; }
129#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
130 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
154#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
155 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
172 template <
typename t_MANIPULATOR>
181 template <
typename t_MANIPULATOR>
190 template <
typename t_MANIPULATOR>
217 bsl::ostream&
print(bsl::ostream& stream,
219 int spacesPerLevel = 4)
const;
227 template <
typename t_ACCESSOR>
235 template <
typename t_ACCESSOR>
244 template <
typename t_ACCESSOR>
247 int nameLength)
const;
265 return lhs.charvec() == rhs.charvec() &&
266 lhs.ucharvec() == rhs.ucharvec();
273 return !(lhs == rhs);
281 return rhs.print(stream, 0, -1);
305template <
typename t_MANIPULATOR>
323template <
typename t_MANIPULATOR>
326 enum { NOT_FOUND = -1 };
340template <
typename t_MANIPULATOR>
342 t_MANIPULATOR& manipulator,
346 enum { NOT_FOUND = -1 };
350 if (0 == attributeInfo) {
370template <
typename t_ACCESSOR>
388template <
typename t_ACCESSOR>
391 enum { NOT_FOUND = -1 };
405template <
typename t_ACCESSOR>
407 t_ACCESSOR& accessor,
409 int nameLength)
const
411 enum { NOT_FOUND = -1 };
415 if (0 == attributeInfo) {
Definition bslstl_vector.h:1120
Definition bslma_allocator.h:545
Definition s_baltst_rawdataswitched.h:73
int manipulateAttribute(t_MANIPULATOR &manipulator, int id)
Definition s_baltst_rawdataswitched.h:324
friend bool operator==(const RawDataSwitched &lhs, const RawDataSwitched &rhs)
Definition s_baltst_rawdataswitched.h:262
static const bdlat_AttributeInfo ATTRIBUTE_INFO_ARRAY[]
Definition s_baltst_rawdataswitched.h:98
static const bdlat_AttributeInfo * lookupAttributeInfo(int id)
static const bdlat_AttributeInfo * lookupAttributeInfo(const char *name, int nameLength)
friend bool operator!=(const RawDataSwitched &lhs, const RawDataSwitched &rhs)
Returns !(lhs == rhs)
Definition s_baltst_rawdataswitched.h:270
@ NUM_ATTRIBUTES
Definition s_baltst_rawdataswitched.h:87
RawDataSwitched & operator=(const RawDataSwitched &rhs)
Assign to this object the value of the specified rhs object.
int accessAttribute(t_ACCESSOR &accessor, int id) const
Definition s_baltst_rawdataswitched.h:389
@ ATTRIBUTE_ID_UCHARVEC
Definition s_baltst_rawdataswitched.h:83
@ ATTRIBUTE_ID_CHARVEC
Definition s_baltst_rawdataswitched.h:82
int accessAttributes(t_ACCESSOR &accessor) const
Definition s_baltst_rawdataswitched.h:371
int manipulateAttributes(t_MANIPULATOR &manipulator)
Definition s_baltst_rawdataswitched.h:306
friend bsl::ostream & operator<<(bsl::ostream &stream, const RawDataSwitched &rhs)
Definition s_baltst_rawdataswitched.h:278
bsl::ostream & print(bsl::ostream &stream, int level=0, int spacesPerLevel=4) const
bsl::vector< unsigned char > & ucharvec()
Definition s_baltst_rawdataswitched.h:364
RawDataSwitched(bslma::Allocator *basicAllocator=0)
RawDataSwitched(const RawDataSwitched &original, bslma::Allocator *basicAllocator=0)
~RawDataSwitched()
Destroy this object.
bsl::vector< char > & charvec()
Definition s_baltst_rawdataswitched.h:358
static const char CLASS_NAME[]
Definition s_baltst_rawdataswitched.h:96
@ ATTRIBUTE_INDEX_UCHARVEC
Definition s_baltst_rawdataswitched.h:92
@ ATTRIBUTE_INDEX_CHARVEC
Definition s_baltst_rawdataswitched.h:91
#define BDLAT_DECL_SEQUENCE_WITH_ALLOCATOR_BITWISEMOVEABLE_TRAITS(ClassName)
Definition bdlat_typetraits.h:301
#define BSLS_IDENT_RCSID(tag, str)
BSLS_IDENT_RCSID() - insert ident str (specific to platform/compiler)
Definition bsls_ident.h:244
#define BSLS_IDENT_PRAGMA_ONCE
BSLS_IDENT_PRAGMA_ONCE - macro to avoid multiple inclusion
Definition bsls_ident.h:263
Definition baljsn_encoder_testtypes.h:76
Definition s_baltst_address.h:66
Definition bdlat_attributeinfo.h:139
int d_id
Definition bdlat_attributeinfo.h:142
Definition bdlat_typetraits.h:146