Public Member Functions | List of all members
sdf::Element Class Reference

SDF Element class. More...

#include <sdf/sdf.hh>

Inheritance diagram for sdf::Element:
Inheritance graph
[legend]

Public Member Functions

 Element ()
 Constructor. More...
 
virtual ~Element ()
 Destructor. More...
 
void AddAttribute (const std::string &_key, const std::string &_type, const std::string &_defaultvalue, bool _required, const std::string &_description="")
 Add an attribute value. More...
 
ElementPtr AddElement (const std::string &_name)
 
void AddElementDescription (ElementPtr _elem)
 Add a new element description. More...
 
void AddValue (const std::string &_type, const std::string &_defaultValue, bool _required, const std::string &_description="")
 Add a value to this Element. More...
 
void ClearElements ()
 Remove all child elements. More...
 
ElementPtr Clone () const
 Create a copy of this Element. More...
 
void Copy (const ElementPtr _elem)
 Copy values from an Element. More...
 
template<typename T >
Get (const std::string &_key="")
 Get the value of a key. More...
 
template<typename T >
std::pair< T, bool > Get (const std::string &_key, const T &_defaultValue)
 Get the value of a key. More...
 
boost::any GetAny (const std::string &_key="")
 Get the element value/attribute as a boost::any. More...
 
ParamPtr GetAttribute (const std::string &_key)
 Get the param of an attribute. More...
 
ParamPtr GetAttribute (unsigned int _index) const
 Get an attribute using an index. More...
 
size_t GetAttributeCount () const
 Get the number of attributes. More...
 
bool GetAttributeSet (const std::string &_key)
 Return true if the attribute was set (i.e. not default value) More...
 
bool GetCopyChildren () const
 Return true if this Element's child elements should be copied during parsing. More...
 
std::string GetDescription () const
 Get a text description of the element. More...
 
ElementPtr GetElement (const std::string &_name) const
 
ElementPtr GetElement (const std::string &_name)
 
ElementPtr GetElementDescription (unsigned int _index) const
 Get an element description using an index. More...
 
ElementPtr GetElementDescription (const std::string &_key) const
 Get an element descriptio using a key. More...
 
size_t GetElementDescriptionCount () const
 Get the number of element descriptions. More...
 
ElementPtr GetElementImpl (const std::string &_name) const
 
ElementPtr GetFirstElement () const
 
std::string GetInclude () const
 
const std::string & GetName () const
 Get the Element's name. More...
 
ElementPtr GetNextElement (const std::string &_name="") const
 
ElementPtr GetParent () const
 Get a pointer to this Element's parent. More...
 
const std::string & GetRequired () const
 Get the requirement string. More...
 
ParamPtr GetValue ()
 Get the param of the elements value. More...
 
bool HasAttribute (const std::string &_key)
 
bool HasElement (const std::string &_name) const
 
bool HasElementDescription (const std::string &_name)
 Return true if an element description exists. More...
 
void InsertElement (ElementPtr _elem)
 
void PrintDescription (const std::string &_prefix)
 Output Element's description to stdout. More...
 
void PrintDocLeftPane (std::string &_html, int _spacing, int &_index)
 Helper function for SDF::PrintDoc. More...
 
void PrintDocRightPane (std::string &_html, int _spacing, int &_index)
 Helper function for SDF::PrintDoc. More...
 
void PrintValues (std::string _prefix)
 Output Element's values to stdout. More...
 
void PrintWiki (std::string _prefix)
 
std::string ReferenceSDF () const
 Get the name of the reference SDF element. More...
 
void RemoveChild (ElementPtr _child)
 Remove a child element. More...
 
void RemoveFromParent ()
 Remove this element from its parent. More...
 
void Reset ()
 
template<typename T >
bool Set (const T &_value)
 
void SetCopyChildren (bool _value)
 Set whether this element should copy its child elements during parsing. More...
 
void SetDescription (const std::string &_desc)
 Set a text description for the element. More...
 
void SetInclude (const std::string &_filename)
 
void SetName (const std::string &_name)
 Set the name of the Element. More...
 
void SetParent (const ElementPtr _parent)
 Set the parent of this Element. More...
 
void SetReferenceSDF (const std::string &_value)
 Set reference SDF element. More...
 
void SetRequired (const std::string &_req)
 Set the requirement type. More...
 
std::string ToString (const std::string &_prefix) const
 Convert the element values to a string representation. More...
 
void Update ()
 

Detailed Description

SDF Element class.

Constructor & Destructor Documentation

◆ Element()

sdf::Element::Element ( )

Constructor.

◆ ~Element()

virtual sdf::Element::~Element ( )
virtual

Destructor.

Member Function Documentation

◆ AddAttribute()

void sdf::Element::AddAttribute ( const std::string &  _key,
const std::string &  _type,
const std::string &  _defaultvalue,
bool  _required,
const std::string &  _description = "" 
)

Add an attribute value.

Parameters
[in]_keyKey value.
[in]_typeType of data the attribute will hold.
[in]_defaultValueDefault value for the attribute.
[in]_requiredRequirement string. Element::SetRequired.
[in]_descriptionA text description of the attribute.

◆ AddElement()

ElementPtr sdf::Element::AddElement ( const std::string &  _name)

◆ AddElementDescription()

void sdf::Element::AddElementDescription ( ElementPtr  _elem)

Add a new element description.

◆ AddValue()

void sdf::Element::AddValue ( const std::string &  _type,
const std::string &  _defaultValue,
bool  _required,
const std::string &  _description = "" 
)

Add a value to this Element.

Parameters
[in]_typeType of data the attribute will hold.
[in]_defaultValueDefault value for the attribute.
[in]_requiredRequirement string. Element::SetRequired.
[in]_descriptionA text description of the attribute.

◆ ClearElements()

void sdf::Element::ClearElements ( )

Remove all child elements.

◆ Clone()

ElementPtr sdf::Element::Clone ( ) const

Create a copy of this Element.

Returns
A copy of this Element.

◆ Copy()

void sdf::Element::Copy ( const ElementPtr  _elem)

Copy values from an Element.

Parameters
[in]_elemElement to copy value from.

◆ GetAny()

boost::any sdf::Element::GetAny ( const std::string &  _key = "")

Get the element value/attribute as a boost::any.

Parameters
[in]_keyThe key of the attribute. If empty, get the value of the element. Defaults to empty.
Returns
The element as a boost::any.

◆ GetAttribute() [1/2]

ParamPtr sdf::Element::GetAttribute ( const std::string &  _key)

Get the param of an attribute.

Parameters
[in]_keythe name of the attribute
Returns
The parameter attribute value. NULL if the key is invalid.

◆ GetAttribute() [2/2]

ParamPtr sdf::Element::GetAttribute ( unsigned int  _index) const

Get an attribute using an index.

◆ GetAttributeCount()

size_t sdf::Element::GetAttributeCount ( ) const

Get the number of attributes.

◆ GetAttributeSet()

bool sdf::Element::GetAttributeSet ( const std::string &  _key)

Return true if the attribute was set (i.e. not default value)

◆ GetCopyChildren()

bool sdf::Element::GetCopyChildren ( ) const

Return true if this Element's child elements should be copied during parsing.

Returns
True to copy child elements during parsing.

◆ GetDescription()

std::string sdf::Element::GetDescription ( ) const

Get a text description of the element.

◆ GetElement() [1/2]

ElementPtr sdf::Element::GetElement ( const std::string &  _name) const

◆ GetElement() [2/2]

ElementPtr sdf::Element::GetElement ( const std::string &  _name)

◆ GetElementDescription() [1/2]

ElementPtr sdf::Element::GetElementDescription ( unsigned int  _index) const

Get an element description using an index.

◆ GetElementDescription() [2/2]

ElementPtr sdf::Element::GetElementDescription ( const std::string &  _key) const

Get an element descriptio using a key.

◆ GetElementDescriptionCount()

size_t sdf::Element::GetElementDescriptionCount ( ) const

Get the number of element descriptions.

◆ GetElementImpl()

ElementPtr sdf::Element::GetElementImpl ( const std::string &  _name) const

◆ GetFirstElement()

ElementPtr sdf::Element::GetFirstElement ( ) const

◆ GetInclude()

std::string sdf::Element::GetInclude ( ) const

◆ GetName()

const std::string& sdf::Element::GetName ( ) const

Get the Element's name.

Returns
The name of this Element.

◆ GetNextElement()

ElementPtr sdf::Element::GetNextElement ( const std::string &  _name = "") const

◆ GetParent()

ElementPtr sdf::Element::GetParent ( ) const

Get a pointer to this Element's parent.

Returns
Pointer to this Element's parent, NULL if there is no parent.

◆ GetRequired()

const std::string& sdf::Element::GetRequired ( ) const

Get the requirement string.

Returns
The requirement string.
See also
Element::SetRequired

◆ GetValue()

ParamPtr sdf::Element::GetValue ( )

Get the param of the elements value.

◆ HasAttribute()

bool sdf::Element::HasAttribute ( const std::string &  _key)

◆ HasElement()

bool sdf::Element::HasElement ( const std::string &  _name) const

◆ HasElementDescription()

bool sdf::Element::HasElementDescription ( const std::string &  _name)

Return true if an element description exists.

◆ InsertElement()

void sdf::Element::InsertElement ( ElementPtr  _elem)

◆ PrintDescription()

void sdf::Element::PrintDescription ( const std::string &  _prefix)

Output Element's description to stdout.

Parameters
[in]_prefixString value to prefix to the output.

◆ PrintDocLeftPane()

void sdf::Element::PrintDocLeftPane ( std::string &  _html,
int  _spacing,
int &  _index 
)

Helper function for SDF::PrintDoc.

This generates the SDF html documentation.

Parameters
[out]_htmlAccumulated HTML for output.
[in]_spacingAmount of spacing for this element.
[in]_indexUnique index for this element.

◆ PrintDocRightPane()

void sdf::Element::PrintDocRightPane ( std::string &  _html,
int  _spacing,
int &  _index 
)

Helper function for SDF::PrintDoc.

This generates the SDF html documentation.

Parameters
[out]_htmlAccumulated HTML for output
[in]_spacingAmount of spacing for this element.

◆ PrintValues()

void sdf::Element::PrintValues ( std::string  _prefix)

Output Element's values to stdout.

Parameters
[in]_prefixString value to prefix to the output.

◆ PrintWiki()

void sdf::Element::PrintWiki ( std::string  _prefix)

◆ ReferenceSDF()

std::string sdf::Element::ReferenceSDF ( ) const

Get the name of the reference SDF element.

Returns
Name of the reference SDF element.

◆ RemoveChild()

void sdf::Element::RemoveChild ( ElementPtr  _child)

Remove a child element.

Parameters
[in]_childPointer to the child to remove.

◆ RemoveFromParent()

void sdf::Element::RemoveFromParent ( )

Remove this element from its parent.

◆ Reset()

void sdf::Element::Reset ( )

◆ SetCopyChildren()

void sdf::Element::SetCopyChildren ( bool  _value)

Set whether this element should copy its child elements during parsing.

Parameters
[in]_valueTrue to copy Element's children.

◆ SetDescription()

void sdf::Element::SetDescription ( const std::string &  _desc)

Set a text description for the element.

◆ SetInclude()

void sdf::Element::SetInclude ( const std::string &  _filename)

◆ SetName()

void sdf::Element::SetName ( const std::string &  _name)

Set the name of the Element.

Parameters
[in]_nameThe new name for this Element.

◆ SetParent()

void sdf::Element::SetParent ( const ElementPtr  _parent)

Set the parent of this Element.

Parameters
[in]_parentParen for this element.

◆ SetReferenceSDF()

void sdf::Element::SetReferenceSDF ( const std::string &  _value)

Set reference SDF element.

Parameters
[in]_valueName of the reference sdf element.

◆ SetRequired()

void sdf::Element::SetRequired ( const std::string &  _req)

Set the requirement type.

Parameters
[in]_reqRequirement type for this element: 0: Not required 1: Exactly one element is required +: One or more elements are required *: Zero or more elements are required.

◆ ToString()

std::string sdf::Element::ToString ( const std::string &  _prefix) const

Convert the element values to a string representation.

Parameters
[in]_prefixString value to prefix to the output.
Returns
The string representation.

◆ Update()

void sdf::Element::Update ( )

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