#include <scope.h>
Public Types | |
typedef value_t::sequence_t::const_iterator | const_iterator |
typedef value_t::sequence_t::iterator | iterator |
Public Member Functions | |
value_t::sequence_t::iterator | begin () |
value_t::sequence_t::const_iterator | begin () const |
call_scope_t (scope_t &_parent, expr_t::ptr_op_t *_locus=NULL, const int _depth=0) | |
template<typename T> | |
T & | context () |
virtual void | define (const symbol_t::kind_t kind, const string &name, expr_t::ptr_op_t def) |
virtual string | description () |
bool | empty () const |
value_t::sequence_t::iterator | end () |
value_t::sequence_t::const_iterator | end () const |
template<> | |
bool | get (std::size_t index, bool convert) |
template<> | |
long | get (std::size_t index, bool convert) |
template<> | |
amount_t | get (std::size_t index, bool convert) |
template<> | |
balance_t | get (std::size_t index, bool convert) |
template<> | |
string | get (std::size_t index, bool convert) |
template<> | |
mask_t | get (std::size_t index, bool convert) |
template<> | |
date_t | get (std::size_t index, bool convert) |
template<> | |
datetime_t | get (std::size_t index, bool convert) |
template<typename T> | |
T | get (std::size_t index, bool convert=true) |
template<> | |
int | get (std::size_t index, bool) |
template<> | |
scope_t * | get (std::size_t index, bool) |
bool | has (std::size_t index) |
template<typename T> | |
bool | has (std::size_t index) |
template<> | |
bool | has (std::size_t index) |
template<> | |
bool | has (std::size_t index) |
template<> | |
bool | has (std::size_t index) |
template<> | |
bool | has (std::size_t index) |
template<> | |
bool | has (std::size_t index) |
template<> | |
bool | has (std::size_t index) |
template<> | |
bool | has (std::size_t index) |
template<> | |
bool | has (std::size_t index) |
template<> | |
bool | has (std::size_t index) |
virtual expr_t::ptr_op_t | lookup (const symbol_t::kind_t kind, const string &name) |
value_t & | operator[] (const std::size_t index) |
void | pop_back () |
void | push_back (const value_t &val) |
void | push_front (const value_t &val) |
value_t & | resolve (const std::size_t index, value_t::type_t context=value_t::VOID, const bool required=false) |
void | set_args (const value_t &_args) |
std::size_t | size () const |
virtual value_t::type_t | type_context () const |
virtual bool | type_required () const |
value_t & | value () |
virtual | ~call_scope_t () |
Public Attributes | |
value_t | args |
const int | depth |
expr_t::ptr_op_t * | locus |
scope_t * | parent |
void * | ptr |
Static Public Attributes | |
static scope_t * | default_scope |
static empty_scope_t * | empty_scope |
typedef value_t::sequence_t::const_iterator ledger::call_scope_t::const_iterator |
typedef value_t::sequence_t::iterator ledger::call_scope_t::iterator |
|
inlineexplicit |
Definition at line 318 of file scope.h.
References call_scope_t(), ledger::context_scope_t::context_scope_t(), depth, locus, ptr, TRACE_CTOR, ledger::context_scope_t::type_context(), and ledger::context_scope_t::type_required().
Referenced by call_scope_t(), and ~call_scope_t().
|
inlinevirtual |
Definition at line 326 of file scope.h.
References call_scope_t(), and TRACE_DTOR.
|
inline |
|
inline |
|
inline |
|
inlinevirtualinherited |
Reimplemented from ledger::scope_t.
Reimplemented in ledger::bind_scope_t, and ledger::symbol_scope_t.
Definition at line 150 of file scope.h.
References parent.
|
inlinevirtualinherited |
Implements ledger::scope_t.
Definition at line 292 of file scope.h.
References ledger::child_scope_t::parent.
|
inline |
Definition at line 396 of file scope.h.
References args.
Referenced by ledger::option_t< T >::operator()().
|
inline |
|
inline |
|
inline |
Definition at line 483 of file scope.h.
References ledger::value_t::as_boolean(), ledger::value_t::BOOLEAN, resolve(), and ledger::value_t::to_boolean().
|
inline |
Definition at line 494 of file scope.h.
References ledger::value_t::as_long(), ledger::value_t::INTEGER, resolve(), and ledger::value_t::to_long().
|
inline |
Definition at line 501 of file scope.h.
References ledger::value_t::AMOUNT, ledger::value_t::as_amount(), resolve(), and ledger::value_t::to_amount().
|
inline |
Definition at line 508 of file scope.h.
References ledger::value_t::as_balance(), ledger::value_t::BALANCE, resolve(), and ledger::value_t::to_balance().
|
inline |
Definition at line 515 of file scope.h.
References ledger::value_t::as_string(), resolve(), ledger::value_t::STRING, and ledger::value_t::to_string().
|
inline |
Definition at line 522 of file scope.h.
References ledger::value_t::as_mask(), ledger::value_t::MASK, resolve(), and ledger::value_t::to_mask().
|
inline |
Definition at line 529 of file scope.h.
References ledger::value_t::as_date(), ledger::value_t::DATE, resolve(), and ledger::value_t::to_date().
|
inline |
Definition at line 536 of file scope.h.
References ledger::value_t::as_datetime(), ledger::value_t::DATETIME, resolve(), and ledger::value_t::to_datetime().
T ledger::call_scope_t::get | ( | std::size_t | index, |
bool | convert = true ) |
Referenced by ledger::call_scope_t::get< expr_t::ptr_op_t >(), and ledger::option_t< T >::handler().
|
inline |
Definition at line 490 of file scope.h.
References ledger::value_t::INTEGER, resolve(), and ledger::value_t::to_int().
|
inline |
Definition at line 557 of file scope.h.
References ledger::value_t::as_scope(), resolve(), and ledger::value_t::SCOPE.
|
inline |
Definition at line 349 of file scope.h.
References args.
Referenced by ledger::call_scope_t::has< expr_t::ptr_op_t >().
bool ledger::call_scope_t::has | ( | std::size_t | index | ) |
|
inline |
Definition at line 402 of file scope.h.
References args, ledger::value_t::BOOLEAN, and resolve().
|
inline |
Definition at line 410 of file scope.h.
References args, ledger::value_t::INTEGER, and resolve().
|
inline |
Definition at line 418 of file scope.h.
References args, ledger::value_t::INTEGER, and resolve().
|
inline |
Definition at line 426 of file scope.h.
References ledger::value_t::AMOUNT, args, and resolve().
|
inline |
Definition at line 434 of file scope.h.
References args, ledger::value_t::BALANCE, and resolve().
|
inline |
Definition at line 442 of file scope.h.
References args, resolve(), and ledger::value_t::STRING.
|
inline |
Definition at line 450 of file scope.h.
References args, ledger::value_t::DATE, and resolve().
|
inline |
Definition at line 458 of file scope.h.
References args, ledger::value_t::DATETIME, and resolve().
|
inline |
Definition at line 466 of file scope.h.
References args, resolve(), and ledger::value_t::SCOPE.
|
inlinevirtualinherited |
Implements ledger::scope_t.
Reimplemented in ledger::bind_scope_t, ledger::session_t, ledger::symbol_scope_t, and ledger::value_scope_t.
Definition at line 156 of file scope.h.
References parent.
Referenced by ledger::bind_scope_t::lookup(), and ledger::value_scope_t::lookup().
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 365 of file scope.h.
References args.
Referenced by ledger::option_t< T >::operator()().
value_t & ledger::call_scope_t::resolve | ( | const std::size_t | index, |
value_t::type_t | context = value_t::VOID, | ||
const bool | required = false ) |
References context(), and ledger::value_t::VOID.
Referenced by get(), get(), has(), operator[](), and value().
|
inline |
|
inline |
Definition at line 393 of file scope.h.
References args.
Referenced by ledger::option_t< T >::handler(), ledger::join_args(), and ledger::reporter< Type, handler_ptr, report_method >::operator()().
|
inlinevirtualinherited |
Reimplemented from ledger::scope_t.
Definition at line 296 of file scope.h.
Referenced by ledger::call_scope_t::call_scope_t().
|
inlinevirtualinherited |
Reimplemented from ledger::scope_t.
Definition at line 299 of file scope.h.
Referenced by ledger::call_scope_t::call_scope_t().
|
inline |
Definition at line 333 of file scope.h.
References args, and resolve().
Referenced by ledger::reporter< Type, handler_ptr, report_method >::operator()().
value_t ledger::call_scope_t::args |
Definition at line 307 of file scope.h.
Referenced by begin(), begin(), empty(), end(), end(), has(), pop_back(), push_back(), push_front(), set_args(), size(), and value().
|
staticinherited |
Definition at line 92 of file scope.h.
Referenced by ledger::global_scope_t::pop_report(), and ledger::global_scope_t::push_report().
const int ledger::call_scope_t::depth |
Definition at line 316 of file scope.h.
Referenced by call_scope_t().
|
staticinherited |
expr_t::ptr_op_t* ledger::call_scope_t::locus |
Definition at line 315 of file scope.h.
Referenced by call_scope_t().
|
inherited |
Definition at line 138 of file scope.h.
Referenced by child_scope_t(), child_scope_t(), ledger::bind_scope_t::define(), define(), ledger::context_scope_t::description(), ledger::symbol_scope_t::description(), ledger::value_scope_t::description(), ledger::find_scope(), and lookup().
|
mutable |
Definition at line 308 of file scope.h.
Referenced by call_scope_t(), and context().