#include <algorithm>
#include <vector>
#include <boost/spirit/include/qi.hpp>
#include <boost/spirit/include/phoenix_core.hpp>
#include <boost/spirit/include/phoenix_operator.hpp>
#include <boost/fusion/include/adapt_struct.hpp>
#include <boost/variant/variant.hpp>
#include <boost/variant/recursive_wrapper.hpp>
Go to the source code of this file.
Namespaces | |
spirit_po | |
spirit_po::default_plural_forms | |
Macros | |
#define | BOOST_SPIRIT_USE_PHOENIX_V3 |
#define | FOREACH_SPIRIT_PO_BINARY_OP(X_) X_(eq_op, ==) X_(neq_op, !=) X_(ge_op, >=) X_(le_op, <=) X_(gt_op, >) X_(lt_op, <) X_(mod_op, %) |
#define | FOREACH_SPIRIT_PO_CONJUNCTION(X_) X_(and_op, &&) X_(or_op, ||) |
#define | FWD_DECL_(name, op) struct name ; \ |
#define | WRAP_(name, op) boost::recursive_wrapper< name >, \ |
#define | DECL_(name, op) struct name { expr e1, e2; }; \ |
#define | EVAL_OP_(name, OPERATOR) uint operator()(const name & op) const { return (boost::apply_visitor(*this, op.e1)) OPERATOR (boost::apply_visitor(*this, op.e2)); } \ |
#define | ADAPT_STRUCT_(name, op) |
#define | ENUMERATE(X, Y) X, |
#define | EMIT_OP_(name, op) |
#define | MACHINE_ASSERT(...) do {} while(0) |
#define | STACK_MACHINE_CASE_(name, op) |
Typedefs | |
typedef boost::variant< constant, n_var, boost::recursive_wrapper< not_op >, boost::recursive_wrapper< ternary_op > > | spirit_po::default_plural_forms::expr |
#define ADAPT_STRUCT_ | ( | name, | |
op | |||
) |
Referenced by spirit_po::default_plural_forms::evaluator::operator()().
#define BOOST_SPIRIT_USE_PHOENIX_V3 |
Definition at line 20 of file default_plural_forms_expressions.hpp.
Definition at line 91 of file default_plural_forms_expressions.hpp.
#define EMIT_OP_ | ( | name, | |
op | |||
) |
Referenced by spirit_po::default_plural_forms::evaluator::operator()().
#define ENUMERATE | ( | X, | |
Y | |||
) | X, |
Referenced by spirit_po::default_plural_forms::evaluator::operator()().
#define EVAL_OP_ | ( | name, | |
OPERATOR | |||
) | uint operator()(const name & op) const { return (boost::apply_visitor(*this, op.e1)) OPERATOR (boost::apply_visitor(*this, op.e2)); } \ |
Definition at line 110 of file default_plural_forms_expressions.hpp.
#define FOREACH_SPIRIT_PO_BINARY_OP | ( | X_ | ) | X_(eq_op, ==) X_(neq_op, !=) X_(ge_op, >=) X_(le_op, <=) X_(gt_op, >) X_(lt_op, <) X_(mod_op, %) |
Definition at line 46 of file default_plural_forms_expressions.hpp.
Referenced by spirit_po::default_plural_forms::evaluator::operator()().
#define FOREACH_SPIRIT_PO_CONJUNCTION | ( | X_ | ) | X_(and_op, &&) X_(or_op, ||) |
Definition at line 51 of file default_plural_forms_expressions.hpp.
Referenced by spirit_po::default_plural_forms::evaluator::operator()().
Definition at line 63 of file default_plural_forms_expressions.hpp.
#define MACHINE_ASSERT | ( | ... | ) | do {} while(0) |
Referenced by spirit_po::default_plural_forms::evaluator::operator()().
#define STACK_MACHINE_CASE_ | ( | name, | |
op | |||
) |
Referenced by spirit_po::default_plural_forms::evaluator::operator()().
Definition at line 75 of file default_plural_forms_expressions.hpp.