73 std::array<std::pair<mask_t, headers_t>, 10> masks;
75 std::vector<headers_t> index;
76 std::vector<string> names;
81 masks{ std::make_pair(
mask_t(
"date"), FIELD_DATE),
82 std::make_pair(
mask_t(
"posted( ?date)?"), FIELD_DATE_AUX),
83 std::make_pair(
mask_t(
"code"), FIELD_CODE),
84 std::make_pair(
mask_t(
"(payee|desc(ription)?|title)"), FIELD_PAYEE),
85 std::make_pair(
mask_t(
"credit|amount"), FIELD_CREDIT),
86 std::make_pair(
mask_t(
"debit"), FIELD_DEBIT),
87 std::make_pair(
mask_t(
"cost"), FIELD_COST),
88 std::make_pair(
mask_t(
"total"), FIELD_TOTAL),
89 std::make_pair(
mask_t(
"note"), FIELD_NOTE),
90 std::make_pair(
mask_t(
""), FIELD_UNKNOWN) } {
105 return context.linebuf;
108 return context.pathname;
111 return context.linenum;
#define DECLARE_EXCEPTION(name, kind)
Abstract dynamic type representing various numeric types.
#define TRACE_CTOR(cls, args)
boost::filesystem::path path
csv_error(const string &why)
std::size_t get_linenum() const
csv_reader(parse_context_t &_context)
const char * get_last_line() const
string read_field(std::istream &in)
path get_pathname() const
xact_t * read_xact(bool rich_data)
char * next_line(std::istream &in)
void read_index(std::istream &in)