Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
RTT::scripting::PropertyParser Class Reference

#include <PropertyParser.hpp>

Public Member Functions

PropertyBagbag () const
 
rule_tlocator ()
 
base::PropertyBaseproperty () const
 
 PropertyParser (CommonParser &cp)
 
void reset ()
 
void setPropertyBag (PropertyBag *pb)
 

Private Types

enum  PropertyErrors { bag_not_found }
 

Private Member Functions

error_status handle_no_property (scanner_t const &scan, parser_error< PropertyErrors, iter_t > &e)
 
void locateproperty (iter_t begin, iter_t end)
 

Private Attributes

PropertyBag_bag
 
base::PropertyBase_property
 
boost::iterator_difference< iter_t >::type advance_on_error
 
CommonParsercommonparser
 
guard< PropertyErrorsmy_guard
 
rule_t propertylocator
 

Detailed Description

Get the property and bag from an invocation path like bag.subbag.prop .

Definition at line 55 of file PropertyParser.hpp.

Member Enumeration Documentation

Enumerator
bag_not_found 

Definition at line 64 of file PropertyParser.hpp.

Constructor & Destructor Documentation

RTT::PropertyParser::PropertyParser ( CommonParser cp)

Definition at line 64 of file PropertyParser.cpp.

Member Function Documentation

PropertyBag* RTT::scripting::PropertyParser::bag ( ) const
inline

Definition at line 99 of file PropertyParser.hpp.

error_status RTT::PropertyParser::handle_no_property ( scanner_t const &  scan,
parser_error< PropertyErrors, iter_t > &  e 
)
private

Definition at line 57 of file PropertyParser.cpp.

void RTT::PropertyParser::locateproperty ( iter_t  begin,
iter_t  end 
)
private

Definition at line 90 of file PropertyParser.cpp.

rule_t & RTT::PropertyParser::locator ( )

The locator tries to go as far as possible in the bag-to-property path and will never throw. property() will contain the last valid property found. If zero, nothing was found. If non-zero bag() returns the bag type if property is a bag, or zero if property() is not a bag. Thus property() contains the 'name' of the deepest nested bag() found.

Definition at line 124 of file PropertyParser.cpp.

base::PropertyBase* RTT::scripting::PropertyParser::property ( ) const
inline

Definition at line 97 of file PropertyParser.hpp.

void RTT::PropertyParser::reset ( )

After reset, property() == 0 and bag == 0.

Definition at line 83 of file PropertyParser.cpp.

void RTT::PropertyParser::setPropertyBag ( PropertyBag pb)

Change the bag we want to traverse.

Definition at line 76 of file PropertyParser.cpp.

Member Data Documentation

PropertyBag* RTT::scripting::PropertyParser::_bag
private

Definition at line 59 of file PropertyParser.hpp.

base::PropertyBase* RTT::scripting::PropertyParser::_property
private

Definition at line 60 of file PropertyParser.hpp.

boost::iterator_difference<iter_t>::type RTT::scripting::PropertyParser::advance_on_error
private

set by locateproperty, read by handle_no_property

Definition at line 70 of file PropertyParser.hpp.

CommonParser& RTT::scripting::PropertyParser::commonparser
private

Definition at line 57 of file PropertyParser.hpp.

guard<PropertyErrors> RTT::scripting::PropertyParser::my_guard
private

Definition at line 65 of file PropertyParser.hpp.

rule_t RTT::scripting::PropertyParser::propertylocator
private

Definition at line 58 of file PropertyParser.hpp.


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


rtt
Author(s): RTT Developers
autogenerated on Fri Oct 25 2019 03:59:47