Classes | |
| union | Data |
Public Types | |
| enum | Type { TYPE_EMPTY = 0 , TYPE_BOOL , TYPE_INT , TYPE_DOUBLE , TYPE_STRING } |
| enum class | Deferred : unsigned char { None , Value , Text } |
| enum | Function2ParamsType { FUNCTION_MIN , FUNCTION_MAX } |
Public Member Functions | |
| expr () | |
| expr (const expr &rhs) | |
| expr (expr &&rhs) | |
| expr (bool b) | |
| expr (bool b, const Iterator &it_begin, const Iterator &it_end) | |
| expr (int i) | |
| expr (int i, const Iterator &it_begin, const Iterator &it_end) | |
| expr (double d) | |
| expr (double d, const Iterator &it_begin, const Iterator &it_end) | |
| expr (const char *s) | |
| expr (const std::string &s) | |
| expr (std::string &&s) | |
| expr (const std::string &s, const Iterator &it_begin, const Iterator &it_end) | |
| expr (expr &&rhs, const Iterator &it_begin, const Iterator &it_end) | |
| expr & | operator= (const expr &rhs) |
| expr & | operator= (expr &&rhs) |
| void | reset () |
| ~expr () | |
| Type | type () const |
| bool | numeric_type () const |
| bool | deferred () const |
| void | set_deferred (Deferred deferred) |
| bool & | b () |
| bool | b () const |
| void | set_b (bool v) |
| void | set_b_lite (bool v) |
| int & | i () |
| int | i () const |
| void | set_i (int v) |
| void | set_i_lite (int v) |
| int | as_i () const |
| int | as_i_rounded () const |
| double & | d () |
| double | d () const |
| void | set_d (double v) |
| void | set_d_lite (double v) |
| double | as_d () const |
| std::string & | s () |
| const std::string & | s () const |
| void | set_s (const std::string &s) |
| void | set_s (std::string &&s) |
| void | set_s (const char *s) |
| std::string | to_string () const |
| expr | unary_minus (const Iterator start_pos) const |
| expr | unary_integer (const Iterator start_pos) const |
| expr | round (const Iterator start_pos) const |
| expr | floor (const Iterator start_pos) const |
| expr | ceil (const Iterator start_pos) const |
| expr | unary_not (const Iterator start_pos) const |
| expr & | operator+= (const expr &rhs) |
| expr & | operator-= (const expr &rhs) |
| expr & | operator*= (const expr &rhs) |
| expr & | operator/= (const expr &rhs) |
| expr & | operator%= (const expr &rhs) |
| void | throw_exception (const char *message) const |
| void | throw_if_not_numeric (const char *message) const |
| void | throw_if_deferred () const |
Static Public Member Functions | |
| static void | to_string2 (expr &self, std::string &out) |
| static void | evaluate_boolean (expr &self, bool &out) |
| static void | evaluate_boolean_to_string (expr &self, std::string &out) |
| static void | compare_op (expr &lhs, expr &rhs, char op, bool invert) |
| static void | equal (expr &lhs, expr &rhs) |
| static void | not_equal (expr &lhs, expr &rhs) |
| static void | lower (expr &lhs, expr &rhs) |
| static void | greater (expr &lhs, expr &rhs) |
| static void | leq (expr &lhs, expr &rhs) |
| static void | geq (expr &lhs, expr &rhs) |
| static void | throw_if_not_numeric (const expr ¶m) |
| static void | function_2params (expr ¶m1, expr ¶m2, Function2ParamsType fun) |
| static void | min (expr ¶m1, expr ¶m2) |
| static void | max (expr ¶m1, expr ¶m2) |
| static void | random (expr ¶m1, expr ¶m2, std::mt19937 &rng) |
| template<bool leading_zeros> | |
| static void | digits (expr ¶m1, expr ¶m2, expr ¶m3) |
| static void | regex_op (const expr &lhs, IteratorRange &rhs, char op, expr &out) |
| static void | regex_matches (expr &lhs, IteratorRange &rhs) |
| static void | regex_doesnt_match (expr &lhs, IteratorRange &rhs) |
| static void | regex_replace (expr &subject, IteratorRange &pattern, expr &replacement) |
| static void | one_of_test_init (expr &out) |
| template<bool RegEx> | |
| static void | one_of_test (const expr &match, const expr &pattern, expr &out) |
| static void | one_of_test_regex (const expr &match, IteratorRange &pattern, expr &out) |
| static void | logical_op (expr &lhs, expr &rhs, char op) |
| static void | logical_or (expr &lhs, expr &rhs) |
| static void | logical_and (expr &lhs, expr &rhs) |
| static const char * | deferred_message () |
Public Attributes | |
| IteratorRange | it_range |
Private Member Functions | |
| void | set_s_take_ownership (std::string *s) |
Private Attributes | |
| Type | m_type = TYPE_EMPTY |
| Deferred | m_deferred = Deferred::None |
| union Slic3r::client::expr::Data | m_data |
|
strong |
| Enumerator | |
|---|---|
| FUNCTION_MIN | |
| FUNCTION_MAX | |
| Enumerator | |
|---|---|
| TYPE_EMPTY | |
| TYPE_BOOL | |
| TYPE_INT | |
| TYPE_DOUBLE | |
| TYPE_STRING | |
|
inline |
Referenced by expr(), expr(), expr(), ceil(), compare_op(), digits(), equal(), evaluate_boolean(), evaluate_boolean_to_string(), floor(), function_2params(), geq(), greater(), leq(), logical_and(), logical_op(), logical_or(), lower(), max(), min(), not_equal(), one_of_test(), one_of_test_init(), one_of_test_regex(), operator%=(), operator*=(), operator+=(), operator-=(), operator/=(), operator=(), operator=(), random(), regex_doesnt_match(), regex_matches(), regex_op(), regex_replace(), round(), throw_if_not_numeric(), to_string2(), unary_integer(), unary_minus(), and unary_not().
|
inline |
References expr(), it_range, m_data, m_deferred, m_type, Slic3r::client::expr::Data::s, type(), and TYPE_STRING.
|
inline |
|
inlineexplicit |
|
inlineexplicit |
|
inlineexplicit |
|
inlineexplicit |
References d(), it_range, m_data, m_type, and TYPE_DOUBLE.
|
inlineexplicit |
|
inlineexplicit |
|
inlineexplicit |
|
inlineexplicit |
References it_range, m_data, m_type, s(), and TYPE_STRING.
|
inlineexplicit |
References expr(), it_range, m_data, m_deferred, m_type, None, type(), and TYPE_EMPTY.
|
inline |
|
inline |
References d(), i(), type(), and TYPE_DOUBLE.
Referenced by Slic3r::client::InterpolateTableContext::add_pair(), compare_op(), digits(), Slic3r::client::InterpolateTableContext::evaluate(), function_2params(), operator%=(), operator*=(), operator+=(), operator-=(), operator/=(), random(), Slic3r::client::MyContext::scalar_variable_assign_scalar(), Slic3r::client::MyContext::vector_variable_assign_expr_with_count(), and Slic3r::client::MyContext::vector_variable_element_assign_scalar().
|
inline |
References d(), i(), type(), and TYPE_INT.
Referenced by digits(), Slic3r::client::MyContext::filament_change(), function_2params(), random(), Slic3r::client::MyContext::scalar_variable_assign_scalar(), Slic3r::client::MyContext::vector_variable_assign_expr_with_count(), and Slic3r::client::MyContext::vector_variable_element_assign_scalar().
|
inline |
|
inline |
References m_data.
Referenced by expr(), expr(), compare_op(), evaluate_boolean(), evaluate_boolean_to_string(), logical_op(), one_of_test(), one_of_test_regex(), Slic3r::client::operator<<(), Slic3r::client::MyContext::scalar_variable_assign_scalar(), Slic3r::client::MyContext::scalar_variable_new_from_scalar_expression(), to_string(), unary_not(), Slic3r::client::MyContext::vector_variable_assign_expr_with_count(), Slic3r::client::MyContext::vector_variable_element_assign_scalar(), and Slic3r::client::MyContext::vector_variable_new_from_array().
References expr(), d(), i(), L, throw_exception(), type(), TYPE_DOUBLE, and TYPE_INT.
Referenced by Slic3r::client::FactorActions::ceil().
References expr(), as_d(), b(), i(), it_range, L, numeric_type(), reset(), set_b_lite(), throw_if_deferred(), to_string(), type(), TYPE_BOOL, TYPE_DOUBLE, TYPE_EMPTY, and TYPE_STRING.
Referenced by equal(), geq(), greater(), leq(), lower(), and not_equal().
|
inline |
References m_data.
Referenced by expr(), expr(), as_d(), as_i(), as_i_rounded(), ceil(), floor(), function_2params(), operator%=(), operator/=(), Slic3r::client::operator<<(), round(), Slic3r::client::MyContext::scalar_variable_new_from_scalar_expression(), to_string(), unary_integer(), unary_minus(), and Slic3r::client::MyContext::vector_variable_new_from_array().
|
inline |
References m_deferred, and None.
Referenced by operator+=(), operator=(), set_deferred(), throw_exception(), and throw_if_deferred().
|
inlinestatic |
References L.
Referenced by throw_exception(), and throw_if_deferred().
|
inlinestatic |
References expr(), as_d(), as_i(), as_i_rounded(), L, set_s(), throw_exception(), throw_if_not_numeric(), type(), TYPE_EMPTY, and TYPE_INT.
Referenced by Slic3r::client::macro_processor::macro_processor().
References expr(), and compare_op().
Referenced by Slic3r::client::macro_processor::macro_processor().
|
inlinestatic |
References expr(), b(), L, throw_exception(), type(), TYPE_BOOL, and TYPE_EMPTY.
Referenced by Slic3r::client::macro_processor::macro_processor().
|
inlinestatic |
References expr(), b(), L, throw_exception(), type(), TYPE_BOOL, and TYPE_EMPTY.
Referenced by Slic3r::client::macro_processor::macro_processor().
References expr(), d(), i(), L, throw_exception(), type(), TYPE_DOUBLE, and TYPE_INT.
Referenced by Slic3r::client::FactorActions::floor().
|
inlinestatic |
References expr(), as_d(), as_i(), d(), FUNCTION_MAX, FUNCTION_MIN, i(), set_d_lite(), set_i_lite(), throw_exception(), throw_if_not_numeric(), type(), TYPE_DOUBLE, and TYPE_EMPTY.
Referenced by max(), and min().
References expr(), and compare_op().
Referenced by Slic3r::client::macro_processor::macro_processor().
References expr(), and compare_op().
Referenced by Slic3r::client::macro_processor::macro_processor().
|
inline |
References m_data.
Referenced by expr(), expr(), as_d(), as_i(), as_i_rounded(), ceil(), compare_op(), Slic3r::client::MyContext::evaluate_count(), Slic3r::client::MyContext::evaluate_index(), floor(), function_2params(), operator%=(), operator*=(), operator+=(), operator-=(), operator/=(), Slic3r::client::operator<<(), round(), Slic3r::client::MyContext::scalar_variable_new_from_scalar_expression(), to_string(), unary_integer(), unary_minus(), and Slic3r::client::MyContext::vector_variable_new_from_array().
References expr(), and compare_op().
Referenced by Slic3r::client::macro_processor::macro_processor().
References expr(), and logical_op().
Referenced by Slic3r::client::macro_processor::macro_processor().
References expr(), b(), it_range, L, set_b_lite(), throw_if_deferred(), type(), TYPE_BOOL, and TYPE_EMPTY.
Referenced by logical_and(), and logical_or().
References expr(), and logical_op().
Referenced by Slic3r::client::macro_processor::macro_processor().
References expr(), and compare_op().
Referenced by Slic3r::client::macro_processor::macro_processor().
References expr(), function_2params(), and FUNCTION_MAX.
Referenced by Slic3r::client::macro_processor::macro_processor().
References expr(), function_2params(), and FUNCTION_MIN.
Referenced by Slic3r::client::macro_processor::macro_processor().
References expr(), and compare_op().
Referenced by Slic3r::client::macro_processor::macro_processor().
|
inline |
References m_type, TYPE_DOUBLE, and TYPE_INT.
Referenced by Slic3r::client::InterpolateTableContext::add_pair(), Slic3r::client::MyContext::check_numeric(), compare_op(), Slic3r::client::InterpolateTableContext::init(), and throw_if_not_numeric().
|
inlinestatic |
References expr(), b(), L, reset(), s(), set_b(), throw_exception(), throw_if_deferred(), type(), TYPE_EMPTY, and TYPE_STRING.
Referenced by Slic3r::client::macro_processor::macro_processor().
|
inlinestatic |
References expr(), and set_b().
Referenced by Slic3r::client::macro_processor::macro_processor().
|
inlinestatic |
References expr(), b(), L, regex_op(), reset(), throw_exception(), type(), TYPE_EMPTY, and TYPE_STRING.
Referenced by Slic3r::client::macro_processor::macro_processor().
References expr(), as_d(), d(), i(), it_range, L, m_data, reset(), set_d_lite(), throw_exception(), throw_if_not_numeric(), type(), TYPE_DOUBLE, TYPE_EMPTY, and TYPE_INT.
References expr(), as_d(), i(), it_range, L, m_data, reset(), set_d_lite(), throw_if_not_numeric(), type(), TYPE_DOUBLE, and TYPE_EMPTY.
References expr(), as_d(), deferred(), i(), it_range, L, m_data, m_deferred, s(), set_d_lite(), set_s(), Text, throw_if_deferred(), throw_if_not_numeric(), to_string(), type(), TYPE_DOUBLE, TYPE_EMPTY, TYPE_STRING, and Value.
References expr(), as_d(), i(), it_range, L, m_data, reset(), set_d_lite(), throw_if_not_numeric(), type(), TYPE_DOUBLE, and TYPE_EMPTY.
References expr(), as_d(), d(), i(), it_range, L, m_data, reset(), set_d_lite(), throw_exception(), throw_if_not_numeric(), type(), TYPE_DOUBLE, TYPE_EMPTY, and TYPE_INT.
References expr(), deferred(), it_range, m_data, m_deferred, m_type, s(), set_s(), type(), and TYPE_STRING.
References expr(), it_range, m_data, m_deferred, m_type, None, reset(), and TYPE_EMPTY.
References expr(), as_d(), as_i(), set_d_lite(), set_i_lite(), throw_if_not_numeric(), type(), TYPE_DOUBLE, and TYPE_EMPTY.
Referenced by Slic3r::client::MyContext::random().
|
inlinestatic |
References expr(), and regex_op().
Referenced by Slic3r::client::macro_processor::macro_processor().
|
inlinestatic |
References expr(), and regex_op().
Referenced by Slic3r::client::macro_processor::macro_processor().
|
inlinestatic |
References expr(), _u8L, Slic3r::format(), L, s(), set_b(), throw_exception(), throw_if_deferred(), type(), TYPE_EMPTY, and TYPE_STRING.
Referenced by one_of_test_regex(), regex_doesnt_match(), and regex_matches().
|
inlinestatic |
References expr(), _u8L, Slic3r::format(), L, s(), set_s(), throw_exception(), throw_if_deferred(), to_string(), type(), TYPE_EMPTY, and TYPE_STRING.
Referenced by Slic3r::client::MyContext::regex_replace().
|
inline |
References m_data, m_deferred, m_type, None, type(), TYPE_EMPTY, and TYPE_STRING.
Referenced by ~expr(), Slic3r::client::FactorActions::bool_(), compare_op(), Slic3r::client::FactorActions::double_(), Slic3r::client::FactorActions::int_(), Slic3r::client::FactorActions::noexpr(), one_of_test(), one_of_test_regex(), operator%=(), operator*=(), operator-=(), operator/=(), operator=(), set_b(), set_d(), set_i(), and Slic3r::client::FactorActions::string_().
References expr(), d(), i(), L, throw_exception(), type(), TYPE_DOUBLE, TYPE_EMPTY, and TYPE_INT.
Referenced by Slic3r::client::FactorActions::round().
|
inline |
References m_data.
Referenced by expr(), expr(), expr(), expr(), Slic3r::client::MyContext::mark_deferred(), one_of_test(), operator+=(), Slic3r::client::operator<<(), operator=(), regex_op(), regex_replace(), Slic3r::client::MyContext::scalar_variable_new_from_scalar_expression(), set_s(), set_s(), set_s(), set_s_take_ownership(), to_string(), and Slic3r::client::MyContext::vector_variable_new_from_array().
|
inline |
|
inline |
References reset(), and set_b_lite().
Referenced by Slic3r::client::MyContext::is_nil_test(), Slic3r::client::MyContext::is_vector_empty(), one_of_test(), one_of_test_init(), regex_op(), Slic3r::client::MyContext::scalar_variable_to_expr(), and Slic3r::client::MyContext::vector_element_to_expr().
|
inline |
References Slic3r::client::expr::Data::b, m_data, m_type, type(), TYPE_BOOL, and TYPE_STRING.
Referenced by compare_op(), logical_op(), and set_b().
|
inline |
References reset(), and set_d_lite().
Referenced by Slic3r::client::InterpolateTableContext::evaluate(), Slic3r::client::MyContext::scalar_variable_to_expr(), and Slic3r::client::MyContext::vector_element_to_expr().
|
inline |
References Slic3r::client::expr::Data::d, m_data, m_type, type(), TYPE_DOUBLE, and TYPE_STRING.
Referenced by function_2params(), operator%=(), operator*=(), operator+=(), operator-=(), operator/=(), random(), and set_d().
|
inline |
References deferred(), and m_deferred.
Referenced by Slic3r::client::MyContext::mark_deferred().
|
inline |
References reset(), and set_i_lite().
Referenced by Slic3r::client::MyContext::scalar_variable_to_expr(), Slic3r::client::MyContext::vector_element_to_expr(), and Slic3r::client::MyContext::vector_size().
|
inline |
References Slic3r::client::expr::Data::i, m_data, m_type, type(), TYPE_INT, and TYPE_STRING.
Referenced by function_2params(), random(), and set_i().
|
inline |
References m_data, m_deferred, None, s(), set_s_take_ownership(), type(), and TYPE_STRING.
|
inline |
References m_data, m_deferred, None, s(), set_s_take_ownership(), type(), and TYPE_STRING.
Referenced by digits(), operator+=(), operator=(), regex_replace(), Slic3r::client::MyContext::scalar_variable_to_expr(), and Slic3r::client::MyContext::vector_element_to_expr().
|
inline |
References m_data, m_deferred, None, s(), set_s_take_ownership(), type(), and TYPE_STRING.
|
inlineprivate |
References m_data, m_type, Slic3r::client::expr::Data::s, s(), type(), and TYPE_STRING.
Referenced by set_s(), set_s(), and set_s().
|
inline |
References deferred(), and deferred_message().
Referenced by Slic3r::client::InterpolateTableContext::add_pair(), ceil(), Slic3r::client::MyContext::check_numeric(), digits(), Slic3r::client::InterpolateTableContext::evaluate(), evaluate_boolean(), evaluate_boolean_to_string(), Slic3r::client::MyContext::evaluate_count(), Slic3r::client::MyContext::evaluate_index(), floor(), function_2params(), Slic3r::client::InterpolateTableContext::init(), one_of_test(), one_of_test_regex(), operator%=(), operator/=(), regex_op(), regex_replace(), round(), throw_if_deferred(), throw_if_not_numeric(), unary_integer(), unary_minus(), unary_not(), and Slic3r::client::MyContext::vector_variable_assign_expr_with_count().
|
inline |
References deferred(), deferred_message(), and throw_exception().
Referenced by compare_op(), Slic3r::client::MyContext::filament_change(), logical_op(), one_of_test(), operator+=(), regex_op(), and regex_replace().
|
inline |
References numeric_type(), and throw_exception().
|
inlinestatic |
References expr(), L, and throw_if_not_numeric().
Referenced by digits(), function_2params(), operator%=(), operator*=(), operator+=(), operator-=(), operator/=(), random(), and throw_if_not_numeric().
|
inline |
References b(), d(), i(), s(), type(), TYPE_BOOL, TYPE_DOUBLE, TYPE_EMPTY, TYPE_INT, and TYPE_STRING.
Referenced by compare_op(), operator+=(), regex_replace(), Slic3r::client::MyContext::scalar_variable_assign_scalar(), to_string2(), Slic3r::client::MyContext::vector_variable_assign_expr_with_count(), and Slic3r::client::MyContext::vector_variable_element_assign_scalar().
|
inlinestatic |
References expr(), to_string(), type(), and TYPE_EMPTY.
Referenced by Slic3r::client::macro_processor::macro_processor().
|
inline |
References m_type.
Referenced by expr(), expr(), Slic3r::client::InterpolateTableContext::add_pair(), as_d(), as_i(), as_i_rounded(), ceil(), compare_op(), digits(), Slic3r::client::InterpolateTableContext::evaluate(), evaluate_boolean(), evaluate_boolean_to_string(), Slic3r::client::MyContext::evaluate_count(), Slic3r::client::MyContext::evaluate_index(), Slic3r::client::MyContext::filament_change(), floor(), function_2params(), Slic3r::client::InterpolateTableContext::init(), Slic3r::client::MyContext::initializer_list_append(), logical_op(), Slic3r::client::MyContext::mark_deferred(), one_of_test(), one_of_test_regex(), operator%=(), operator*=(), operator+=(), operator-=(), operator/=(), Slic3r::client::operator<<(), operator=(), random(), regex_op(), regex_replace(), reset(), round(), Slic3r::client::MyContext::scalar_variable_assign_scalar(), Slic3r::client::MyContext::scalar_variable_new_from_scalar_expression(), set_b_lite(), set_d_lite(), set_i_lite(), set_s(), set_s(), set_s(), set_s_take_ownership(), to_string(), to_string2(), unary_integer(), unary_minus(), unary_not(), Slic3r::client::MyContext::vector_variable_assign_expr_with_count(), Slic3r::client::MyContext::vector_variable_element_assign_scalar(), and Slic3r::client::MyContext::vector_variable_new_from_array().
References expr(), d(), i(), L, throw_exception(), type(), TYPE_DOUBLE, TYPE_EMPTY, and TYPE_INT.
Referenced by Slic3r::client::FactorActions::to_int().
References expr(), d(), i(), L, throw_exception(), type(), TYPE_DOUBLE, TYPE_EMPTY, and TYPE_INT.
Referenced by Slic3r::client::FactorActions::minus_().
References expr(), b(), L, throw_exception(), type(), TYPE_BOOL, and TYPE_EMPTY.
Referenced by Slic3r::client::FactorActions::not_().
| IteratorRange Slic3r::client::expr::it_range |
Referenced by expr(), expr(), expr(), expr(), expr(), expr(), expr(), Slic3r::client::InterpolateTableContext::add_pair(), Slic3r::client::FactorActions::bool_(), Slic3r::client::FactorActions::ceil(), compare_op(), Slic3r::client::FactorActions::double_(), Slic3r::client::FactorActions::expr_(), Slic3r::client::FactorActions::floor(), Slic3r::client::FactorActions::int_(), Slic3r::client::MyContext::is_nil_test(), Slic3r::client::MyContext::is_vector_empty(), logical_op(), Slic3r::client::FactorActions::minus_(), Slic3r::client::FactorActions::not_(), operator%=(), operator*=(), operator+=(), operator-=(), operator/=(), Slic3r::client::operator<<(), operator=(), operator=(), Slic3r::client::MyContext::random(), Slic3r::client::FactorActions::round(), Slic3r::client::MyContext::scalar_variable_assign_scalar(), Slic3r::client::MyContext::scalar_variable_new_from_scalar_expression(), Slic3r::client::FactorActions::set_start_pos(), Slic3r::client::FactorActions::string_(), Slic3r::client::FactorActions::to_int(), Slic3r::client::MyContext::variable_value(), Slic3r::client::MyContext::vector_size(), Slic3r::client::MyContext::vector_variable_assign_array(), Slic3r::client::MyContext::vector_variable_element_assign_scalar(), and Slic3r::client::MyContext::vector_variable_new_from_array().
|
private |
Referenced by expr(), expr(), expr(), expr(), expr(), expr(), expr(), expr(), expr(), expr(), expr(), expr(), b(), b(), d(), d(), i(), i(), operator%=(), operator*=(), operator+=(), operator-=(), operator/=(), operator=(), operator=(), reset(), s(), s(), set_b_lite(), set_d_lite(), set_i_lite(), set_s(), set_s(), set_s(), and set_s_take_ownership().
|
private |
Referenced by expr(), expr(), deferred(), operator+=(), operator=(), operator=(), reset(), set_deferred(), set_s(), set_s(), and set_s().
|
private |
Referenced by expr(), expr(), expr(), expr(), expr(), expr(), expr(), expr(), expr(), expr(), expr(), expr(), numeric_type(), operator=(), operator=(), reset(), set_b_lite(), set_d_lite(), set_i_lite(), set_s_take_ownership(), and type().