54#define POST_VIRTUAL 0x0010
55#define POST_MUST_BALANCE 0x0020
56#define POST_CALCULATED 0x0040
57#define POST_COST_CALCULATED 0x0080
58#define POST_COST_IN_FULL 0x0100
59#define POST_COST_FIXATED 0x0200
60#define POST_COST_VIRTUAL 0x0400
61#define POST_ANONYMIZED 0x0800
62#define POST_DEFERRED 0x1000
63#define POST_IS_TIMELOG 0x2000
78 optional<string> _payee;
91 const optional<string>& _note = none)
116 std::ostringstream buf;
117 buf << _f(
"posting at line %1%") %
pos->beg_line;
120 return string(_(
"generated posting"));
125 bool inherit =
true)
const;
127 const optional<mask_t>& value_mask = none,
128 bool inherit =
true)
const;
130 virtual optional<value_t>
get_tag(
const string& tag,
131 bool inherit =
true)
const;
133 const optional<mask_t>& value_mask = none,
134 bool inherit =
true)
const;
169#define POST_EXT_RECEIVED 0x0001
170#define POST_EXT_HANDLED 0x0002
171#define POST_EXT_DISPLAYED 0x0004
172#define POST_EXT_DIRECT_AMT 0x0008
173#define POST_EXT_SORT_CALC 0x0010
174#define POST_EXT_COMPOUND 0x0020
175#define POST_EXT_VISITED 0x0040
176#define POST_EXT_MATCHES 0x0080
177#define POST_EXT_CONSIDERED 0x0100
218 return static_cast<bool>(
xdata_);
233 const optional<expr_t&>& expr = none)
const;
254 gregorian::date_duration duration =
256 if (duration.days() == 0) {
257 return ((left->
pos ? left->
pos->sequence : 0) <
258 (right->
pos ? right->
pos->sequence : 0));
260 return duration.days() < 0;
#define POST_MUST_BALANCE
#define TRACE_CTOR(cls, args)
void put_post(property_tree::ptree &pt, const post_t &post)
boost::gregorian::date date_t
void extend_post(post_t &post, journal_t &journal)
boost::posix_time::ptime datetime_t
Encapsulate infinite-precision commoditized amounts.
intrusive_ptr< op_t > ptr_op_t
bool has_flags(const flags_t arg) const
virtual void copy_details(const item_t &item)
item_t(flags_t _flags=0x00, const optional< string > &_note=none)
optional< position_t > pos
optional< expr_t > amount_expr
virtual void copy_details(const item_t &item)
virtual optional< date_t > aux_date() const
post_t(account_t *_account=NULL, flags_t _flags=0x00)
const xdata_t & xdata() const
const account_t * reported_account() const
amount_t resolve_expr(scope_t &scope, expr_t &expr)
optional< datetime_t > checkout
std::size_t xact_id() const
virtual bool has_tag(const mask_t &tag_mask, const optional< mask_t > &value_mask=none, bool inherit=true) const
virtual date_t primary_date() const
virtual date_t value_date() const
post_t(account_t *_account, const amount_t &_amount, flags_t _flags=0x00, const optional< string > &_note=none)
virtual optional< value_t > get_tag(const string &tag, bool inherit=true) const
void set_payee(const string &payee)
std::size_t account_id() const
void set_reported_account(account_t *account)
virtual string description()
post_t(const post_t &post)
optional< amount_t > assigned_amount
bool must_balance() const
optional< xdata_t > xdata_
virtual optional< value_t > get_tag(const mask_t &tag_mask, const optional< mask_t > &value_mask=none, bool inherit=true) const
virtual expr_t::ptr_op_t lookup(const symbol_t::kind_t kind, const string &name)
account_t * reported_account()
void add_to_value(value_t &value, const optional< expr_t & > &expr=none) const
optional< amount_t > cost
virtual bool has_tag(const string &tag, bool inherit=true) const
optional< datetime_t > checkin
optional< amount_t > given_cost
virtual date_t date() const
string payee_from_tag() const
xdata_t(const xdata_t &other)
std::list< sort_value_t > sort_values
bool operator()(const post_t *left, const post_t *right) const
Dynamic type representing various numeric types.