43 size_t const max_children(
f_node->size() - (end_with_bracket ? 1 : 0));
44 for(
size_t a(0); a < max_children; ++a)
72 <<
"A special flag, !"
74 <<
" in this case, must only appear at the end of a declaration."
85 parent->set_flag(
f_current->get_string(),
true);
160 if(func->get_string() !=
"calc"
161 && func->get_string() !=
"expression")
204 switch(result->get_type())
207 result->set_integer(-result->get_integer());
212 result->set_decimal_number(-result->get_decimal_number());
217 <<
"unsupported type "
218 << result->get_type()
219 <<
" for operator '-'."
260 color_node->set_color(hash);
274 std::string
const identifier(result->get_string());
277 if(identifier ==
"null")
281 if(identifier ==
"true")
284 b->set_boolean(
true);
287 if(identifier ==
"false")
298 color_node->set_color(col);
316 <<
"unsupported type "
318 <<
" as a unary expression token."
void set_color(rgba_color_t const rgba)
static error & instance()
node::pointer_t conditional()
void compile_args(bool divide_font_metrics)
node::pointer_t excecute_function(node::pointer_t func)
node::pointer_t f_current
node::pointer_t expression_list()
node::pointer_t compile_list(node::pointer_t parent)
expression_variables_interface * f_variable_handler
bool f_divide_font_metrics
void set_variable_handler(expression_variables_interface *handler)
node::pointer_t replace_with_result(node::pointer_t result)
variable_vector_t f_variables
std::shared_ptr< node > pointer_t
static bool argify(node::pointer_t n, node_type_t const separator=node_type_t::COMMA)
The namespace of all the classes in the CSS Preprocessor.