Public Member Functions | Private Types | Private Member Functions | Private Attributes
RTT::scripting::PropertyParser Class Reference

#include <PropertyParser.hpp>

List of all members.

Public Member Functions

PropertyBagbag () const
rule_t & locator ()
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

Definition at line 64 of file PropertyParser.cpp.


Member Function Documentation

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.

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.

Definition at line 97 of file PropertyParser.hpp.

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

Definition at line 83 of file PropertyParser.cpp.

Change the bag we want to traverse.

Definition at line 76 of file PropertyParser.cpp.


Member Data Documentation

Definition at line 59 of file PropertyParser.hpp.

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.

Definition at line 57 of file PropertyParser.hpp.

Definition at line 65 of file PropertyParser.hpp.

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 Sep 9 2016 04:02:20