8#ifndef INCLUDED_S_BALTST_BIGRECORD
9#define INCLUDED_S_BALTST_BIGRECORD
43#include <bslalg_typetraits.h>
57#include <bsl_string.h>
59#include <bsl_vector.h>
63#include <bsl_iosfwd.h>
64#include <bsl_limits.h>
68namespace bslma {
class Allocator; }
70namespace s_baltst {
class BigRecord; }
136#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
137 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
161#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
162 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
179 template <
typename t_MANIPULATOR>
188 template <
typename t_MANIPULATOR>
197 template <
typename t_MANIPULATOR>
224 bsl::ostream&
print(bsl::ostream& stream,
226 int spacesPerLevel = 4)
const;
234 template <
typename t_ACCESSOR>
242 template <
typename t_ACCESSOR>
251 template <
typename t_ACCESSOR>
254 int nameLength)
const;
271 return lhs.name() == rhs.name() &&
272 lhs.array() == rhs.array();
278 return !(lhs == rhs);
285 return rhs.print(stream, 0, -1);
309template <
typename t_MANIPULATOR>
327template <
typename t_MANIPULATOR>
330 enum { NOT_FOUND = -1 };
344template <
typename t_MANIPULATOR>
346 t_MANIPULATOR& manipulator,
350 enum { NOT_FOUND = -1 };
354 if (0 == attributeInfo) {
374template <
typename t_ACCESSOR>
392template <
typename t_ACCESSOR>
395 enum { NOT_FOUND = -1 };
409template <
typename t_ACCESSOR>
411 t_ACCESSOR& accessor,
413 int nameLength)
const
415 enum { NOT_FOUND = -1 };
419 if (0 == attributeInfo) {
Definition bslstl_string.h:1252
Definition bslstl_vector.h:1120
Definition bslma_allocator.h:545
Definition s_baltst_bigrecord.h:80
BigRecord(const BigRecord &original, bslma::Allocator *basicAllocator=0)
static const bdlat_AttributeInfo * lookupAttributeInfo(const char *name, int nameLength)
int manipulateAttributes(t_MANIPULATOR &manipulator)
Definition s_baltst_bigrecord.h:310
static const bdlat_AttributeInfo ATTRIBUTE_INFO_ARRAY[]
Definition s_baltst_bigrecord.h:105
@ ATTRIBUTE_INDEX_ARRAY
Definition s_baltst_bigrecord.h:99
@ ATTRIBUTE_INDEX_NAME
Definition s_baltst_bigrecord.h:98
~BigRecord()
Destroy this object.
int accessAttribute(t_ACCESSOR &accessor, int id) const
Definition s_baltst_bigrecord.h:393
bsl::ostream & print(bsl::ostream &stream, int level=0, int spacesPerLevel=4) const
int manipulateAttribute(t_MANIPULATOR &manipulator, int id)
Definition s_baltst_bigrecord.h:328
static const char CLASS_NAME[]
Definition s_baltst_bigrecord.h:103
friend bool operator==(const BigRecord &lhs, const BigRecord &rhs)
Definition s_baltst_bigrecord.h:269
bsl::vector< s_baltst::BasicRecord > & array()
Definition s_baltst_bigrecord.h:368
BigRecord(bslma::Allocator *basicAllocator=0)
friend bool operator!=(const BigRecord &lhs, const BigRecord &rhs)
Returns !(lhs == rhs)
Definition s_baltst_bigrecord.h:276
@ NUM_ATTRIBUTES
Definition s_baltst_bigrecord.h:94
bsl::string & name()
Definition s_baltst_bigrecord.h:362
BigRecord & operator=(const BigRecord &rhs)
Assign to this object the value of the specified rhs object.
static const bdlat_AttributeInfo * lookupAttributeInfo(int id)
int accessAttributes(t_ACCESSOR &accessor) const
Definition s_baltst_bigrecord.h:375
@ ATTRIBUTE_ID_ARRAY
Definition s_baltst_bigrecord.h:90
@ ATTRIBUTE_ID_NAME
Definition s_baltst_bigrecord.h:89
friend bsl::ostream & operator<<(bsl::ostream &stream, const BigRecord &rhs)
Definition s_baltst_bigrecord.h:283
#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