Loading...
Searching...
No Matches
utils.h File Reference

General utility facilities used by Ledger. More...

#include <boost/uuid/detail/sha1.hpp>
#include <ledger.hh>
#include "error.h"
Include dependency graph for utils.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  unique_ptr< T >
 STL class. More...

Namespaces

namespace  ledger

Macros

#define CRITICAL(msg)
#define DEBUG(cat, msg)
#define DEBUG_(msg)
#define DEBUG_FINISH(name)
#define DEBUG_START(name, cat, msg)
#define DEBUG_START_(name, msg)
#define DEBUG_STOP(name)
#define ERROR(msg)
#define EXCEPTION(msg)
#define FATAL(msg)
#define INFO(msg)
#define INFO_FINISH(name)
#define INFO_START(name, msg)
#define INFO_STOP(name)
#define LOG_MACRO(level, msg)
#define LOGGER(cat)
#define READ_INTO(str, targ, size, var, cond)
#define READ_INTO_(str, targ, size, var, idx, cond)
#define SHOW_CRITICAL()
#define SHOW_DEBUG(cat)
#define SHOW_DEBUG_()
#define SHOW_ERROR()
#define SHOW_FATAL()
#define SHOW_INFO()
#define SHOW_TRACE(lvl)
#define SHOW_WARN()
#define TIMERS_ON   1
#define TRACE(lvl, msg)
#define TRACE_FINISH(name, lvl)
#define TRACE_START(name, lvl, msg)
#define TRACE_STOP(name, lvl)
#define WARN(msg)
Assertions
#define assert(x)
Verification (i.e., heavy asserts)
#define DO_VERIFY()
#define IF_VERIFY()
#define TRACE_CTOR(cls, args)
#define TRACE_DTOR(cls)
#define VERIFY(x)
Tracing and logging
#define IF_CRITICAL()
#define IF_DEBUG(cat)
#define IF_DEBUG_()
#define IF_ERROR()
#define IF_FATAL()
#define IF_INFO()
#define IF_TRACE(lvl)
#define IF_WARN()
General utility functions
#define foreach   BOOST_FOREACH

Typedefs

typedef gregorian::date ledger::date
typedef gregorian::date_duration ledger::date_duration
typedef boost::filesystem::filesystem_error ledger::filesystem_error
typedef boost::filesystem::ifstream ledger::ifstream
typedef boost::filesystem::ofstream ledger::ofstream
typedef boost::filesystem::path ledger::path
typedef posix_time::ptime ledger::ptime
typedef posix_time::seconds ledger::seconds
typedef std::string ledger::string
typedef std::list< stringledger::strings_list
typedef ptime::time_duration_type ledger::time_duration

Enumerations

enum  ledger::hash_type_t { ledger::NO_HASHES = 0 , ledger::HASH_SHA512 = 1 , ledger::HASH_SHA512_Half = 2 }
enum  ledger::log_level_t {
  ledger::LOG_OFF = 0 , ledger::LOG_CRIT , ledger::LOG_FATAL , ledger::LOG_ASSERT ,
  ledger::LOG_ERROR , ledger::LOG_VERIFY , ledger::LOG_WARN , ledger::LOG_INFO ,
  ledger::LOG_EXCEPT , ledger::LOG_DEBUG , ledger::LOG_TRACE , ledger::LOG_ALL
}

Functions

void ledger::debug_assert (const string &reason, const string &func, const string &file, std::size_t line)
string ledger::digest_to_hex (const boost::uuids::detail::sha1::digest_type &message_digest, size_t len=sizeof(boost::uuids::detail::sha1::digest_type) *2)
template<typename T, typename U>
T & ledger::downcast (U &object)
const stringledger::either_or (const string &first, const string &second)
void ledger::finish_timer (const char *name)
void ledger::logger_func (log_level_t level)
string ledger::lowered (const string &str)
char * ledger::next_element (char *buf, bool variable=false)
string ledger::operator+ (const char *left, const string &right)
int ledger::peek_next_nonws (std::istream &in)
path ledger::resolve_path (const path &pathname)
string ledger::sha1sum (const string &str, size_t len=sizeof(boost::uuids::detail::sha1::digest_type) *2)
char * ledger::skip_ws (char *ptr)
strings_list ledger::split_arguments (const char *line)
void ledger::start_timer (const char *name, log_level_t lvl)
void ledger::stop_timer (const char *name)
string ledger::to_string (long num)
string ledger::to_string (std::size_t num)
char * ledger::trim_ws (char *ptr)

Variables

std::ostringstream ledger::_log_buffer
log_level_t ledger::_log_level
std::ostream * ledger::_log_stream
string ledger::empty_string
const string ledger::version

Timers

This allows log xacts to specify cumulative time spent.

caught_signal_t caught_signal
enum  caught_signal_t { NONE_CAUGHT , INTERRUPTED , PIPE_CLOSED }
void check_for_signal ()
void sigint_handler (int sig)
void sigpipe_handler (int sig)

Detailed Description

General utility facilities used by Ledger.

Author
John Wiegley

Definition in file utils.h.

Macro Definition Documentation

◆ assert

#define assert ( x)
Value:
((x) ? ((void)0) : debug_assert(#x, BOOST_CURRENT_FUNCTION, \
__FILE__, __LINE__))

Definition at line 92 of file utils.h.

Referenced by ledger::amount_t::amount_t(), ledger::amount_t::amount_t(), ledger::expr_t::op_t::as_function_lval(), ledger::expr_t::op_t::as_ident_lval(), ledger::expr_t::op_t::as_op_lval(), ledger::expr_t::op_t::as_scope_lval(), ledger::expr_t::op_t::as_value_lval(), ledger::expr_base_t< value_t >::calc(), ledger::call_scope_t::context(), ledger::item_t::date(), ledger::symbol_scope_t::description(), ledger::unistring::extract(), ledger::unistring::extract_by_width(), ledger::parse_context_stack_t::get_current(), ledger::expr_t::op_t::is_ident(), ledger::amount_t::is_null(), ledger::expr_t::op_t::is_value(), ledger::expr_t::op_t::left(), ledger::expr_t::op_t::left(), ledger::query_t::lexer_t::lexer_t(), ledger::compare_items< T >::operator()(), ledger::amount_t::operator=(), ledger::expr_t::token_t::operator=(), ledger::value_t::operator[](), ledger::value_t::operator[](), ledger::parse_context_stack_t::pop(), ledger::global_scope_t::pop_report(), ledger::item_t::primary_date(), ledger::query_t::lexer_t::push_token(), ledger::draft_t::real_calc(), ledger::post_t::reported_account(), ledger::expr_t::op_t::right(), ledger::expr_t::op_t::right(), ledger::expr_t::op_t::set_left(), ledger::expr_t::op_t::set_right(), ledger::mask_t::str(), ledger::option_t< T >::str(), ledger::query_t::lexer_t::token_t::symbol(), ledger::query_t::parser_t::tokens_remaining(), ledger::unistring::unistring(), ledger::annotation_t::valid(), ledger::account_t::xdata(), and ledger::expr_t::op_t::~op_t().

◆ CRITICAL

#define CRITICAL ( msg)
Value:
#define LOG_MACRO(level, msg)
Definition utils.h:292
@ LOG_CRIT
Definition utils.h:203

Definition at line 306 of file utils.h.

◆ DEBUG

◆ DEBUG_

#define DEBUG_ ( msg)

Definition at line 288 of file utils.h.

◆ DEBUG_FINISH

#define DEBUG_FINISH ( name)

Definition at line 370 of file utils.h.

◆ DEBUG_START

#define DEBUG_START ( name,
cat,
msg )

Definition at line 367 of file utils.h.

◆ DEBUG_START_

#define DEBUG_START_ ( name,
msg )

Definition at line 368 of file utils.h.

◆ DEBUG_STOP

#define DEBUG_STOP ( name)

Definition at line 369 of file utils.h.

◆ DO_VERIFY

#define DO_VERIFY ( )
Value:
false

Definition at line 142 of file utils.h.

◆ ERROR

#define ERROR ( msg)
Value:

Definition at line 304 of file utils.h.

◆ EXCEPTION

#define EXCEPTION ( msg)
Value:

Definition at line 307 of file utils.h.

◆ FATAL

#define FATAL ( msg)
Value:

Definition at line 305 of file utils.h.

◆ foreach

#define foreach   BOOST_FOREACH

Definition at line 436 of file utils.h.

◆ IF_CRITICAL

#define IF_CRITICAL ( )
Value:
#define SHOW_CRITICAL()
Definition utils.h:300

Definition at line 318 of file utils.h.

◆ IF_DEBUG

#define IF_DEBUG ( cat)
Value:
if (SHOW_DEBUG(cat))
#define SHOW_DEBUG(cat)
Definition utils.h:285

Definition at line 312 of file utils.h.

◆ IF_DEBUG_

#define IF_DEBUG_ ( )
Value:
#define SHOW_DEBUG_()
Definition utils.h:286

Definition at line 313 of file utils.h.

◆ IF_ERROR

#define IF_ERROR ( )
Value:
if (SHOW_ERROR())
#define SHOW_ERROR()
Definition utils.h:298

Definition at line 316 of file utils.h.

◆ IF_FATAL

#define IF_FATAL ( )
Value:
if (SHOW_FATAL())
#define SHOW_FATAL()
Definition utils.h:299

Definition at line 317 of file utils.h.

◆ IF_INFO

#define IF_INFO ( )
Value:
if (SHOW_INFO())
#define SHOW_INFO()
Definition utils.h:296

Definition at line 314 of file utils.h.

◆ IF_TRACE

#define IF_TRACE ( lvl)
Value:
if (SHOW_TRACE(lvl))
#define SHOW_TRACE(lvl)
Definition utils.h:238

Definition at line 311 of file utils.h.

◆ IF_VERIFY

#define IF_VERIFY ( )
Value:
if (DO_VERIFY())
#define DO_VERIFY()
Definition utils.h:142

Definition at line 148 of file utils.h.

◆ IF_WARN

#define IF_WARN ( )
Value:
if (SHOW_WARN())
#define SHOW_WARN()
Definition utils.h:297

Definition at line 315 of file utils.h.

◆ INFO

#define INFO ( msg)
Value:

Definition at line 302 of file utils.h.

◆ INFO_FINISH

#define INFO_FINISH ( name)
Value:
(SHOW_INFO() ? finish_timer(#name) : ((void)0))

Definition at line 379 of file utils.h.

◆ INFO_START

#define INFO_START ( name,
msg )
Value:
(SHOW_INFO() ? \
((ledger::_log_buffer << msg), \
ledger::start_timer(#name, ledger::LOG_INFO)) : ((void)0))
std::ostringstream _log_buffer

Definition at line 373 of file utils.h.

◆ INFO_STOP

#define INFO_STOP ( name)
Value:
(SHOW_INFO() ? stop_timer(#name) : ((void)0))

Definition at line 377 of file utils.h.

◆ LOG_MACRO

#define LOG_MACRO ( level,
msg )
Value:
(ledger::_log_level >= level ? \
((ledger::_log_buffer << msg), ledger::logger_func(level)) : (void)0)
void logger_func(log_level_t level)
log_level_t _log_level

Definition at line 292 of file utils.h.

◆ LOGGER

#define LOGGER ( cat)
Value:
static const char * const _this_category = cat

Definition at line 222 of file utils.h.

◆ READ_INTO

#define READ_INTO ( str,
targ,
size,
var,
cond )
Value:
{ \
char * _p = targ; \
var = str.peek(); \
while (str.good() && ! str.eof() && var != '\n' && \
(cond) && _p - targ < size) { \
var = str.get(); \
if (str.eof()) \
break; \
if (var == '\\') { \
var = str.get(); \
if (in.eof()) \
break; \
switch (var) { \
case 'b': var = '\b'; break; \
case 'f': var = '\f'; break; \
case 'n': var = '\n'; break; \
case 'r': var = '\r'; break; \
case 't': var = '\t'; break; \
case 'v': var = '\v'; break; \
default: break; \
} \
} \
*_p++ = var; \
var = str.peek(); \
} \
*_p = '\0'; \
}

Definition at line 497 of file utils.h.

◆ READ_INTO_

#define READ_INTO_ ( str,
targ,
size,
var,
idx,
cond )
Value:
{ \
char * _p = targ; \
var = str.peek(); \
while (str.good() && ! str.eof() && var != '\n' && \
(cond) && _p - targ < size) { \
var = str.get(); \
if (str.eof()) \
break; \
idx++; \
if (var == '\\') { \
var = str.get(); \
if (in.eof()) \
break; \
switch (var) { \
case 'b': var = '\b'; break; \
case 'f': var = '\f'; break; \
case 'n': var = '\n'; break; \
case 'r': var = '\r'; break; \
case 't': var = '\t'; break; \
case 'v': var = '\v'; break; \
default: break; \
} \
idx++; \
} \
*_p++ = var; \
var = str.peek(); \
} \
*_p = '\0'; \
}

Definition at line 525 of file utils.h.

◆ SHOW_CRITICAL

#define SHOW_CRITICAL ( )
Value:

Definition at line 300 of file utils.h.

◆ SHOW_DEBUG

#define SHOW_DEBUG ( cat)
Value:
false

Definition at line 285 of file utils.h.

Referenced by ledger::expr_base_t< value_t >::calc().

◆ SHOW_DEBUG_

#define SHOW_DEBUG_ ( )
Value:
false

Definition at line 286 of file utils.h.

◆ SHOW_ERROR

#define SHOW_ERROR ( )
Value:

Definition at line 298 of file utils.h.

◆ SHOW_FATAL

#define SHOW_FATAL ( )
Value:

Definition at line 299 of file utils.h.

◆ SHOW_INFO

#define SHOW_INFO ( )
Value:

Definition at line 296 of file utils.h.

◆ SHOW_TRACE

#define SHOW_TRACE ( lvl)
Value:
false

Definition at line 238 of file utils.h.

◆ SHOW_WARN

#define SHOW_WARN ( )
Value:

Definition at line 297 of file utils.h.

◆ TIMERS_ON

#define TIMERS_ON   1

Definition at line 49 of file utils.h.

◆ TRACE

#define TRACE ( lvl,
msg )

Definition at line 239 of file utils.h.

◆ TRACE_CTOR

#define TRACE_CTOR ( cls,
args )

Definition at line 143 of file utils.h.

Referenced by ledger::account_t::account_t(), ledger::account_t::account_t(), ledger::subtotal_posts::acct_value_t::acct_value_t(), ledger::subtotal_posts::acct_value_t::acct_value_t(), ledger::subtotal_posts::acct_value_t::acct_value_t(), ledger::amount_t::amount_t(), ledger::amount_t::amount_t(), ledger::amount_t::amount_t(), ledger::amount_t::amount_t(), ledger::amount_t::amount_t(), ledger::annotated_commodity_t::annotated_commodity_t(), ledger::annotation_t::annotation_t(), ledger::annotation_t::annotation_t(), ledger::anonymize_posts::anonymize_posts(), ledger::auto_xact_t::auto_xact_t(), ledger::auto_xact_t::auto_xact_t(), ledger::auto_xact_t::auto_xact_t(), ledger::balance_t::balance_t(), ledger::balance_t::balance_t(), ledger::balance_t::balance_t(), ledger::balance_t::balance_t(), ledger::balance_t::balance_t(), ledger::commodity_t::base_t::base_t(), ledger::basic_accounts_iterator::basic_accounts_iterator(), ledger::basic_accounts_iterator::basic_accounts_iterator(), ledger::basic_accounts_iterator::basic_accounts_iterator(), ledger::flags::basic_t< parse_flags_enum_t, uint_least8_t >::basic_t(), ledger::flags::basic_t< parse_flags_enum_t, uint_least8_t >::basic_t(), ledger::flags::basic_t< parse_flags_enum_t, uint_least8_t >::basic_t(), ledger::flags::basic_t< parse_flags_enum_t, uint_least8_t >::basic_t(), ledger::bind_scope_t::bind_scope_t(), ledger::budget_posts::budget_posts(), ledger::by_payee_posts::by_payee_posts(), ledger::calc_posts::calc_posts(), ledger::call_scope_t::call_scope_t(), ledger::child_scope_t::child_scope_t(), ledger::child_scope_t::child_scope_t(), ledger::collapse_posts::collapse_posts(), ledger::collect_posts::collect_posts(), ledger::commodity_t::commodity_t(), ledger::compare_items< T >::compare_items(), ledger::compare_items< T >::compare_items(), ledger::context_scope_t::context_scope_t(), ledger::csv_reader::csv_reader(), ledger::date_duration_t::date_duration_t(), ledger::date_duration_t::date_duration_t(), ledger::date_duration_t::date_duration_t(), ledger::date_interval_t::date_interval_t(), ledger::date_interval_t::date_interval_t(), ledger::date_interval_t::date_interval_t(), ledger::date_range_t::date_range_t(), ledger::date_range_t::date_range_t(), ledger::date_specifier_or_range_t::date_specifier_or_range_t(), ledger::date_specifier_or_range_t::date_specifier_or_range_t(), ledger::date_specifier_or_range_t::date_specifier_or_range_t(), ledger::date_specifier_or_range_t::date_specifier_or_range_t(), ledger::date_specifier_t::date_specifier_t(), ledger::date_specifier_t::date_specifier_t(), ledger::date_specifier_t::date_specifier_t(), ledger::date_traits_t::date_traits_t(), ledger::date_traits_t::date_traits_t(), ledger::day_of_week_posts::day_of_week_posts(), ledger::flags::delegates_flags< T >::delegates_flags(), ledger::flags::delegates_flags< T >::delegates_flags(), ledger::account_t::xdata_t::details_t::details_t(), ledger::account_t::xdata_t::details_t::details_t(), ledger::draft_t::draft_t(), ledger::empty_scope_t::empty_scope_t(), ledger::expr_base_t< value_t >::expr_base_t(), ledger::expr_base_t< value_t >::expr_base_t(), ledger::journal_t::fileinfo_t::fileinfo_t(), ledger::journal_t::fileinfo_t::fileinfo_t(), ledger::journal_t::fileinfo_t::fileinfo_t(), ledger::filter_posts::filter_posts(), ledger::forecast_posts::forecast_posts(), ledger::format_emacs_posts::format_emacs_posts(), ledger::format_ptree::format_ptree(), ledger::format_t::format_t(), ledger::format_t::format_t(), ledger::generate_posts::generate_posts(), ledger::interval_posts::interval_posts(), ledger::item_handler< T >::item_handler(), ledger::item_handler< T >::item_handler(), ledger::item_t::item_t(), ledger::item_t::item_t(), ledger::iterator_facade_base< Derived, Value, CategoryOrTraversal >::iterator_facade_base(), ledger::iterator_facade_base< Derived, Value, CategoryOrTraversal >::iterator_facade_base(), ledger::journal_posts_iterator::journal_posts_iterator(), ledger::journal_posts_iterator::journal_posts_iterator(), ledger::journal_posts_iterator::journal_posts_iterator(), ledger::keep_details_t::keep_details_t(), ledger::keep_details_t::keep_details_t(), ledger::query_t::lexer_t::lexer_t(), ledger::query_t::lexer_t::lexer_t(), ledger::mask_t::mask_t(), ledger::mask_t::mask_t(), ledger::merged_expr_t::merged_expr_t(), ledger::expr_t::op_t::op_t(), ledger::expr_t::op_t::op_t(), ledger::option_t< T >::option_t(), ledger::option_t< T >::option_t(), ledger::output_stream_t::output_stream_t(), ledger::output_stream_t::output_stream_t(), ledger::expr_t::parser_t::parser_t(), ledger::query_t::parser_t::parser_t(), ledger::query_t::parser_t::parser_t(), ledger::pass_down_accounts< Iterator >::pass_down_accounts(), ledger::pass_down_posts< Iterator >::pass_down_posts(), ledger::period_xact_t::period_xact_t(), ledger::period_xact_t::period_xact_t(), ledger::period_xact_t::period_xact_t(), ledger::position_t::position_t(), ledger::position_t::position_t(), ledger::post_splitter::post_splitter(), ledger::post_t::post_t(), ledger::post_t::post_t(), ledger::post_t::post_t(), ledger::draft_t::xact_template_t::post_template_t::post_template_t(), ledger::posts_as_equity::posts_as_equity(), ledger::posts_commodities_iterator::posts_commodities_iterator(), ledger::posts_commodities_iterator::posts_commodities_iterator(), ledger::posts_commodities_iterator::posts_commodities_iterator(), ledger::predicate_t::predicate_t(), ledger::predicate_t::predicate_t(), ledger::predicate_t::predicate_t(), ledger::predicate_t::predicate_t(), ledger::predicate_t::predicate_t(), ledger::print_xacts::print_xacts(), ledger::push_to_posts_list::push_to_posts_list(), ledger::query_t::query_t(), ledger::query_t::query_t(), ledger::query_t::query_t(), ledger::query_t::query_t(), ledger::related_posts::related_posts(), ledger::report_accounts::report_accounts(), ledger::report_commodities::report_commodities(), ledger::report_payees::report_payees(), ledger::report_t::report_t(), ledger::report_t::report_t(), ledger::report_tags::report_tags(), ledger::reporter< Type, handler_ptr, report_method >::reporter(), ledger::reporter< Type, handler_ptr, report_method >::reporter(), ledger::scope_t::scope_t(), ledger::sort_posts::sort_posts(), ledger::sort_posts::sort_posts(), ledger::sort_xacts::sort_xacts(), ledger::sort_xacts::sort_xacts(), ledger::sorted_accounts_iterator::sorted_accounts_iterator(), ledger::sorted_accounts_iterator::sorted_accounts_iterator(), ledger::subtotal_posts::subtotal_posts(), ledger::flags::supports_flags< T, U >::supports_flags(), ledger::flags::supports_flags< T, U >::supports_flags(), ledger::flags::supports_flags< T, U >::supports_flags(), ledger::symbol_scope_t::symbol_scope_t(), ledger::symbol_scope_t::symbol_scope_t(), ledger::symbol_t::symbol_t(), ledger::symbol_t::symbol_t(), ledger::symbol_t::symbol_t(), ledger::temporaries_t::temporaries_t(), ledger::time_log_t::time_log_t(), ledger::time_xact_t::time_xact_t(), ledger::time_xact_t::time_xact_t(), ledger::time_xact_t::time_xact_t(), ledger::expr_t::token_t::token_t(), ledger::query_t::lexer_t::token_t::token_t(), ledger::query_t::lexer_t::token_t::token_t(), ledger::transfer_details::transfer_details(), ledger::truncate_xacts::truncate_xacts(), ledger::unistring::unistring(), ledger::unistring::unistring(), ledger::value_scope_t::value_scope_t(), ledger::value_t::value_t(), ledger::value_t::value_t(), ledger::value_t::value_t(), ledger::value_t::value_t(), ledger::value_t::value_t(), ledger::value_t::value_t(), ledger::value_t::value_t(), ledger::value_t::value_t(), ledger::value_t::value_t(), ledger::value_t::value_t(), ledger::value_t::value_t(), ledger::value_t::value_t(), ledger::value_t::value_t(), ledger::value_t::value_t(), ledger::value_t::value_t(), ledger::value_t::value_t(), ledger::xact_base_t::xact_base_t(), ledger::xact_posts_iterator::xact_posts_iterator(), ledger::xact_posts_iterator::xact_posts_iterator(), ledger::xact_posts_iterator::xact_posts_iterator(), ledger::xact_t::xact_t(), ledger::xacts_iterator::xacts_iterator(), ledger::xacts_iterator::xacts_iterator(), ledger::xacts_iterator::xacts_iterator(), ledger::xacts_iterator::xacts_iterator(), ledger::account_t::xdata_t::xdata_t(), ledger::account_t::xdata_t::xdata_t(), ledger::post_t::xdata_t::xdata_t(), and ledger::post_t::xdata_t::xdata_t().

◆ TRACE_DTOR

#define TRACE_DTOR ( cls)

Definition at line 144 of file utils.h.

Referenced by ledger::subtotal_posts::acct_value_t::~acct_value_t(), ledger::amount_t::~amount_t(), ledger::annotated_commodity_t::~annotated_commodity_t(), ledger::annotation_t::~annotation_t(), ledger::anonymize_posts::~anonymize_posts(), ledger::auto_xact_t::~auto_xact_t(), ledger::balance_t::~balance_t(), ledger::commodity_t::base_t::~base_t(), ledger::basic_accounts_iterator::~basic_accounts_iterator(), ledger::flags::basic_t< parse_flags_enum_t, uint_least8_t >::~basic_t(), ledger::bind_scope_t::~bind_scope_t(), ledger::budget_posts::~budget_posts(), ledger::by_payee_posts::~by_payee_posts(), ledger::calc_posts::~calc_posts(), ledger::call_scope_t::~call_scope_t(), ledger::changed_value_posts::~changed_value_posts(), ledger::child_scope_t::~child_scope_t(), ledger::collapse_posts::~collapse_posts(), ledger::collect_posts::~collect_posts(), ledger::commodity_pool_t::~commodity_pool_t(), ledger::commodity_t::~commodity_t(), ledger::compare_items< T >::~compare_items(), ledger::context_scope_t::~context_scope_t(), ledger::csv_reader::~csv_reader(), ledger::date_duration_t::~date_duration_t(), ledger::date_interval_t::~date_interval_t(), ledger::date_range_t::~date_range_t(), ledger::date_specifier_or_range_t::~date_specifier_or_range_t(), ledger::date_specifier_t::~date_specifier_t(), ledger::date_traits_t::~date_traits_t(), ledger::day_of_week_posts::~day_of_week_posts(), ledger::flags::delegates_flags< T >::~delegates_flags(), ledger::account_t::xdata_t::details_t::~details_t(), ledger::display_filter_posts::~display_filter_posts(), ledger::draft_t::~draft_t(), ledger::empty_scope_t::~empty_scope_t(), ledger::expr_base_t< value_t >::~expr_base_t(), ledger::journal_t::fileinfo_t::~fileinfo_t(), ledger::filter_posts::~filter_posts(), ledger::forecast_posts::~forecast_posts(), ledger::format_accounts::~format_accounts(), ledger::format_emacs_posts::~format_emacs_posts(), ledger::format_posts::~format_posts(), ledger::format_ptree::~format_ptree(), ledger::format_t::~format_t(), ledger::generate_posts::~generate_posts(), ledger::generate_posts_iterator::~generate_posts_iterator(), ledger::inject_posts::~inject_posts(), ledger::interval_posts::~interval_posts(), ledger::item_handler< T >::~item_handler(), ledger::item_t::~item_t(), ledger::iterator_facade_base< Derived, Value, CategoryOrTraversal >::~iterator_facade_base(), ledger::journal_posts_iterator::~journal_posts_iterator(), ledger::keep_details_t::~keep_details_t(), ledger::query_t::lexer_t::~lexer_t(), ledger::mask_t::~mask_t(), ledger::merged_expr_t::~merged_expr_t(), ledger::expr_t::op_t::~op_t(), ledger::option_t< T >::~option_t(), ledger::output_stream_t::~output_stream_t(), ledger::expr_t::parser_t::~parser_t(), ledger::query_t::parser_t::~parser_t(), ledger::pass_down_accounts< Iterator >::~pass_down_accounts(), ledger::pass_down_posts< Iterator >::~pass_down_posts(), ledger::period_xact_t::~period_xact_t(), ledger::position_t::~position_t(), ledger::post_splitter::~post_splitter(), ledger::post_t::~post_t(), ledger::draft_t::xact_template_t::post_template_t::~post_template_t(), ledger::posts_as_equity::~posts_as_equity(), ledger::posts_commodities_iterator::~posts_commodities_iterator(), ledger::predicate_t::~predicate_t(), ledger::print_xacts::~print_xacts(), ledger::push_to_posts_list::~push_to_posts_list(), ledger::query_t::~query_t(), ledger::related_posts::~related_posts(), ledger::report_accounts::~report_accounts(), ledger::report_commodities::~report_commodities(), ledger::report_payees::~report_payees(), ledger::report_t::~report_t(), ledger::report_tags::~report_tags(), ledger::reporter< Type, handler_ptr, report_method >::~reporter(), ledger::scope_t::~scope_t(), ledger::session_t::~session_t(), ledger::sort_posts::~sort_posts(), ledger::sort_xacts::~sort_xacts(), ledger::sorted_accounts_iterator::~sorted_accounts_iterator(), ledger::value_t::storage_t::~storage_t(), ledger::subtotal_posts::~subtotal_posts(), ledger::flags::supports_flags< T, U >::~supports_flags(), ledger::symbol_scope_t::~symbol_scope_t(), ledger::symbol_t::~symbol_t(), ledger::temporaries_t::~temporaries_t(), ledger::time_log_t::~time_log_t(), ledger::time_xact_t::~time_xact_t(), ledger::expr_t::token_t::~token_t(), ledger::query_t::lexer_t::token_t::~token_t(), ledger::transfer_details::~transfer_details(), ledger::truncate_xacts::~truncate_xacts(), ledger::unistring::~unistring(), ledger::value_scope_t::~value_scope_t(), ledger::value_t::~value_t(), ledger::xact_posts_iterator::~xact_posts_iterator(), ledger::xact_t::~xact_t(), ledger::xacts_iterator::~xacts_iterator(), ledger::account_t::xdata_t::~xdata_t(), and ledger::post_t::xdata_t::~xdata_t().

◆ TRACE_FINISH

#define TRACE_FINISH ( name,
lvl )

Definition at line 348 of file utils.h.

◆ TRACE_START

#define TRACE_START ( name,
lvl,
msg )

Definition at line 346 of file utils.h.

◆ TRACE_STOP

#define TRACE_STOP ( name,
lvl )

Definition at line 347 of file utils.h.

◆ VERIFY

◆ WARN

#define WARN ( msg)
Value:

Definition at line 303 of file utils.h.

Enumeration Type Documentation

◆ caught_signal_t

Enumerator
NONE_CAUGHT 
INTERRUPTED 
PIPE_CLOSED 

Definition at line 409 of file utils.h.

Function Documentation

◆ check_for_signal()

void check_for_signal ( )
inline

Definition at line 420 of file utils.h.

References caught_signal, INTERRUPTED, NONE_CAUGHT, and PIPE_CLOSED.

Referenced by ledger::item_handler< T >::operator()().

Here is the caller graph for this function:

◆ sigint_handler()

void sigint_handler ( int sig)

◆ sigpipe_handler()

void sigpipe_handler ( int sig)

Variable Documentation

◆ caught_signal

caught_signal_t caught_signal
extern

Referenced by check_for_signal().