A path to a value in a configuration. More...
#include <TsValue.h>
Data Structures | |
class | ImplType |
class | Parser |
Parser for path text. More... | |
Public Types | |
typedef Path | self |
Self reference type. | |
Public Member Functions | |
Path () | |
Default constructor. | |
self & | append (ConstBuffer const &tag) |
Append a string tag to the path. | |
self & | append (size_t idx) |
Append a numeric index to the path. | |
self & | reset () |
Reset to default constructed state. | |
size_t | count () const |
Get the number of elements in this path. | |
ConstBuffer const & | operator[] (size_t index) const |
Access an element by index. | |
Protected Types | |
typedef IntrusivePtr< ImplType > | ImplPtr |
Smart pointer to implementation. | |
Protected Member Functions | |
ImplType * | instance () |
Force an implementation instance and return a pointer to it. | |
Protected Attributes | |
ImplPtr | _ptr |
Our instance. | |
Friends | |
class | Value |
A path to a value in a configuration.
Definition at line 71 of file TsValue.h.
typedef IntrusivePtr<ImplType> ts::config::Path::ImplPtr [protected] |
typedef Path ts::config::Path::self |
Path & ts::config::Path::append | ( | ConstBuffer const & | tag | ) | [inline] |
Append a string tag to the path.
tag | Text of tag. |
Definition at line 720 of file TsValue.h.
References ts::config::Path::ImplType::_elements, and instance().
Referenced by ts::config::Builder::pathIndex(), and ts::config::Builder::pathTag().
Path & ts::config::Path::append | ( | size_t | idx | ) | [inline] |
Append a numeric index to the path.
idx | Index. |
Definition at line 721 of file TsValue.h.
References ts::config::Path::ImplType::_elements, and instance().
size_t ts::config::Path::count | ( | ) | const [inline] |
Get the number of elements in this path.
Definition at line 722 of file TsValue.h.
References _ptr.
Referenced by ts::config::Value::find().
Path::ImplType * ts::config::Path::instance | ( | ) | [inline, protected] |
Force an implementation instance and return a pointer to it.
Definition at line 719 of file TsValue.h.
References _ptr, and ts::IntrusivePtr< T >::get().
Referenced by append().
ConstBuffer const & ts::config::Path::operator[] | ( | size_t | index | ) | const [inline] |
Access an element by index.
index | Element index. |
Definition at line 723 of file TsValue.h.
References _ptr, and ts::config::detail::NULL_CONST_BUFFER.
Path & ts::config::Path::reset | ( | ) |
Reset to default constructed state.
Definition at line 215 of file TsValue.cc.
References _ptr, and ts::IntrusivePtr< T >::isShared().
Referenced by ts::config::Builder::pathOpen().
ImplPtr ts::config::Path::_ptr [protected] |
Our instance.
Definition at line 173 of file TsValue.h.
Referenced by count(), instance(), operator[](), and reset().