Current Version: 1.0.10
Project Name: csspp
Namespaces | Classes | Typedefs | Enumerations | Functions
csspp Namespace Reference

The namespace of all the classes in the CSS Preprocessor. More...

Namespaces

 anonymous_namespace{assembler.cpp}
 
 anonymous_namespace{color.cpp}
 
 anonymous_namespace{compiler.cpp}
 
 anonymous_namespace{csspp.cpp}
 
 anonymous_namespace{error.cpp}
 
 anonymous_namespace{expr_additive.cpp}
 
 anonymous_namespace{expr_equality.cpp}
 
 anonymous_namespace{internal_functions.cpp}
 
 anonymous_namespace{node.cpp}
 
 anonymous_namespace{nth_child.cpp}
 
 anonymous_namespace{parser.cpp}
 
 anonymous_namespace{unicode_range.cpp}
 

Classes

class  assembler
 
class  assembler_compact
 
class  assembler_compressed
 
class  assembler_expanded
 
class  assembler_impl
 
class  assembler_tidy
 
class  color
 
struct  color_table_t
 
class  compiler
 
class  csspp_exception_exit
 
class  csspp_exception_invalid_character
 
class  csspp_exception_invalid_token
 
class  csspp_exception_lexer
 
class  csspp_exception_logic
 
class  csspp_exception_overflow
 
class  csspp_exception_runtime
 
class  csspp_exception_unexpected_token
 
class  error
 
class  error_happened_t
 
class  expression
 
class  expression_variables_interface
 
class  lexer
 
class  node
 
class  nth_child
 
class  parser
 
class  position
 
class  safe_bool_t
 
class  safe_compiler_state_t
 
class  safe_error_stream_t
 
class  safe_error_t
 
class  safe_parents_t
 
class  safe_precision_t
 
class  unicode_range_t
 

Typedefs

typedef uint8_t byte_component_t
 
typedef float color_component_t
 
typedef double decimal_number_t
 
typedef uint32_t error_count_t
 
typedef int64_t integer_t
 
typedef int line_t
 
typedef std::vector
< node::pointer_t
node_vector_t
 
typedef uint64_t range_value_t
 
typedef int32_t repeat_integer_t
 
typedef uint32_t rgba_color_t
 
typedef int32_t wide_char_t
 
typedef uint32_t wide_uchar_t
 

Enumerations

enum  boolean_t {
  BOOLEAN_INVALID = -1,
  BOOLEAN_FALSE = 0,
  BOOLEAN_TRUE = 1
}
 
enum  error_mode_t {
  error_mode_t::ERROR_DEBUG,
  error_mode_t::ERROR_DEC,
  error_mode_t::ERROR_ERROR,
  error_mode_t::ERROR_FATAL,
  error_mode_t::ERROR_HEX,
  error_mode_t::ERROR_INFO,
  error_mode_t::ERROR_WARNING
}
 
enum  node_type_t {
  node_type_t::UNKNOWN,
  node_type_t::ADD,
  node_type_t::AND,
  node_type_t::ASSIGNMENT,
  node_type_t::AT_KEYWORD,
  node_type_t::BOOLEAN,
  node_type_t::CDC,
  node_type_t::CDO,
  node_type_t::CLOSE_CURLYBRACKET,
  node_type_t::CLOSE_PARENTHESIS,
  node_type_t::CLOSE_SQUAREBRACKET,
  node_type_t::COLON,
  node_type_t::COLOR,
  node_type_t::COLUMN,
  node_type_t::COMMA,
  node_type_t::COMMENT,
  node_type_t::CONDITIONAL,
  node_type_t::DASH_MATCH,
  node_type_t::DECIMAL_NUMBER,
  node_type_t::DIVIDE,
  node_type_t::DOLLAR,
  node_type_t::EOF_TOKEN,
  node_type_t::EQUAL,
  node_type_t::EXCLAMATION,
  node_type_t::FONT_METRICS,
  node_type_t::FUNCTION,
  node_type_t::GREATER_EQUAL,
  node_type_t::GREATER_THAN,
  node_type_t::HASH,
  node_type_t::IDENTIFIER,
  node_type_t::INCLUDE_MATCH,
  node_type_t::INTEGER,
  node_type_t::LESS_EQUAL,
  node_type_t::LESS_THAN,
  node_type_t::MODULO,
  node_type_t::MULTIPLY,
  node_type_t::NOT_EQUAL,
  node_type_t::NULL_TOKEN,
  node_type_t::OPEN_CURLYBRACKET,
  node_type_t::OPEN_PARENTHESIS,
  node_type_t::OPEN_SQUAREBRACKET,
  node_type_t::PERCENT,
  node_type_t::PERIOD,
  node_type_t::PLACEHOLDER,
  node_type_t::POWER,
  node_type_t::PRECEDED,
  node_type_t::PREFIX_MATCH,
  node_type_t::REFERENCE,
  node_type_t::SCOPE,
  node_type_t::SEMICOLON,
  node_type_t::STRING,
  node_type_t::SUBSTRING_MATCH,
  node_type_t::SUBTRACT,
  node_type_t::SUFFIX_MATCH,
  node_type_t::UNICODE_RANGE,
  node_type_t::URL,
  node_type_t::VARIABLE,
  node_type_t::VARIABLE_FUNCTION,
  node_type_t::WHITESPACE,
  node_type_t::AN_PLUS_B,
  node_type_t::ARG,
  node_type_t::ARRAY,
  node_type_t::COMPONENT_VALUE,
  node_type_t::DECLARATION,
  node_type_t::LIST,
  node_type_t::MAP,
  node_type_t::max_type
}
 
enum  output_mode_t {
  output_mode_t::COMPACT,
  output_mode_t::COMPRESSED,
  output_mode_t::EXPANDED,
  output_mode_t::TIDY
}
 

Functions

char const * csspp_library_version ()
 
std::string decimal_number_to_string (decimal_number_t d, bool remove_leading_zero)
 
int get_precision ()
 
int32_t constexpr mix_node_types (node_type_t a, node_type_t b)
 
node_type_t multiplicative_operator (node::pointer_t n)
 
node_type_t relational_operator (node::pointer_t n)
 
void set_precision (int precision)
 

Detailed Description

All the classes and many definitions appear under 'csspp'. It is strongly advised that you do not do a 'using csspp;' because some of the definitions are likely to spoil your namespace in a way you do not want it to.

Typedef Documentation

typedef uint8_t csspp::byte_component_t

Definition at line 27 of file color.h.

typedef float csspp::color_component_t

Definition at line 26 of file color.h.

typedef double csspp::decimal_number_t

Definition at line 53 of file csspp.h.

typedef uint32_t csspp::error_count_t

Definition at line 39 of file error.h.

typedef int64_t csspp::integer_t

Definition at line 52 of file csspp.h.

typedef int csspp::line_t

Definition at line 27 of file position.h.

typedef std::vector<node::pointer_t> csspp::node_vector_t

Definition at line 203 of file node.h.

typedef uint64_t csspp::range_value_t

Definition at line 25 of file unicode_range.h.

typedef int32_t csspp::repeat_integer_t

Definition at line 25 of file nth_child.h.

typedef uint32_t csspp::rgba_color_t

Definition at line 28 of file color.h.

typedef int32_t csspp::wide_char_t

Definition at line 49 of file csspp.h.

typedef uint32_t csspp::wide_uchar_t

Definition at line 50 of file csspp.h.

Enumeration Type Documentation

Enumerator
BOOLEAN_INVALID 
BOOLEAN_FALSE 
BOOLEAN_TRUE 

Definition at line 29 of file node.h.

enum csspp::error_mode_t
strong
Enumerator
ERROR_DEBUG 
ERROR_DEC 
ERROR_ERROR 
ERROR_FATAL 
ERROR_HEX 
ERROR_INFO 
ERROR_WARNING 

Definition at line 28 of file error.h.

enum csspp::node_type_t
strong
Enumerator
UNKNOWN 
ADD 
AND 
ASSIGNMENT 
AT_KEYWORD 
BOOLEAN 
CDC 
CDO 
CLOSE_CURLYBRACKET 
CLOSE_PARENTHESIS 
CLOSE_SQUAREBRACKET 
COLON 
COLOR 
COLUMN 
COMMA 
COMMENT 
CONDITIONAL 
DASH_MATCH 
DECIMAL_NUMBER 
DIVIDE 
DOLLAR 
EOF_TOKEN 
EQUAL 
EXCLAMATION 
FONT_METRICS 
FUNCTION 
GREATER_EQUAL 
GREATER_THAN 
HASH 
IDENTIFIER 
INCLUDE_MATCH 
INTEGER 
LESS_EQUAL 
LESS_THAN 
MODULO 
MULTIPLY 
NOT_EQUAL 
NULL_TOKEN 
OPEN_CURLYBRACKET 
OPEN_PARENTHESIS 
OPEN_SQUAREBRACKET 
PERCENT 
PERIOD 
PLACEHOLDER 
POWER 
PRECEDED 
PREFIX_MATCH 
REFERENCE 
SCOPE 
SEMICOLON 
STRING 
SUBSTRING_MATCH 
SUBTRACT 
SUFFIX_MATCH 
UNICODE_RANGE 
URL 
VARIABLE 
VARIABLE_FUNCTION 
WHITESPACE 
AN_PLUS_B 
ARG 
ARRAY 
COMPONENT_VALUE 
DECLARATION 
LIST 
MAP 
max_type 

Definition at line 36 of file node.h.

enum csspp::output_mode_t
strong
Enumerator
COMPACT 
COMPRESSED 
EXPANDED 
TIDY 

Definition at line 25 of file assembler.h.

Function Documentation

char const * csspp::csspp_library_version ( )

Definition at line 55 of file csspp.cpp.

References CSSPP_VERSION.

std::string csspp::decimal_number_to_string ( decimal_number_t  d,
bool  remove_leading_zero 
)
int csspp::get_precision ( )

Definition at line 60 of file csspp.cpp.

References csspp::anonymous_namespace{csspp.cpp}::g_precision.

int32_t constexpr csspp::mix_node_types ( node_type_t  a,
node_type_t  b 
)
node_type_t csspp::multiplicative_operator ( node::pointer_t  n)

Definition at line 40 of file expr_multiplicative.cpp.

References DIVIDE, IDENTIFIER, MODULO, MULTIPLY, and UNKNOWN.

Referenced by csspp::expression::multiplicative().

node_type_t csspp::relational_operator ( node::pointer_t  n)

Definition at line 87 of file expr_relational.cpp.

References GREATER_EQUAL, GREATER_THAN, LESS_EQUAL, LESS_THAN, and UNKNOWN.

Referenced by csspp::expression::relational().

void csspp::set_precision ( int  precision)

Documentation of CSS Preprocessor.

This document is part of the Snap! Websites Project.

Copyright by Made to Order Software Corp.