Loading...
Searching...
No Matches
ledger::auto_xact_t Class Reference

#include <xact.h>

+ Inheritance diagram for ledger::auto_xact_t:
+ Collaboration diagram for ledger::auto_xact_t:

Classes

struct  deferred_tag_data_t
 

Public Types

typedef std::list< deferred_tag_data_tdeferred_notes_list
 
typedef uint_least16_t flags_t
 
enum  state_t { UNCLEARED = 0 , CLEARED , PENDING }
 
typedef std::map< string, tag_data_t, std::function< bool(string, string)> > string_map
 
typedef std::pair< optional< value_t >, booltag_data_t
 

Public Member Functions

void add_flags (const flags_t arg)
 
virtual void add_post (post_t *post)
 
virtual void append_note (const char *p, scope_t &scope, bool overwrite_existing=true)
 
 auto_xact_t ()
 
 auto_xact_t (const auto_xact_t &other)
 
 auto_xact_t (const predicate_t &_predicate)
 
virtual optional< date_taux_date () const
 
void clear_flags ()
 
void clear_xdata ()
 
virtual void copy_details (const item_t &item)
 
virtual date_t date () const
 
virtual void define (const symbol_t::kind_t, const string &, expr_t::ptr_op_t)
 
virtual string description ()
 
void drop_flags (const flags_t arg)
 
virtual void extend_xact (xact_base_t &xact, parse_context_t &context)
 
bool finalize ()
 
flags_t flags () const
 
virtual optional< value_tget_tag (const mask_t &tag_mask, const optional< mask_t > &value_mask=none, bool inherit=true) const
 
virtual optional< value_tget_tag (const string &tag, bool inherit=true) const
 
virtual bool has_date () const
 
bool has_flags (const flags_t arg) const
 
virtual bool has_tag (const mask_t &tag_mask, const optional< mask_t > &value_mask=none, bool inherit=true) const
 
virtual bool has_tag (const string &tag, bool inherit=true) const
 
bool has_xdata ()
 
string id () const
 
virtual expr_t::ptr_op_t lookup (const symbol_t::kind_t kind, const string &name)
 
value_t magnitude () const
 
virtual bool operator!= (const item_t &xact)
 
virtual bool operator== (const item_t &xact)
 
virtual void parse_tags (const char *p, scope_t &, bool overwrite_existing=true)
 
posts_list::iterator posts_begin ()
 
posts_list::iterator posts_end ()
 
virtual date_t primary_date () const
 
virtual bool remove_post (post_t *post)
 
std::size_t seq () const
 
void set_flags (const flags_t arg)
 
void set_state (state_t new_state)
 
virtual string_map::iterator set_tag (const string &tag, const optional< value_t > &value=none, const bool overwrite_existing=true)
 
virtual state_t state () const
 
virtual value_t::type_t type_context () const
 
virtual bool type_required () const
 
virtual bool valid () const
 
bool verify ()
 
virtual ~auto_xact_t ()
 

Public Attributes

optional< date_t_date
 
optional< date_t_date_aux
 
state_t _state
 
post_tactive_post
 
optional< expr_t::check_expr_listcheck_exprs
 
optional< deferred_notes_listdeferred_notes
 
journal_tjournal
 
std::map< string, boolmemoized_results
 
optional< string_mapmetadata
 
optional< stringnote
 
optional< position_tpos
 
posts_list posts
 
predicate_t predicate
 
bool try_quick_match
 

Static Public Attributes

static scope_tdefault_scope
 
static empty_scope_tempty_scope
 
static bool use_aux_date
 

Protected Attributes

flags_t _flags
 

Detailed Description

Definition at line 134 of file xact.h.

Member Typedef Documentation

◆ deferred_notes_list

◆ flags_t

Definition at line 50 of file flags.h.

◆ string_map

typedef std::map<string, tag_data_t, std::function<bool(string, string)> > ledger::item_t::string_map
inherited

Definition at line 95 of file item.h.

◆ tag_data_t

Definition at line 93 of file item.h.

Member Enumeration Documentation

◆ state_t

Enumerator
UNCLEARED 
CLEARED 
PENDING 

Definition at line 91 of file item.h.

Constructor & Destructor Documentation

◆ auto_xact_t() [1/3]

ledger::auto_xact_t::auto_xact_t ( )
inline

Definition at line 159 of file xact.h.

References TRACE_CTOR.

◆ auto_xact_t() [2/3]

ledger::auto_xact_t::auto_xact_t ( const auto_xact_t & other)
inline

Definition at line 162 of file xact.h.

References TRACE_CTOR.

◆ auto_xact_t() [3/3]

ledger::auto_xact_t::auto_xact_t ( const predicate_t & _predicate)
inline

Definition at line 168 of file xact.h.

References TRACE_CTOR.

◆ ~auto_xact_t()

virtual ledger::auto_xact_t::~auto_xact_t ( )
inlinevirtual

Definition at line 174 of file xact.h.

References TRACE_DTOR.

Member Function Documentation

◆ add_flags()

void ledger::flags::supports_flags< uint_least16_t , uint_least16_t >::add_flags ( const flags_t arg)
inlineinherited

Definition at line 87 of file flags.h.

◆ add_post()

virtual void ledger::xact_base_t::add_post ( post_t * post)
virtualinherited

Reimplemented in ledger::xact_t.

◆ append_note()

virtual void ledger::item_t::append_note ( const char * p,
scope_t & scope,
bool overwrite_existing = true )
virtualinherited

◆ aux_date()

virtual optional< date_t > ledger::item_t::aux_date ( ) const
inlinevirtualinherited

Reimplemented in ledger::post_t.

Definition at line 191 of file item.h.

References ledger::item_t::_date_aux.

Referenced by ledger::item_t::date().

+ Here is the caller graph for this function:

◆ clear_flags()

void ledger::flags::supports_flags< uint_least16_t , uint_least16_t >::clear_flags ( )
inlineinherited

Definition at line 84 of file flags.h.

◆ clear_xdata()

void ledger::xact_base_t::clear_xdata ( )
inherited

◆ copy_details()

virtual void ledger::item_t::copy_details ( const item_t & item)
inlinevirtualinherited

Reimplemented in ledger::post_t.

Definition at line 118 of file item.h.

References ledger::item_t::_date, ledger::item_t::_date_aux, ledger::downcast(), ledger::item_t::metadata, ledger::item_t::note, ledger::item_t::pos, ledger::flags::supports_flags< uint_least16_t >::set_flags(), and ledger::item_t::set_state().

Referenced by ledger::post_t::copy_details(), and ledger::item_t::item_t().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ date()

virtual date_t ledger::item_t::date ( ) const
inlinevirtualinherited

Reimplemented in ledger::post_t.

Definition at line 180 of file item.h.

References ledger::item_t::_date, assert, ledger::item_t::aux_date(), ledger::downcast(), and ledger::item_t::use_aux_date.

+ Here is the call graph for this function:

◆ define()

virtual void ledger::item_t::define ( const symbol_t::kind_t ,
const string & ,
expr_t::ptr_op_t  )
virtualinherited

Reimplemented from ledger::scope_t.

◆ description()

virtual string ledger::auto_xact_t::description ( )
inlinevirtual

Implements ledger::scope_t.

Definition at line 178 of file xact.h.

References ledger::downcast(), and ledger::item_t::pos.

+ Here is the call graph for this function:

◆ drop_flags()

void ledger::flags::supports_flags< uint_least16_t , uint_least16_t >::drop_flags ( const flags_t arg)
inlineinherited

Definition at line 90 of file flags.h.

◆ extend_xact()

virtual void ledger::auto_xact_t::extend_xact ( xact_base_t & xact,
parse_context_t & context )
virtual

◆ finalize()

bool ledger::xact_base_t::finalize ( )
inherited

◆ flags()

flags_t ledger::flags::supports_flags< uint_least16_t , uint_least16_t >::flags ( ) const
inlineinherited

Definition at line 74 of file flags.h.

◆ get_tag() [1/2]

virtual optional< value_t > ledger::item_t::get_tag ( const mask_t & tag_mask,
const optional< mask_t > & value_mask = none,
bool inherit = true ) const
virtualinherited

Reimplemented in ledger::post_t.

◆ get_tag() [2/2]

virtual optional< value_t > ledger::item_t::get_tag ( const string & tag,
bool inherit = true ) const
virtualinherited

Reimplemented in ledger::post_t.

Referenced by ledger::item_t::id().

+ Here is the caller graph for this function:

◆ has_date()

virtual bool ledger::item_t::has_date ( ) const
inlinevirtualinherited

Definition at line 176 of file item.h.

References ledger::item_t::_date.

◆ has_flags()

bool ledger::flags::supports_flags< uint_least16_t , uint_least16_t >::has_flags ( const flags_t arg) const
inlineinherited

Definition at line 77 of file flags.h.

◆ has_tag() [1/2]

virtual bool ledger::item_t::has_tag ( const mask_t & tag_mask,
const optional< mask_t > & value_mask = none,
bool inherit = true ) const
virtualinherited

Reimplemented in ledger::post_t.

◆ has_tag() [2/2]

virtual bool ledger::item_t::has_tag ( const string & tag,
bool inherit = true ) const
virtualinherited

Reimplemented in ledger::post_t.

◆ has_xdata()

bool ledger::xact_base_t::has_xdata ( )
inherited

◆ id()

string ledger::item_t::id ( ) const
inlineinherited

Definition at line 137 of file item.h.

References ledger::downcast(), ledger::item_t::get_tag(), and ledger::item_t::seq().

+ Here is the call graph for this function:

◆ lookup()

virtual expr_t::ptr_op_t ledger::item_t::lookup ( const symbol_t::kind_t kind,
const string & name )
virtualinherited

Implements ledger::scope_t.

Reimplemented in ledger::post_t, and ledger::xact_t.

◆ magnitude()

value_t ledger::xact_base_t::magnitude ( ) const
inherited

◆ operator!=()

virtual bool ledger::item_t::operator!= ( const item_t & xact)
inlinevirtualinherited

Definition at line 133 of file item.h.

◆ operator==()

virtual bool ledger::item_t::operator== ( const item_t & xact)
inlinevirtualinherited

Definition at line 130 of file item.h.

◆ parse_tags()

virtual void ledger::auto_xact_t::parse_tags ( const char * p,
scope_t & ,
bool overwrite_existing = true )
inlinevirtual

Reimplemented from ledger::item_t.

Definition at line 188 of file xact.h.

References active_post, deferred_notes, and ledger::downcast().

+ Here is the call graph for this function:

◆ posts_begin()

posts_list::iterator ledger::xact_base_t::posts_begin ( )
inlineinherited

Definition at line 71 of file xact.h.

References ledger::xact_base_t::posts.

◆ posts_end()

posts_list::iterator ledger::xact_base_t::posts_end ( )
inlineinherited

Definition at line 74 of file xact.h.

References ledger::xact_base_t::posts.

◆ primary_date()

virtual date_t ledger::item_t::primary_date ( ) const
inlinevirtualinherited

Reimplemented in ledger::post_t.

Definition at line 187 of file item.h.

References ledger::item_t::_date, and assert.

◆ remove_post()

virtual bool ledger::xact_base_t::remove_post ( post_t * post)
virtualinherited

◆ seq()

std::size_t ledger::item_t::seq ( ) const
inlineinherited

Definition at line 146 of file item.h.

References ledger::downcast(), and ledger::item_t::pos.

Referenced by ledger::item_t::id().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ set_flags()

void ledger::flags::supports_flags< uint_least16_t , uint_least16_t >::set_flags ( const flags_t arg)
inlineinherited

Definition at line 81 of file flags.h.

◆ set_state()

void ledger::item_t::set_state ( state_t new_state)
inlineinherited

Definition at line 195 of file item.h.

References ledger::item_t::_state, and ledger::downcast().

Referenced by ledger::item_t::copy_details().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ set_tag()

virtual string_map::iterator ledger::item_t::set_tag ( const string & tag,
const optional< value_t > & value = none,
const bool overwrite_existing = true )
virtualinherited

◆ state()

virtual state_t ledger::item_t::state ( ) const
inlinevirtualinherited

Definition at line 198 of file item.h.

References ledger::item_t::_state.

◆ type_context()

virtual value_t::type_t ledger::scope_t::type_context ( ) const
inlinevirtualinherited

Reimplemented in ledger::context_scope_t.

Definition at line 109 of file scope.h.

References ledger::value_t::VOID.

◆ type_required()

virtual bool ledger::scope_t::type_required ( ) const
inlinevirtualinherited

Reimplemented in ledger::context_scope_t.

Definition at line 112 of file scope.h.

◆ valid()

virtual bool ledger::xact_base_t::valid ( ) const
inlinevirtualinherited

Reimplemented in ledger::xact_t.

Definition at line 86 of file xact.h.

◆ verify()

bool ledger::xact_base_t::verify ( )
inherited

Member Data Documentation

◆ _date

optional<date_t> ledger::item_t::_date
inherited

◆ _date_aux

optional<date_t> ledger::item_t::_date_aux
inherited

Definition at line 99 of file item.h.

Referenced by ledger::item_t::aux_date(), and ledger::item_t::copy_details().

◆ _flags

Definition at line 53 of file flags.h.

◆ _state

state_t ledger::item_t::_state
inherited

Definition at line 97 of file item.h.

Referenced by ledger::item_t::set_state(), and ledger::item_t::state().

◆ active_post

post_t* ledger::auto_xact_t::active_post

Definition at line 157 of file xact.h.

Referenced by parse_tags().

◆ check_exprs

optional<expr_t::check_expr_list> ledger::auto_xact_t::check_exprs

Definition at line 141 of file xact.h.

◆ default_scope

scope_t* ledger::scope_t::default_scope
staticinherited

◆ deferred_notes

optional<deferred_notes_list> ledger::auto_xact_t::deferred_notes

Definition at line 156 of file xact.h.

Referenced by parse_tags().

◆ empty_scope

empty_scope_t* ledger::scope_t::empty_scope
staticinherited

Definition at line 93 of file scope.h.

◆ journal

journal_t* ledger::xact_base_t::journal
inherited

Definition at line 58 of file xact.h.

◆ memoized_results

std::map<string, bool> ledger::auto_xact_t::memoized_results

Definition at line 139 of file xact.h.

◆ metadata

optional<string_map> ledger::item_t::metadata
inherited

Definition at line 102 of file item.h.

Referenced by ledger::item_t::copy_details().

◆ note

optional<string> ledger::item_t::note
inherited

Definition at line 100 of file item.h.

Referenced by ledger::item_t::copy_details().

◆ pos

◆ posts

posts_list ledger::xact_base_t::posts
inherited

◆ predicate

predicate_t ledger::auto_xact_t::predicate

Definition at line 137 of file xact.h.

◆ try_quick_match

bool ledger::auto_xact_t::try_quick_match

Definition at line 138 of file xact.h.

◆ use_aux_date

bool ledger::item_t::use_aux_date
staticinherited

Definition at line 174 of file item.h.

Referenced by ledger::item_t::date().


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