Quick Links: |
#include <ball_attributecontainer.h>
Public Member Functions | |
virtual | ~AttributeContainer () |
virtual bool | hasValue (const Attribute &value) const =0 |
virtual bsl::ostream & | print (bsl::ostream &stream, int level=0, int spacesPerLevel=4) const =0 |
virtual void | visitAttributes (const bsl::function< void(const ball::Attribute &)> &visitor) const =0 |
This class defines a protocol for a container of attribute values. The attribute container provides a hasValue()
method to determine whether an attribute value is in the container.
See Component ball_attributecontainer
virtual ball::AttributeContainer::~AttributeContainer | ( | ) | [virtual] |
Destroy this object.
virtual bool ball::AttributeContainer::hasValue | ( | const Attribute & | value | ) | const [pure virtual] |
Return true
if a attribute having the specified value
exists in this object, and false
otherwise.
Implemented in ball::DefaultAttributeContainer, and ball::ScopedAttribute_Container.
virtual bsl::ostream& ball::AttributeContainer::print | ( | bsl::ostream & | stream, | |
int | level = 0 , |
|||
int | spacesPerLevel = 4 | |||
) | const [pure virtual] |
Format this object to the specified output stream
at the (absolute value of) the optionally specified indentation level
and return a reference to stream
. If level
is specified, optionally specify spacesPerLevel
, the number of spaces per indentation level for this and all of its nested objects. If level
is negative, suppress indentation of the first line. If spacesPerLevel
is negative, format the entire output on one line, suppressing all but the initial indentation (as governed by level
). If stream
is not valid on entry, this operation has no effect.
Implemented in ball::DefaultAttributeContainer, and ball::ScopedAttribute_Container.
virtual void ball::AttributeContainer::visitAttributes | ( | const bsl::function< void(const ball::Attribute &)> & | visitor | ) | const [pure virtual] |
Invoke the specified visitor
function for all attributes in this container.
Implemented in ball::DefaultAttributeContainer, and ball::ScopedAttribute_Container.