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

#include <s_baltst_basicschema.h>

Public Types

enum  { SELECTION_ID_UNDEFINED = -1 , SELECTION_ID_ANNOTATION = 0 , SELECTION_ID_ELEMENT = 1 }
 
enum  { NUM_SELECTIONS = 2 }
 
enum  { SELECTION_INDEX_ANNOTATION = 0 , SELECTION_INDEX_ELEMENT = 1 }
 

Public Member Functions

 BasicSchemaSequenceElementChoice (bslma::Allocator *basicAllocator=0)
 
 BasicSchemaSequenceElementChoice (const BasicSchemaSequenceElementChoice &original, bslma::Allocator *basicAllocator=0)
 
 ~BasicSchemaSequenceElementChoice ()
 Destroy this object.
 
BasicSchemaSequenceElementChoiceoperator= (const BasicSchemaSequenceElementChoice &rhs)
 Assign to this object the value of the specified rhs object.
 
void reset ()
 
int makeSelection (int selectionId)
 
int makeSelection (const char *name, int nameLength)
 
BasicSchemaAnnotationElementmakeAnnotation ()
 
BasicSchemaAnnotationElementmakeAnnotation (const BasicSchemaAnnotationElement &value)
 
BasicSchemaElementmakeElement ()
 
BasicSchemaElementmakeElement (const BasicSchemaElement &value)
 
template<class MANIPULATOR >
int manipulateSelection (MANIPULATOR &manipulator)
 
BasicSchemaAnnotationElementannotation ()
 
BasicSchemaElementelement ()
 
bsl::ostream & print (bsl::ostream &stream, int level=0, int spacesPerLevel=4) const
 
int selectionId () const
 
template<class ACCESSOR >
int accessSelection (ACCESSOR &accessor) const
 
const BasicSchemaAnnotationElementannotation () const
 
const BasicSchemaElementelement () const
 
bool isAnnotationValue () const
 
bool isElementValue () const
 
bool isUndefinedValue () const
 
const char * selectionName () const
 Return the symbolic name of the current selection of this object.
 

Static Public Member Functions

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

Static Public Attributes

static const char CLASS_NAME []
 
static const bdlat_SelectionInfo SELECTION_INFO_ARRAY []
 

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
SELECTION_ID_UNDEFINED 
SELECTION_ID_ANNOTATION 
SELECTION_ID_ELEMENT 

◆ anonymous enum

anonymous enum
Enumerator
NUM_SELECTIONS 

◆ anonymous enum

anonymous enum
Enumerator
SELECTION_INDEX_ANNOTATION 
SELECTION_INDEX_ELEMENT 

Constructor & Destructor Documentation

◆ BasicSchemaSequenceElementChoice() [1/2]

s_baltst::BasicSchemaSequenceElementChoice::BasicSchemaSequenceElementChoice ( bslma::Allocator basicAllocator = 0)
inlineexplicit

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

◆ BasicSchemaSequenceElementChoice() [2/2]

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

Create an object of type BasicSchemaSequenceElementChoice 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.

◆ ~BasicSchemaSequenceElementChoice()

s_baltst::BasicSchemaSequenceElementChoice::~BasicSchemaSequenceElementChoice ( )
inline

Member Function Documentation

◆ accessSelection()

template<class ACCESSOR >
int s_baltst::BasicSchemaSequenceElementChoice::accessSelection ( ACCESSOR &  accessor) const

Invoke the specified accessor on the non-modifiable selection, supplying accessor with the corresponding selection information structure. Return the value returned from the invocation of accessor if this object has a defined selection, and -1 otherwise.

◆ annotation() [1/2]

BasicSchemaAnnotationElement & s_baltst::BasicSchemaSequenceElementChoice::annotation ( )
inline

Return a reference to the modifiable "Annotation" selection of this object if "Annotation" is the current selection. The behavior is undefined unless "Annotation" is the selection of this object.

◆ annotation() [2/2]

const BasicSchemaAnnotationElement & s_baltst::BasicSchemaSequenceElementChoice::annotation ( ) const
inline

Return a reference to the non-modifiable "Annotation" selection of this object if "Annotation" is the current selection. The behavior is undefined unless "Annotation" is the selection of this object.

◆ element() [1/2]

BasicSchemaElement & s_baltst::BasicSchemaSequenceElementChoice::element ( )
inline

Return a reference to the modifiable "Element" selection of this object if "Element" is the current selection. The behavior is undefined unless "Element" is the selection of this object.

◆ element() [2/2]

const BasicSchemaElement & s_baltst::BasicSchemaSequenceElementChoice::element ( ) const
inline

Return a reference to the non-modifiable "Element" selection of this object if "Element" is the current selection. The behavior is undefined unless "Element" is the selection of this object.

◆ isAnnotationValue()

bool s_baltst::BasicSchemaSequenceElementChoice::isAnnotationValue ( ) const
inline

Return true if the value of this object is a "Annotation" value, and return false otherwise.

◆ isElementValue()

bool s_baltst::BasicSchemaSequenceElementChoice::isElementValue ( ) const
inline

Return true if the value of this object is a "Element" value, and return false otherwise.

◆ isUndefinedValue()

bool s_baltst::BasicSchemaSequenceElementChoice::isUndefinedValue ( ) const
inline

Return true if the value of this object is undefined, and false otherwise.

◆ lookupSelectionInfo() [1/2]

static const bdlat_SelectionInfo * s_baltst::BasicSchemaSequenceElementChoice::lookupSelectionInfo ( const char *  name,
int  nameLength 
)
static

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

◆ lookupSelectionInfo() [2/2]

static const bdlat_SelectionInfo * s_baltst::BasicSchemaSequenceElementChoice::lookupSelectionInfo ( int  id)
static

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

◆ makeAnnotation() [1/2]

BasicSchemaAnnotationElement & s_baltst::BasicSchemaSequenceElementChoice::makeAnnotation ( )

◆ makeAnnotation() [2/2]

BasicSchemaAnnotationElement & s_baltst::BasicSchemaSequenceElementChoice::makeAnnotation ( const BasicSchemaAnnotationElement value)

◆ makeElement() [1/2]

BasicSchemaElement & s_baltst::BasicSchemaSequenceElementChoice::makeElement ( )

◆ makeElement() [2/2]

BasicSchemaElement & s_baltst::BasicSchemaSequenceElementChoice::makeElement ( const BasicSchemaElement value)

◆ makeSelection() [1/2]

int s_baltst::BasicSchemaSequenceElementChoice::makeSelection ( const char *  name,
int  nameLength 
)

Set the value of this object to be the default for the selection indicated by the specified name of the specified nameLength. Return 0 on success, and non-zero value otherwise (i.e., the selection is not found).

◆ makeSelection() [2/2]

int s_baltst::BasicSchemaSequenceElementChoice::makeSelection ( int  selectionId)

Set the value of this object to be the default for the selection indicated by the specified selectionId. Return 0 on success, and non-zero value otherwise (i.e., the selection is not found).

◆ manipulateSelection()

template<class MANIPULATOR >
int s_baltst::BasicSchemaSequenceElementChoice::manipulateSelection ( MANIPULATOR &  manipulator)

Invoke the specified manipulator on the address of the modifiable selection, supplying manipulator with the corresponding selection information structure. Return the value returned from the invocation of manipulator if this object has a defined selection, and -1 otherwise.

◆ operator=()

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

◆ print()

bsl::ostream & s_baltst::BasicSchemaSequenceElementChoice::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::BasicSchemaSequenceElementChoice::reset ( )

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

◆ selectionId()

int s_baltst::BasicSchemaSequenceElementChoice::selectionId ( ) const
inline

Return the id of the current selection if the selection is defined, and -1 otherwise.

◆ selectionName()

const char * s_baltst::BasicSchemaSequenceElementChoice::selectionName ( ) const

Member Data Documentation

◆ CLASS_NAME

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

◆ d_annotation

bsls::ObjectBuffer< BasicSchemaAnnotationElement > s_baltst::BasicSchemaSequenceElementChoice::d_annotation

◆ d_element

BasicSchemaElement* s_baltst::BasicSchemaSequenceElementChoice::d_element

◆ SELECTION_INFO_ARRAY

const bdlat_SelectionInfo s_baltst::BasicSchemaSequenceElementChoice::SELECTION_INFO_ARRAY[]
static

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