BDE 4.14.0 Production release
Loading...
Searching...
No Matches
s_baltst::MySequenceWithNillables Class Reference

#include <s_baltst_mysequencewithnillables.h>

Public Types

enum  { ATTRIBUTE_ID_ATTRIBUTE1 = 0 , ATTRIBUTE_ID_ATTRIBUTE2 = 1 , ATTRIBUTE_ID_ATTRIBUTE3 = 2 }
 
enum  { NUM_ATTRIBUTES = 3 }
 
enum  { ATTRIBUTE_INDEX_ATTRIBUTE1 = 0 , ATTRIBUTE_INDEX_ATTRIBUTE2 = 1 , ATTRIBUTE_INDEX_ATTRIBUTE3 = 2 }
 

Public Member Functions

 MySequenceWithNillables (bslma::Allocator *basicAllocator=0)
 
 MySequenceWithNillables (const MySequenceWithNillables &original, bslma::Allocator *basicAllocator=0)
 
 ~MySequenceWithNillables ()
 Destroy this object.
 
MySequenceWithNillablesoperator= (const MySequenceWithNillables &rhs)
 Assign to this object the value of the specified rhs object.
 
void reset ()
 
template<class MANIPULATOR >
int manipulateAttributes (MANIPULATOR &manipulator)
 
template<class MANIPULATOR >
int manipulateAttribute (MANIPULATOR &manipulator, int id)
 
template<class MANIPULATOR >
int manipulateAttribute (MANIPULATOR &manipulator, const char *name, int nameLength)
 
bdlb::NullableValue< int > & attribute1 ()
 
bdlb::NullableValue< bsl::string > & attribute2 ()
 
bdlb::NullableValue< s_baltst::MySequence > & attribute3 ()
 
bsl::ostream & print (bsl::ostream &stream, int level=0, int spacesPerLevel=4) const
 
template<class ACCESSOR >
int accessAttributes (ACCESSOR &accessor) const
 
template<class ACCESSOR >
int accessAttribute (ACCESSOR &accessor, int id) const
 
template<class ACCESSOR >
int accessAttribute (ACCESSOR &accessor, const char *name, int nameLength) const
 
const bdlb::NullableValue< int > & attribute1 () const
 
const bdlb::NullableValue< bsl::string > & attribute2 () const
 
const bdlb::NullableValue< s_baltst::MySequence > & attribute3 () const
 

Static Public Member Functions

static const bdlat_AttributeInfolookupAttributeInfo (int id)
 
static const bdlat_AttributeInfolookupAttributeInfo (const char *name, int nameLength)
 

Static Public Attributes

static const char CLASS_NAME []
 
static const bdlat_AttributeInfo ATTRIBUTE_INFO_ARRAY []
 

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
ATTRIBUTE_ID_ATTRIBUTE1 
ATTRIBUTE_ID_ATTRIBUTE2 
ATTRIBUTE_ID_ATTRIBUTE3 

◆ anonymous enum

anonymous enum
Enumerator
NUM_ATTRIBUTES 

◆ anonymous enum

anonymous enum
Enumerator
ATTRIBUTE_INDEX_ATTRIBUTE1 
ATTRIBUTE_INDEX_ATTRIBUTE2 
ATTRIBUTE_INDEX_ATTRIBUTE3 

Constructor & Destructor Documentation

◆ MySequenceWithNillables() [1/2]

s_baltst::MySequenceWithNillables::MySequenceWithNillables ( bslma::Allocator basicAllocator = 0)
explicit

Create an object of type MySequenceWithNillables having the default value. Use the optionally specified basicAllocator to supply memory. If basicAllocator is 0, the currently installed default allocator is used.

◆ MySequenceWithNillables() [2/2]

s_baltst::MySequenceWithNillables::MySequenceWithNillables ( const MySequenceWithNillables original,
bslma::Allocator basicAllocator = 0 
)

Create an object of type MySequenceWithNillables having the value of the specified original object. Use the optionally specified basicAllocator to supply memory. If basicAllocator is 0, the currently installed default allocator is used.

◆ ~MySequenceWithNillables()

s_baltst::MySequenceWithNillables::~MySequenceWithNillables ( )

Member Function Documentation

◆ accessAttribute() [1/2]

template<class ACCESSOR >
int s_baltst::MySequenceWithNillables::accessAttribute ( ACCESSOR &  accessor,
const char *  name,
int  nameLength 
) const

Invoke the specified accessor on the (non-modifiable) attribute of this object indicated by the specified name of the specified nameLength, supplying accessor with the corresponding attribute information structure. Return the value returned from the invocation of accessor if name identifies an attribute of this class, and -1 otherwise.

◆ accessAttribute() [2/2]

template<class ACCESSOR >
int s_baltst::MySequenceWithNillables::accessAttribute ( ACCESSOR &  accessor,
int  id 
) const

Invoke the specified accessor on the (non-modifiable) attribute of this object indicated by the specified id, supplying accessor with the corresponding attribute information structure. Return the value returned from the invocation of accessor if id identifies an attribute of this class, and -1 otherwise.

◆ accessAttributes()

template<class ACCESSOR >
int s_baltst::MySequenceWithNillables::accessAttributes ( ACCESSOR &  accessor) const

Invoke the specified accessor sequentially on each (non-modifiable) attribute of this object, supplying accessor with the corresponding attribute information structure until such invocation returns a non-zero value. Return the value from the last invocation of accessor (i.e., the invocation that terminated the sequence).

◆ attribute1() [1/2]

bdlb::NullableValue< int > & s_baltst::MySequenceWithNillables::attribute1 ( )
inline

Return a reference to the modifiable "Attribute1" attribute of this object.

◆ attribute1() [2/2]

const bdlb::NullableValue< int > & s_baltst::MySequenceWithNillables::attribute1 ( ) const
inline

Return a reference offering non-modifiable access to the "Attribute1" attribute of this object.

◆ attribute2() [1/2]

bdlb::NullableValue< bsl::string > & s_baltst::MySequenceWithNillables::attribute2 ( )
inline

Return a reference to the modifiable "Attribute2" attribute of this object.

◆ attribute2() [2/2]

const bdlb::NullableValue< bsl::string > & s_baltst::MySequenceWithNillables::attribute2 ( ) const
inline

Return a reference offering non-modifiable access to the "Attribute2" attribute of this object.

◆ attribute3() [1/2]

bdlb::NullableValue< s_baltst::MySequence > & s_baltst::MySequenceWithNillables::attribute3 ( )
inline

Return a reference to the modifiable "Attribute3" attribute of this object.

◆ attribute3() [2/2]

const bdlb::NullableValue< s_baltst::MySequence > & s_baltst::MySequenceWithNillables::attribute3 ( ) const
inline

Return a reference offering non-modifiable access to the "Attribute3" attribute of this object.

◆ lookupAttributeInfo() [1/2]

static const bdlat_AttributeInfo * s_baltst::MySequenceWithNillables::lookupAttributeInfo ( const char *  name,
int  nameLength 
)
static

Return attribute information for the attribute indicated by the specified name of the specified nameLength if the attribute exists, and 0 otherwise.

◆ lookupAttributeInfo() [2/2]

static const bdlat_AttributeInfo * s_baltst::MySequenceWithNillables::lookupAttributeInfo ( int  id)
static

Return attribute information for the attribute indicated by the specified id if the attribute exists, and 0 otherwise.

◆ manipulateAttribute() [1/2]

template<class MANIPULATOR >
int s_baltst::MySequenceWithNillables::manipulateAttribute ( MANIPULATOR &  manipulator,
const char *  name,
int  nameLength 
)

Invoke the specified manipulator on the address of the (modifiable) attribute indicated by the specified name of the specified nameLength, supplying manipulator with the corresponding attribute information structure. Return the value returned from the invocation of manipulator if name identifies an attribute of this class, and -1 otherwise.

◆ manipulateAttribute() [2/2]

template<class MANIPULATOR >
int s_baltst::MySequenceWithNillables::manipulateAttribute ( MANIPULATOR &  manipulator,
int  id 
)

Invoke the specified manipulator on the address of the (modifiable) attribute indicated by the specified id, supplying manipulator with the corresponding attribute information structure. Return the value returned from the invocation of manipulator if id identifies an attribute of this class, and -1 otherwise.

◆ manipulateAttributes()

template<class MANIPULATOR >
int s_baltst::MySequenceWithNillables::manipulateAttributes ( MANIPULATOR &  manipulator)

Invoke the specified manipulator sequentially on the address of each (modifiable) attribute of this object, supplying manipulator with the corresponding attribute information structure until such invocation returns a non-zero value. Return the value from the last invocation of manipulator (i.e., the invocation that terminated the sequence).

◆ operator=()

MySequenceWithNillables & s_baltst::MySequenceWithNillables::operator= ( const MySequenceWithNillables rhs)

◆ print()

bsl::ostream & s_baltst::MySequenceWithNillables::print ( bsl::ostream &  stream,
int  level = 0,
int  spacesPerLevel = 4 
) const

Format this object to the specified output stream at the optionally specified indentation level and return a reference to the modifiable stream. If level is specified, optionally specify spacesPerLevel, the number of spaces per indentation level for this and all of its nested objects. Each line is indented by the absolute value of level * spacesPerLevel. If level is negative, suppress indentation of the first line. If spacesPerLevel is negative, suppress line breaks and format the entire output on one line. If stream is initially invalid, this operation has no effect. Note that a trailing newline is provided in multiline mode only.

◆ reset()

void s_baltst::MySequenceWithNillables::reset ( )

Reset this object to the default value (i.e., its value upon default construction).

Member Data Documentation

◆ ATTRIBUTE_INFO_ARRAY

const bdlat_AttributeInfo s_baltst::MySequenceWithNillables::ATTRIBUTE_INFO_ARRAY[]
static

◆ CLASS_NAME

const char s_baltst::MySequenceWithNillables::CLASS_NAME[]
static

The documentation for this class was generated from the following file: