8#ifndef INCLUDED_S_BALTST_ADDRESS
9#define INCLUDED_S_BALTST_ADDRESS
43#include <bslalg_typetraits.h>
57#include <bsl_string.h>
59#include <bsl_iosfwd.h>
60#include <bsl_limits.h>
64namespace bslma {
class Allocator; }
132#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
133 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
157#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
158 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
175 template<
class MANIPULATOR>
184 template<
class MANIPULATOR>
193 template<
class MANIPULATOR>
223 bsl::ostream&
print(bsl::ostream& stream,
225 int spacesPerLevel = 4)
const;
233 template<
class ACCESSOR>
241 template<
class ACCESSOR>
250 template<
class ACCESSOR>
253 int nameLength)
const;
306template <
class MANIPULATOR>
329template <
class MANIPULATOR>
332 enum { NOT_FOUND = -1 };
349template <
class MANIPULATOR>
351 MANIPULATOR& manipulator,
355 enum { NOT_FOUND = -1 };
359 if (0 == attributeInfo) {
385template <
class ACCESSOR>
408template <
class ACCESSOR>
411 enum { NOT_FOUND = -1 };
428template <
class ACCESSOR>
432 int nameLength)
const
434 enum { NOT_FOUND = -1 };
438 if (0 == attributeInfo) {
482 return !(lhs == rhs);
487 bsl::ostream& stream,
490 return rhs.
print(stream, 0, -1);
Definition bslstl_string.h:1281
Definition bslma_allocator.h:457
Definition s_baltst_address.h:73
int accessAttribute(ACCESSOR &accessor, int id) const
Definition s_baltst_address.h:409
int accessAttributes(ACCESSOR &accessor) const
Definition s_baltst_address.h:386
@ ATTRIBUTE_INDEX_CITY
Definition s_baltst_address.h:94
@ ATTRIBUTE_INDEX_STATE
Definition s_baltst_address.h:95
@ ATTRIBUTE_INDEX_STREET
Definition s_baltst_address.h:93
bsl::string & city()
Definition s_baltst_address.h:373
static const bdlat_AttributeInfo * lookupAttributeInfo(int id)
~Address()
Destroy this object.
bsl::string & state()
Definition s_baltst_address.h:379
static const bdlat_AttributeInfo ATTRIBUTE_INFO_ARRAY[]
Definition s_baltst_address.h:101
static const bdlat_AttributeInfo * lookupAttributeInfo(const char *name, int nameLength)
static const char CLASS_NAME[]
Definition s_baltst_address.h:99
bsl::string & street()
Definition s_baltst_address.h:367
@ ATTRIBUTE_ID_STATE
Definition s_baltst_address.h:85
@ ATTRIBUTE_ID_STREET
Definition s_baltst_address.h:83
@ ATTRIBUTE_ID_CITY
Definition s_baltst_address.h:84
Address(const Address &original, bslma::Allocator *basicAllocator=0)
int manipulateAttributes(MANIPULATOR &manipulator)
Definition s_baltst_address.h:307
bsl::ostream & print(bsl::ostream &stream, int level=0, int spacesPerLevel=4) const
Address & operator=(const Address &rhs)
Assign to this object the value of the specified rhs object.
Address(bslma::Allocator *basicAllocator=0)
int manipulateAttribute(MANIPULATOR &manipulator, int id)
Definition s_baltst_address.h:330
@ NUM_ATTRIBUTES
Definition s_baltst_address.h:89
#define BDLAT_DECL_SEQUENCE_WITH_ALLOCATOR_BITWISEMOVEABLE_TRAITS(ClassName)
Definition bdlat_typetraits.h:282
#define BSLS_IDENT_RCSID(tag, str)
Definition bsls_ident.h:260
#define BSLS_IDENT_PRAGMA_ONCE
Definition bsls_ident.h:310
Definition balxml_encoderoptions.h:68
Definition s_baltst_address.h:66
bool operator!=(const Address &lhs, const Address &rhs)
bool operator==(const Address &lhs, const Address &rhs)
bsl::ostream & operator<<(bsl::ostream &stream, const Address &rhs)
Definition bdlat_attributeinfo.h:137
int d_id
Definition bdlat_attributeinfo.h:140