#include <sdf/sdf.hh>

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) |
| Add a named element. More... | |
| 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 | AddValue (const std::string &_type, const std::string &_defaultValue, bool _required, const std::string &_minValue, const std::string &_maxValue, const std::string &_description="") |
| Add a value to this Element. More... | |
| void | Clear () |
| Remove all child elements and reset file path and original version. 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... | |
| std::map< std::string, std::size_t > | CountNamedElements (const std::string &_type="") const |
| Count the number of child elements of the specified element type that have the same name attribute value. More... | |
| const std::string & | FilePath () const |
| Get the path to the SDF document where this element came from. More... | |
| template<typename T > | |
| T | Get (const std::string &_key="") const |
| Get the value of a key. More... | |
| template<typename T > | |
| std::pair< T, bool > | Get (const std::string &_key, const T &_defaultValue) const |
| Get the value of a key. More... | |
| template<typename T > | |
| bool | Get (const std::string &_key, T &_param, const T &_defaultValue) const |
| Get the value of a key. More... | |
| std::any | GetAny (const std::string &_key="") const |
| Get the element value/attribute as a std::any. More... | |
| ParamPtr | GetAttribute (const std::string &_key) const |
| 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) const |
| Return true if the attribute was set (i.e. 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) |
| Return a pointer to the child element with the provided name. More... | |
| ElementPtr | GetElementDescription (unsigned int _index) const |
| Get an element description using an index. More... | |
| ElementPtr | GetElementDescription (const std::string &_key) const |
| Get an element description using a key. More... | |
| size_t | GetElementDescriptionCount () const |
| Get the number of element descriptions. More... | |
| ElementPtr | GetElementImpl (const std::string &_name) const |
| Get a pointer to the named element. More... | |
| std::set< std::string > | GetElementTypeNames () const |
| Get set of child element type names. More... | |
| ElementPtr | GetFirstElement () const |
| Get the first child element. More... | |
| std::string | GetInclude () const |
| Get the include filename. More... | |
| const std::string & | GetName () const |
| Get the Element's name. More... | |
| ElementPtr | GetNextElement (const std::string &_name="") const |
| Get the next sibling of this element. More... | |
| ElementPtr | GetParent () const |
| Get a pointer to this Element's parent. More... | |
| const std::string & | GetRequired () const |
| Get the requirement string. More... | |
| ParamPtr | GetValue () const |
| Get the param of the elements value return A Param pointer to the value of this element. More... | |
| bool | HasAttribute (const std::string &_key) const |
| Return true if an attribute exists. More... | |
| bool | HasElement (const std::string &_name) const |
| Return true if the named element exists. More... | |
| bool | HasElementDescription (const std::string &_name) const |
| Return true if an element description exists. More... | |
| bool | HasUniqueChildNames (const std::string &_type="") const |
| Checks whether any child elements of the specified element type have identical name attribute values and returns false if so. More... | |
| void | InsertElement (ElementPtr _elem) |
| Add an element object. More... | |
| const std::string & | OriginalVersion () const |
| Get the spec version that this was originally parsed from. More... | |
| void | PrintDescription (const std::string &_prefix) const |
| Output Element's description to stdout. More... | |
| void | PrintDocLeftPane (std::string &_html, int _spacing, int &_index) const |
| Helper function for SDF::PrintDoc. More... | |
| void | PrintDocRightPane (std::string &_html, int _spacing, int &_index) const |
| Helper function for SDF::PrintDoc. More... | |
| void | PrintValues (std::string _prefix) const |
| Output Element's values to stdout. More... | |
| 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 () |
| Call reset on each element and element description before deleting all of them. More... | |
| template<typename T > | |
| bool | Set (const T &_value) |
| Set the value of this element. More... | |
| 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 | SetFilePath (const std::string &_path) |
| Set the path to the SDF document where this element came from. More... | |
| void | SetInclude (const std::string &_filename) |
| Set the include filename to the passed in filename. More... | |
| void | SetName (const std::string &_name) |
| Set the name of the Element. More... | |
| void | SetOriginalVersion (const std::string &_version) |
| Set the spec version that this was originally parsed from. 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 () |
| Call the Update() callback on each element, as well as the embedded Param. More... | |
| sdf::v10::Element::Element | ( | ) |
Constructor.
|
virtual |
Destructor.
| void sdf::v10::Element::AddAttribute | ( | const std::string & | _key, |
| const std::string & | _type, | ||
| const std::string & | _defaultvalue, | ||
| bool | _required, | ||
| const std::string & | _description = "" |
||
| ) |
Add an attribute value.
| [in] | _key | Key value. |
| [in] | _type | Type of data the attribute will hold. |
| [in] | _defaultValue | Default value for the attribute. |
| [in] | _required | Requirement string. Element::SetRequired. |
| [in] | _description | A text description of the attribute. |
| sdf::AssertionInternalError | if an invalid type is given. |
| ElementPtr sdf::v10::Element::AddElement | ( | const std::string & | _name | ) |
Add a named element.
| [in] | _name | the name of the element to add. |
| void sdf::v10::Element::AddElementDescription | ( | ElementPtr | _elem | ) |
Add a new element description.
| [in] | _elem | the Element object to add to the descriptions. |
| void sdf::v10::Element::AddValue | ( | const std::string & | _type, |
| const std::string & | _defaultValue, | ||
| bool | _required, | ||
| const std::string & | _description = "" |
||
| ) |
Add a value to this Element.
| [in] | _type | Type of data the parameter will hold. |
| [in] | _defaultValue | Default value for the parameter. |
| [in] | _required | Requirement string. Element::SetRequired. |
| [in] | _description | A text description of the parameter. |
| sdf::AssertionInternalError | if an invalid type is given. |
| void sdf::v10::Element::AddValue | ( | const std::string & | _type, |
| const std::string & | _defaultValue, | ||
| bool | _required, | ||
| const std::string & | _minValue, | ||
| const std::string & | _maxValue, | ||
| const std::string & | _description = "" |
||
| ) |
Add a value to this Element.
This override allows passing min and max values of the parameter.
| [in] | _type | Type of data the parameter will hold. |
| [in] | _defaultValue | Default value for the parameter. |
| [in] | _required | Requirement string. Element::SetRequired. |
| [in] | _minValue | Minimum allowed value for the parameter. |
| [in] | _maxValue | Maximum allowed value for the parameter. |
| [in] | _description | A text description of the parameter. |
| sdf::AssertionInternalError | if an invalid type is given. |
| void sdf::v10::Element::Clear | ( | ) |
Remove all child elements and reset file path and original version.
| void sdf::v10::Element::ClearElements | ( | ) |
Remove all child elements.
| ElementPtr sdf::v10::Element::Clone | ( | ) | const |
| void sdf::v10::Element::Copy | ( | const ElementPtr | _elem | ) |
| std::map<std::string, std::size_t> sdf::v10::Element::CountNamedElements | ( | const std::string & | _type = "" | ) | const |
Count the number of child elements of the specified element type that have the same name attribute value.
| [in] | _type | The type of Element to check. If empty, count names of all child elements. |
| const std::string& sdf::v10::Element::FilePath | ( | ) | const |
| std::any sdf::v10::Element::GetAny | ( | const std::string & | _key = "" | ) | const |
Get the element value/attribute as a std::any.
| [in] | _key | The key of the attribute. If empty, get the value of the element. Defaults to empty. |
| ParamPtr sdf::v10::Element::GetAttribute | ( | const std::string & | _key | ) | const |
Get the param of an attribute.
| [in] | _key | the name of the attribute. |
| ParamPtr sdf::v10::Element::GetAttribute | ( | unsigned int | _index | ) | const |
Get an attribute using an index.
| [in] | _index | the index of the attribute to get. |
| size_t sdf::v10::Element::GetAttributeCount | ( | ) | const |
Get the number of attributes.
| bool sdf::v10::Element::GetAttributeSet | ( | const std::string & | _key | ) | const |
Return true if the attribute was set (i.e.
not default value)
| [in] | _key | the key to use to find the attribute. |
| bool sdf::v10::Element::GetCopyChildren | ( | ) | const |
Return true if this Element's child elements should be copied during parsing.
| std::string sdf::v10::Element::GetDescription | ( | ) | const |
Get a text description of the element.
| ElementPtr sdf::v10::Element::GetElement | ( | const std::string & | _name | ) |
Return a pointer to the child element with the provided name.
A new child element, with the provided name, is added to this element if there is no existing child element.
| [in] | _name | Name of the child element to retreive. |
| ElementPtr sdf::v10::Element::GetElementDescription | ( | unsigned int | _index | ) | const |
Get an element description using an index.
| [in] | _index | the index of the element description to get. |
| ElementPtr sdf::v10::Element::GetElementDescription | ( | const std::string & | _key | ) | const |
Get an element description using a key.
| [in] | _key | the key to use to find the element. |
| size_t sdf::v10::Element::GetElementDescriptionCount | ( | ) | const |
Get the number of element descriptions.
| ElementPtr sdf::v10::Element::GetElementImpl | ( | const std::string & | _name | ) | const |
Get a pointer to the named element.
| [in] | _name | the name of the element to look for. |
| std::set<std::string> sdf::v10::Element::GetElementTypeNames | ( | ) | const |
Get set of child element type names.
| ElementPtr sdf::v10::Element::GetFirstElement | ( | ) | const |
Get the first child element.
| std::string sdf::v10::Element::GetInclude | ( | ) | const |
Get the include filename.
| const std::string& sdf::v10::Element::GetName | ( | ) | const |
| ElementPtr sdf::v10::Element::GetNextElement | ( | const std::string & | _name = "" | ) | const |
Get the next sibling of this element.
| [in] | _name | if given then filter siblings by their xml tag. |
This can be used in combination with GetFirstElement() to walk the SDF tree. First call parent->GetFirstElement() to get the first child. Call child = child->GetNextElement() to iterate through the children.
| ElementPtr sdf::v10::Element::GetParent | ( | ) | const |
| const std::string& sdf::v10::Element::GetRequired | ( | ) | const |
| ParamPtr sdf::v10::Element::GetValue | ( | ) | const |
Get the param of the elements value return A Param pointer to the value of this element.
| bool sdf::v10::Element::HasAttribute | ( | const std::string & | _key | ) | const |
Return true if an attribute exists.
| [in] | _key | the key to use to find the attribute. |
| bool sdf::v10::Element::HasElement | ( | const std::string & | _name | ) | const |
Return true if the named element exists.
| [in] | _name | the name of the element to look for. |
| bool sdf::v10::Element::HasElementDescription | ( | const std::string & | _name | ) | const |
Return true if an element description exists.
| [in] | _name | the name of the element to find. |
| bool sdf::v10::Element::HasUniqueChildNames | ( | const std::string & | _type = "" | ) | const |
Checks whether any child elements of the specified element type have identical name attribute values and returns false if so.
| [in] | _type | The type of Element to check. If empty, check names of all child elements. |
| void sdf::v10::Element::InsertElement | ( | ElementPtr | _elem | ) |
Add an element object.
| [in] | _elem | the element object to add. |
| const std::string& sdf::v10::Element::OriginalVersion | ( | ) | const |
Get the spec version that this was originally parsed from.
| void sdf::v10::Element::PrintDescription | ( | const std::string & | _prefix | ) | const |
Output Element's description to stdout.
| [in] | _prefix | String value to prefix to the output. |
| void sdf::v10::Element::PrintDocLeftPane | ( | std::string & | _html, |
| int | _spacing, | ||
| int & | _index | ||
| ) | const |
Helper function for SDF::PrintDoc.
This generates the SDF html documentation.
| [out] | _html | Accumulated HTML for output. |
| [in] | _spacing | Amount of spacing for this element. |
| [in] | _index | Unique index for this element. |
| void sdf::v10::Element::PrintDocRightPane | ( | std::string & | _html, |
| int | _spacing, | ||
| int & | _index | ||
| ) | const |
Helper function for SDF::PrintDoc.
This generates the SDF html documentation.
| [out] | _html | Accumulated HTML for output. |
| [in] | _spacing | Amount of spacing for this element. |
| void sdf::v10::Element::PrintValues | ( | std::string | _prefix | ) | const |
Output Element's values to stdout.
| [in] | _prefix | String value to prefix to the output. |
| std::string sdf::v10::Element::ReferenceSDF | ( | ) | const |
| void sdf::v10::Element::RemoveChild | ( | ElementPtr | _child | ) |
Remove a child element.
| [in] | _child | Pointer to the child to remove. |
| void sdf::v10::Element::RemoveFromParent | ( | ) |
Remove this element from its parent.
| void sdf::v10::Element::Reset | ( | ) |
Call reset on each element and element description before deleting all of them.
Also clear out the embedded Param.
| void sdf::v10::Element::SetCopyChildren | ( | bool | _value | ) |
Set whether this element should copy its child elements during parsing.
| [in] | _value | True to copy Element's children. |
| void sdf::v10::Element::SetDescription | ( | const std::string & | _desc | ) |
Set a text description for the element.
| [in] | _desc | the text description to set for the element. |
| void sdf::v10::Element::SetFilePath | ( | const std::string & | _path | ) |
| void sdf::v10::Element::SetInclude | ( | const std::string & | _filename | ) |
Set the include filename to the passed in filename.
| [in] | _filename | the filename to set the include filename to. |
| void sdf::v10::Element::SetName | ( | const std::string & | _name | ) |
| void sdf::v10::Element::SetOriginalVersion | ( | const std::string & | _version | ) |
Set the spec version that this was originally parsed from.
| [in] | _version | Spec version string. |
| void sdf::v10::Element::SetParent | ( | const ElementPtr | _parent | ) |
Set the parent of this Element.
| [in] | _parent | Paren for this element. |
| void sdf::v10::Element::SetReferenceSDF | ( | const std::string & | _value | ) |
Set reference SDF element.
| [in] | _value | Name of the reference sdf element. |
| void sdf::v10::Element::SetRequired | ( | const std::string & | _req | ) |
Set the requirement type.
| [in] | _req | Requirement 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. |
| std::string sdf::v10::Element::ToString | ( | const std::string & | _prefix | ) | const |
Convert the element values to a string representation.
| [in] | _prefix | String value to prefix to the output. |
| void sdf::v10::Element::Update | ( | ) |