8#ifndef INCLUDED_S_BALTST_MYSEQUENCEWITHTHREEARRAYS
9#define INCLUDED_S_BALTST_MYSEQUENCEWITHTHREEARRAYS
43#include <bslalg_typetraits.h>
57#include <bsl_string.h>
59#include <bsl_vector.h>
61#include <bsl_iosfwd.h>
62#include <bsl_limits.h>
66namespace bslma {
class Allocator; }
68namespace s_baltst {
class MySequenceWithThreeArrays; }
134#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
135 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
160#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
161 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
178 template <
typename t_MANIPULATOR>
187 template <
typename t_MANIPULATOR>
196 template <
typename t_MANIPULATOR>
227 bsl::ostream&
print(bsl::ostream& stream,
229 int spacesPerLevel = 4)
const;
237 template <
typename t_ACCESSOR>
245 template <
typename t_ACCESSOR>
254 template <
typename t_ACCESSOR>
257 int nameLength)
const;
279 return lhs.attribute1() == rhs.attribute1() &&
280 lhs.attribute2() == rhs.attribute2() &&
281 lhs.attribute3() == rhs.attribute3();
288 return !(lhs == rhs);
296 return rhs.print(stream, 0, -1);
320template <
typename t_MANIPULATOR>
343template <
typename t_MANIPULATOR>
346 enum { NOT_FOUND = -1 };
363template <
typename t_MANIPULATOR>
365 t_MANIPULATOR& manipulator,
369 enum { NOT_FOUND = -1 };
373 if (0 == attributeInfo) {
399template <
typename t_ACCESSOR>
422template <
typename t_ACCESSOR>
425 enum { NOT_FOUND = -1 };
442template <
typename t_ACCESSOR>
444 t_ACCESSOR& accessor,
446 int nameLength)
const
448 enum { NOT_FOUND = -1 };
452 if (0 == attributeInfo) {
Definition bslstl_vector.h:1120
Definition bslma_allocator.h:545
Definition s_baltst_mysequencewiththreearrays.h:75
static const bdlat_AttributeInfo * lookupAttributeInfo(const char *name, int nameLength)
MySequenceWithThreeArrays(bslma::Allocator *basicAllocator=0)
@ ATTRIBUTE_INDEX_ATTRIBUTE1
Definition s_baltst_mysequencewiththreearrays.h:95
@ ATTRIBUTE_INDEX_ATTRIBUTE3
Definition s_baltst_mysequencewiththreearrays.h:97
@ ATTRIBUTE_INDEX_ATTRIBUTE2
Definition s_baltst_mysequencewiththreearrays.h:96
friend bool operator!=(const MySequenceWithThreeArrays &lhs, const MySequenceWithThreeArrays &rhs)
Returns !(lhs == rhs)
Definition s_baltst_mysequencewiththreearrays.h:285
MySequenceWithThreeArrays(const MySequenceWithThreeArrays &original, bslma::Allocator *basicAllocator=0)
static const char CLASS_NAME[]
Definition s_baltst_mysequencewiththreearrays.h:101
int manipulateAttribute(t_MANIPULATOR &manipulator, int id)
Definition s_baltst_mysequencewiththreearrays.h:344
friend bsl::ostream & operator<<(bsl::ostream &stream, const MySequenceWithThreeArrays &rhs)
Definition s_baltst_mysequencewiththreearrays.h:293
static const bdlat_AttributeInfo * lookupAttributeInfo(int id)
bsl::vector< int > & attribute2()
Definition s_baltst_mysequencewiththreearrays.h:387
~MySequenceWithThreeArrays()
Destroy this object.
bsl::ostream & print(bsl::ostream &stream, int level=0, int spacesPerLevel=4) const
int accessAttributes(t_ACCESSOR &accessor) const
Definition s_baltst_mysequencewiththreearrays.h:400
@ NUM_ATTRIBUTES
Definition s_baltst_mysequencewiththreearrays.h:91
MySequenceWithThreeArrays & operator=(const MySequenceWithThreeArrays &rhs)
Assign to this object the value of the specified rhs object.
@ ATTRIBUTE_ID_ATTRIBUTE3
Definition s_baltst_mysequencewiththreearrays.h:87
@ ATTRIBUTE_ID_ATTRIBUTE2
Definition s_baltst_mysequencewiththreearrays.h:86
@ ATTRIBUTE_ID_ATTRIBUTE1
Definition s_baltst_mysequencewiththreearrays.h:85
int accessAttribute(t_ACCESSOR &accessor, int id) const
Definition s_baltst_mysequencewiththreearrays.h:423
bsl::vector< double > & attribute3()
Definition s_baltst_mysequencewiththreearrays.h:393
bsl::vector< bsl::string > & attribute1()
Definition s_baltst_mysequencewiththreearrays.h:381
static const bdlat_AttributeInfo ATTRIBUTE_INFO_ARRAY[]
Definition s_baltst_mysequencewiththreearrays.h:103
int manipulateAttributes(t_MANIPULATOR &manipulator)
Definition s_baltst_mysequencewiththreearrays.h:321
friend bool operator==(const MySequenceWithThreeArrays &lhs, const MySequenceWithThreeArrays &rhs)
Definition s_baltst_mysequencewiththreearrays.h:276
#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