cpp_db_t
static const char *parse_template_param(const char *, const char *, cpp_db_t *);
static const char *parse_decltype(const char *, const char *, cpp_db_t *);
static const char *parse_template_args(const char *, const char *, cpp_db_t *);
const char *, cpp_db_t *);
cpp_db_t *);
cpp_db_t *);
static const char *parse_template_arg(const char *, const char *, cpp_db_t *);
static const char *parse_expression(const char *, const char *, cpp_db_t *);
static const char *parse_expr_primary(const char *, const char *, cpp_db_t *);
const char *, cpp_db_t *);
const char *, cpp_db_t *);
parse_expression(const char *first, const char *last, cpp_db_t *db)
static const char *parse_gs(const char *, const char *, cpp_db_t *);
static const char *parse_idx_expr(const char *, const char *, cpp_db_t *);
static const char *parse_mm_expr(const char *, const char *, cpp_db_t *);
static const char *parse_pp_expr(const char *, const char *, cpp_db_t *);
static const char *parse_trinary_expr(const char *, const char *, cpp_db_t *);
cpp_db_t *db)
static const char *parse_new_expr(const char *, const char *, cpp_db_t *);
static const char *parse_del_expr(const char *, const char *, cpp_db_t *);
static const char *parse_cast_expr(const char *, const char *, cpp_db_t *);
cpp_db_t *db)
cpp_db_t *);
parse_gs(const char *first, const char *last, cpp_db_t *db)
static const char *parse_typeid_expr(const char *, const char *, cpp_db_t *);
static const char *parse_throw_expr(const char *, const char *, cpp_db_t *);
static const char *parse_dot_star_expr(const char *, const char *, cpp_db_t *);
parse_new_expr(const char *first, const char *last, cpp_db_t *db)
static const char *parse_dot_expr(const char *, const char *, cpp_db_t *);
static const char *parse_call_expr(const char *, const char *, cpp_db_t *);
static const char *parse_arrow_expr(const char *, const char *, cpp_db_t *);
static const char *parse_conv_expr(const char *, const char *, cpp_db_t *);
static const char *parse_function_param(const char *, const char *, cpp_db_t *);
cpp_db_t *);
parse_del_expr(const char *first, const char *last, cpp_db_t *db)
cpp_db_t *);
parse_idx_expr(const char *first, const char *last, cpp_db_t *db)
static const char *parse_noexcept_expr(const char *, const char *, cpp_db_t *);
static const char *parse_alignof(const char *, const char *, cpp_db_t *);
cpp_db_t *db)
static const char *parse_sizeof(const char *, const char *, cpp_db_t *);
cpp_db_t *);
parse_mm_expr(const char *first, const char *last, cpp_db_t *db)
static const char *parse_ctor_dtor_name(const char *, const char *, cpp_db_t *);
parse_pp_expr(const char *first, const char *last, cpp_db_t *db)
static const char *parse_source_name(const char *, const char *, cpp_db_t *);
parse_trinary_expr(const char *first, const char *last, cpp_db_t *db)
static const char *parse_operator_name(const char *, const char *, cpp_db_t *);
static const char *parse_pack_expansion(const char *, const char *, cpp_db_t *);
parse_noexcept_expr(const char *first, const char *last, cpp_db_t *db)
cpp_db_t *);
parse_cast_expr(const char *first, const char *last, cpp_db_t *db)
cpp_db_t *);
cpp_db_t *);
static const char *parse_function_type(const char *, const char *, cpp_db_t *);
parse_arrow_expr(const char *first, const char *last, cpp_db_t *db)
static const char *parse_array_type(const char *, const char *, cpp_db_t *);
cpp_db_t *);
static const char *parse_vector_type(const char *, const char *, cpp_db_t *);
parse_type(const char *first, const char *last, cpp_db_t *db)
cpp_db_t db;
parse_qual_type(const char *first, const char *last, cpp_db_t *db)
parse_alignof(const char *first, const char *last, cpp_db_t *db)
const char *(*fn)(const char *, const char *, cpp_db_t *);
parse_sizeof(const char *first, const char *last, cpp_db_t *db)
parse_function_param(const char *first, const char *last, cpp_db_t *db)
parse_sizeof_param_pack_expr(const char *first, const char *last, cpp_db_t *db)
parse_typeid_expr(const char *first, const char *last, cpp_db_t *db)
parse_throw_expr(const char *first, const char *last, cpp_db_t *db)
parse_dot_star_expr(const char *first, const char *last, cpp_db_t *db)
parse_dot_expr(const char *first, const char *last, cpp_db_t *db)
parse_call_expr(const char *first, const char *last, cpp_db_t *db)
parse_conv_expr(const char *first, const char *last, cpp_db_t *db)
demangle(const char *first, const char *last, cpp_db_t *db)
parse_simple_id(const char *first, const char *last, cpp_db_t *db)
parse_unresolved_type(const char *first, const char *last, cpp_db_t *db)
parse_pack_expansion(const char *first, const char *last, cpp_db_t *db)
parse_unscoped_name(const char *first, const char *last, cpp_db_t *db)
parse_unqualified_name(const char *first, const char *last, cpp_db_t *db)
parse_unnamed_type_name(const char *first, const char *last, cpp_db_t *db)
basename(cpp_db_t *db)
parse_ctor_dtor_name(const char *first, const char *last, cpp_db_t *db)
cpp_db_t *db)
parse_floating_literal(const char *first, const char *last, cpp_db_t *db)
parse_dot_suffix(const char *first, const char *last, cpp_db_t *db)
parse_expr_primary(const char *first, const char *last, cpp_db_t *db)
parse_block_invoke(const char *first, const char *last, cpp_db_t *db)
parse_operator_name(const char *first, const char *last, cpp_db_t *db)
parse_builtin_type(const char *first, const char *last, cpp_db_t *db)
parse_substitution(const char *first, const char *last, cpp_db_t *db)
parse_source_name(const char *first, const char *last, cpp_db_t *db)
parse_vector_type(const char *first, const char *last, cpp_db_t *db)
parse_encoding(const char *first, const char *last, cpp_db_t *db)
parse_decltype(const char *first, const char *last, cpp_db_t *db)
parse_array_type(const char *first, const char *last, cpp_db_t *db)
parse_pointer_to_member_type(const char *first, const char *last, cpp_db_t *db)
parse_unresolved_name(const char *first, const char *last, cpp_db_t *db)
cpp_db_t *db)
parse_base_unresolved_name(const char *first, const char *last, cpp_db_t *db)
parse_destructor_name(const char *first, const char *last, cpp_db_t *db)
parse_function_type(const char *first, const char *last, cpp_db_t *db)
parse_template_param(const char *first, const char *last, cpp_db_t *db)
parse_template_args(const char *first, const char *last, cpp_db_t *db)
nempty(cpp_db_t *db)
nlen(cpp_db_t *db)
nadd_l(cpp_db_t *db, const char *s, size_t len)
njoin(cpp_db_t *db, size_t amt, const char *sep)
nfmt(cpp_db_t *db, const char *fmt_l, const char *fmt_r)
save_top(cpp_db_t *db, size_t amt)
sub(cpp_db_t *db, size_t n)
tempty(const cpp_db_t *db)
ttlen(const cpp_db_t *db)
tsub(cpp_db_t *db, size_t n)
tpush(cpp_db_t *db)
tpop(cpp_db_t *db)
tsave(cpp_db_t *db, size_t amt)
db_init(cpp_db_t *db, sysdem_ops_t *ops)
db_fini(cpp_db_t *db)
dump(cpp_db_t *db, FILE *out)
parse_special_name(const char *first, const char *last, cpp_db_t *db)
static boolean_t nempty(cpp_db_t *);
static size_t nlen(cpp_db_t *);
static void nadd_l(cpp_db_t *, const char *, size_t);
static void njoin(cpp_db_t *, size_t, const char *);
static void nfmt(cpp_db_t *, const char *, const char *);
boolean_t *ends_with_template_args, cpp_db_t *db)
static void save_top(cpp_db_t *, size_t);
static void sub(cpp_db_t *, size_t);
static boolean_t tempty(const cpp_db_t *);
static size_t ttlen(const cpp_db_t *);
boolean_t *ends_with_template_args, cpp_db_t *db)
static void tsub(cpp_db_t *, size_t);
static void tpush(cpp_db_t *);
static void tpop(cpp_db_t *);
static void tsave(cpp_db_t *, size_t);
static void db_init(cpp_db_t *, sysdem_ops_t *);
boolean_t *ends_with_template_args, cpp_db_t *db)
static void db_fini(cpp_db_t *);
static void dump(cpp_db_t *, FILE *);
static void demangle(const char *, const char *, cpp_db_t *);
static const char *parse_type(const char *, const char *, cpp_db_t *);
static const char *parse_builtin_type(const char *, const char *, cpp_db_t *);
static const char *parse_qual_type(const char *, const char *, cpp_db_t *);
static const char *parse_encoding(const char *, const char *, cpp_db_t *);
static const char *parse_dot_suffix(const char *, const char *, cpp_db_t *);
static const char *parse_block_invoke(const char *, const char *, cpp_db_t *);
static const char *parse_special_name(const char *, const char *, cpp_db_t *);
cpp_db_t *);
parse_template_arg(const char *first, const char *last, cpp_db_t *db)
cpp_db_t *);
cpp_db_t *);
static const char *parse_unscoped_name(const char *, const char *, cpp_db_t *);
static const char *parse_template_args(const char *, const char *, cpp_db_t *);
static const char *parse_substitution(const char *, const char *, cpp_db_t *);