48using namespace boost::placeholders;
60#define ACCOUNT_NORMAL 0x00
61#define ACCOUNT_KNOWN 0x01
62#define ACCOUNT_TEMP 0x02
63#define ACCOUNT_GENERATED 0x04
81 const string& _name =
"",
82 const optional<string>& _note = none)
118 accounts.insert(accounts_map::value_type(acct->
name, acct));
128 typedef transform_iterator<function<
account_t *(accounts_map::value_type&)>,
129 accounts_map::iterator>
133 return make_transform_iterator
134 (
accounts.begin(), boost::bind(&accounts_map::value_type::second, _1));
137 return make_transform_iterator
138 (
accounts.end(), boost::bind(&accounts_map::value_type::second, _1));
147 return posts.begin();
162#define ACCOUNT_EXT_SORT_CALC 0x01
163#define ACCOUNT_EXT_HAS_NON_VIRTUALS 0x02
164#define ACCOUNT_EXT_HAS_UNB_VIRTUALS 0x04
165#define ACCOUNT_EXT_AUTO_VIRTUALIZE 0x08
166#define ACCOUNT_EXT_VISITED 0x10
167#define ACCOUNT_EXT_MATCHING 0x20
168#define ACCOUNT_EXT_TO_DISPLAY 0x40
169#define ACCOUNT_EXT_DISPLAYED 0x80
250 : supports_flags<>(other.
flags()),
269 return static_cast<bool>(
xdata_);
282 value_t amount(
const optional<bool> real_only =
false,
const optional<expr_t&>& expr = none)
const;
#define TRACE_CTOR(cls, args)
void put_account(property_tree::ptree &pt, const account_t &acct, function< bool(const account_t &)> pred)
boost::gregorian::date date_t
std::map< string, posts_list > deferred_posts_map_t
std::ostream & operator<<(std::ostream &out, const account_t &account)
std::map< string, account_t * > accounts_map
std::list< post_t * > posts_list
boost::posix_time::ptime datetime_t
posts_list::iterator posts_end()
void add_deferred_post(const string &uuid, post_t *post)
optional< expr_t > value_expr
accounts_map_seconds_iterator accounts_end()
const xdata_t::details_t & self_details(bool gather_all=true) const
account_t(account_t *_parent=NULL, const string &_name="", const optional< string > &_note=none)
bool remove_post(post_t *post)
account_t * find_account_re(const string ®exp)
transform_iterator< function< account_t *(accounts_map::value_type &)>, accounts_map::iterator accounts_map_seconds_iterator)
bool has_xflags(xdata_t::flags_t flags) const
accounts_map_seconds_iterator accounts_begin()
bool children_with_xdata() const
virtual string description()
value_t total(const optional< expr_t & > &expr=none) const
std::size_t children_with_flags(xdata_t::flags_t flags) const
account_t * find_account(const string &name, bool auto_create=true)
const xdata_t & xdata() const
void add_post(post_t *post)
optional< xdata_t > xdata_
optional< deferred_posts_map_t > deferred_posts
void apply_deferred_posts()
account_t(const account_t &other)
void add_account(account_t *acct)
virtual expr_t::ptr_op_t lookup(const symbol_t::kind_t kind, const string &name)
string partial_name(bool flat=false) const
const xdata_t::details_t & family_details(bool gather_all=true) const
bool remove_account(account_t *acct)
value_t amount(const optional< bool > real_only=false, const optional< expr_t & > &expr=none) const
posts_list::iterator posts_begin()
xdata_t(const xdata_t &other)
posts_list reported_posts
std::list< sort_value_t > sort_values
datetime_t earliest_checkin
std::size_t posts_virtuals_count
std::size_t posts_cleared_count
std::set< path > filenames
std::size_t posts_this_month_count
date_t latest_cleared_post
void update(post_t &post, bool gather_all=false)
date_t earliest_cleared_post
bool latest_checkout_cleared
std::set< string > accounts_referenced
std::size_t posts_last_7_count
optional< posts_list::const_iterator > last_reported_post
std::size_t posts_last_30_count
datetime_t latest_checkout
optional< posts_list::const_iterator > last_post
details_t(const details_t &)
std::set< string > payees_referenced
details_t & operator+=(const details_t &other)
bool operator()(const account_t &lhs, const account_t &rhs) const
intrusive_ptr< op_t > ptr_op_t
Dynamic type representing various numeric types.