Photon 1.0.0
Loading...
Searching...
No Matches
litehtml Namespace Reference

Namespaces

namespace  num_cvt
 

Classes

struct  an_b
 
class  background
 
class  background_layer
 
class  baseline
 
struct  big5_decoder
 
struct  border
 
struct  border_radiuses
 
struct  borders
 
struct  col_info
 
struct  containing_block_context
 
class  css
 
struct  css_attribute_selector
 
struct  css_border
 
struct  css_border_radius
 
struct  css_borders
 
class  css_element_selector
 
class  css_length
 
struct  css_margins
 
struct  css_offsets
 
class  css_parser
 
struct  css_position
 
class  css_properties
 
class  css_selector
 
struct  css_size
 
struct  css_text
 
struct  css_token
 
class  css_tokenizer
 
struct  decoder
 
struct  def_color
 
class  def_value
 
class  document
 
class  document_container
 
class  dumper
 
class  el_after
 
class  el_anchor
 
class  el_base
 
class  el_before
 
class  el_before_after_base
 
class  el_body
 
class  el_break
 
class  el_cdata
 
class  el_comment
 
class  el_div
 
class  el_font
 
class  el_image
 
class  el_link
 
class  el_para
 
class  el_script
 
class  el_space
 
class  el_style
 
class  el_table
 
class  el_td
 
class  el_text
 
class  el_title
 
class  el_tr
 
class  element
 
class  elements_iterator
 
struct  estring
 
struct  euc_jp_decoder
 
struct  euc_kr_decoder
 
class  flex_item
 
class  flex_item_column_direction
 
class  flex_item_row_direction
 
class  flex_line
 
struct  floated_box
 
struct  font_item
 
struct  font_metrics
 
class  formatting_context
 
struct  gb18030_decoder
 
class  go_inside_inline
 
class  go_inside_table
 
class  gradient
 
class  html_tag
 
class  image
 
struct  inherit
 
class  inline_selector
 
struct  int_int_cache
 
struct  invalid
 
struct  iso_2022_jp_decoder
 
class  iterator_selector
 
struct  jis_decoder
 
class  lbi_continue
 
class  lbi_end
 
class  lbi_start
 
class  line_box
 
class  line_box_item
 
struct  line_context
 
struct  list_marker
 
struct  margins
 
struct  media_condition
 
struct  media_feature
 
struct  media_features
 
struct  media_in_parens
 
struct  media_query
 
struct  media_query_list
 
class  media_query_list_list
 
struct  mf_info
 
struct  pointF
 
struct  position
 
struct  property_value
 
struct  raw_declaration
 
class  raw_rule
 
class  render_item
 
class  render_item_block
 
class  render_item_block_context
 
class  render_item_flex
 
class  render_item_image
 
class  render_item_inline
 
class  render_item_inline_context
 
class  render_item_table
 
class  render_item_table_part
 
class  render_item_table_row
 
struct  replacement_decoder
 
struct  selector_specificity
 
struct  shift_jis_decoder
 
struct  single_byte_decoder
 
struct  size
 
class  style
 
struct  table_cell
 
class  table_cells_selector
 
struct  table_column
 
class  table_column_accessor
 
class  table_column_accessor_max_width
 
class  table_column_accessor_min_width
 
class  table_column_accessor_width
 
class  table_grid
 
struct  table_row
 
class  table_rows_selector
 
class  tstring_view
 
struct  unknown
 
class  url
 
class  used_selector
 
class  utf32_to_utf8
 
class  utf8_to_utf32
 
struct  utf_16_decoder
 
struct  utf_8_decoder
 
struct  variant
 
struct  web_color
 
struct  wq_name
 
struct  x_user_defined_decoder
 

Typedefs

using length_vector = vector< css_length >
 
using keep_whitespace_fn = std::function< bool(const css_token &left, const css_token &right)>
 
using size_vector = std::vector< css_size >
 
using css_token_vector = vector< css_token >
 
typedef std::map< string_id, property_valueprops_map
 
using uint_ptr = std::uintptr_t
 
using string_map = std::map< string, string >
 
using elements_list = std::list< std::shared_ptr< element > >
 
using int_vector = std::vector< int >
 
using string_vector = std::vector< string >
 
using byte = unsigned char
 
using ucode_t = unsigned int
 
using fonts_map = std::map< string, font_item >
 
using parse_fn = std::function< bool(const css_token_vector &tokens, int &index)>
 

Enumerations

enum  {
  f_length = 1 , f_percentage = 2 , f_length_percentage = f_length | f_percentage , f_number = 4 ,
  f_integer = 8 , f_positive = 16
}
 
enum  { f_componentize = 1 , f_remove_whitespace = 2 }
 
enum  attr_select_type {
  select_class , select_id , select_attr , select_pseudo_class ,
  select_pseudo_element
}
 
enum  attr_matcher : char {
  attribute_exists = 0 , attribute_equals = '=' , attribute_contains_string = '*' , attribute_contains_word = '~' ,
  attribute_starts_with_string = '^' , attribute_starts_with_string_hyphen = '|' , attribute_ends_with_string = '$'
}
 
enum  css_combinator { combinator_descendant = ' ' , combinator_child = '>' , combinator_adjacent_sibling = '+' , combinator_general_sibling = '~' }
 
enum  { strict_mode = 0 , forgiving_mode = 1 , forbid_pseudo_elements = 1 << 1 }
 
enum  css_token_type {
  WHITESPACE = ' ' , _EOF = EOF , LEFT_BRACE = '{' , RIGHT_BRACE = '}' ,
  LEFT_BRACKET = '[' , RIGHT_BRACKET = ']' , LEFT_PAREN = '(' , RIGHT_PAREN = ')' ,
  COLON = ':' , SEMICOLON = ';' , COMMA = ',' , BANG = '!' ,
  DOT = '.' , AMPERSAND = '&' , IDENT = -20 , FUNCTION ,
  AT_KEYWORD , HASH , STRING , BAD_STRING ,
  URL , BAD_URL , NUMBER , PERCENTAGE ,
  DIMENSION , CDO , CDC , CV_FUNCTION = -100 ,
  CURLY_BLOCK = -100 - '{' , ROUND_BLOCK = -100 - '(' , SQUARE_BLOCK = -100 - '['
}
 
enum  css_number_type { css_number_integer , css_number_number }
 
enum  css_hash_type { css_hash_unrestricted , css_hash_id }
 
enum  mouse_event { mouse_event_enter , mouse_event_leave }
 
enum class  encoding {
  null , utf_8 , ibm866 , iso_8859_2 ,
  iso_8859_3 , iso_8859_4 , iso_8859_5 , iso_8859_6 ,
  iso_8859_7 , iso_8859_8 , iso_8859_8_i , iso_8859_10 ,
  iso_8859_13 , iso_8859_14 , iso_8859_15 , iso_8859_16 ,
  koi8_r , koi8_u , macintosh , windows_874 ,
  windows_1250 , windows_1251 , windows_1252 , windows_1253 ,
  windows_1254 , windows_1255 , windows_1256 , windows_1257 ,
  windows_1258 , x_mac_cyrillic , gbk , gb18030 ,
  big5 , euc_jp , iso_2022_jp , shift_jis ,
  euc_kr , replacement , utf_16be , utf_16le ,
  x_user_defined
}
 
enum class  confidence { tentative , certain }
 
enum  gradient_side {
  gradient_side_none = 0 , gradient_side_left = 0x01 , gradient_side_right = 0x02 , gradient_side_top = 0x04 ,
  gradient_side_bottom = 0x08 , gradient_side_x_center = 0x10 , gradient_side_y_center = 0x20 , gradient_side_x_length = 0x40 ,
  gradient_side_y_length = 0x80
}
 
enum  radial_shape_t { radial_shape_none , radial_shape_circle , radial_shape_ellipse }
 
enum  radial_extent_t {
  radial_extent_none , radial_extent_closest_corner , radial_extent_closest_side , radial_extent_farthest_corner ,
  radial_extent_farthest_side
}
 
enum  color_space_t {
  color_space_none , color_space_srgb , color_space_srgb_linear , color_space_display_p3 ,
  color_space_a98_rgb , color_space_prophoto_rgb , color_space_rec2020 , color_space_lab ,
  color_space_oklab , color_space_xyz , color_space_xyz_d50 , color_space_xyz_d65 ,
  color_space_hsl , color_space_polar_start = color_space_hsl , color_space_hwb , color_space_lch ,
  color_space_oklch
}
 
enum  hue_interpolation_t {
  hue_interpolation_none , hue_interpolation_shorter , hue_interpolation_longer , hue_interpolation_increasing ,
  hue_interpolation_decreasing
}
 
enum  html_dimension_type { html_length , html_percentage }
 
enum  iterator_item_type { iterator_item_type_child , iterator_item_type_start_parent , iterator_item_type_end_parent }
 
enum  trilean { False , True , Unknown }
 
enum  document_mode { no_quirks_mode , quirks_mode , limited_quirks_mode }
 
enum  draw_flag {
  draw_root , draw_block , draw_floats , draw_inlines ,
  draw_positioned
}
 
enum  style_display {
  display_none , display_block , display_inline , display_inline_block ,
  display_inline_table , display_list_item , display_table , display_table_caption ,
  display_table_cell , display_table_column , display_table_column_group , display_table_footer_group ,
  display_table_header_group , display_table_row , display_table_row_group , display_inline_text ,
  display_flex , display_inline_flex
}
 
enum  font_size {
  font_size_xx_small , font_size_x_small , font_size_small , font_size_medium ,
  font_size_large , font_size_x_large , font_size_xx_large , font_size_smaller ,
  font_size_larger
}
 
enum  line_height { line_height_normal }
 
enum  font_style { font_style_normal , font_style_italic }
 
enum  font_variant { font_variant_normal , font_variant_small_caps }
 
enum  font_weight { font_weight_normal , font_weight_bold , font_weight_bolder , font_weight_lighter }
 
enum  list_style_type {
  list_style_type_none , list_style_type_circle , list_style_type_disc , list_style_type_square ,
  list_style_type_armenian , list_style_type_cjk_ideographic , list_style_type_decimal , list_style_type_decimal_leading_zero ,
  list_style_type_georgian , list_style_type_hebrew , list_style_type_hiragana , list_style_type_hiragana_iroha ,
  list_style_type_katakana , list_style_type_katakana_iroha , list_style_type_lower_alpha , list_style_type_lower_greek ,
  list_style_type_lower_latin , list_style_type_lower_roman , list_style_type_upper_alpha , list_style_type_upper_latin ,
  list_style_type_upper_roman
}
 
enum  list_style_position { list_style_position_inside , list_style_position_outside }
 
enum  vertical_align {
  va_baseline , va_sub , va_super , va_top ,
  va_text_top , va_middle , va_bottom , va_text_bottom
}
 
enum  border_width { border_width_thin , border_width_medium , border_width_thick }
 
enum  border_style {
  border_style_none , border_style_hidden , border_style_dotted , border_style_dashed ,
  border_style_solid , border_style_double , border_style_groove , border_style_ridge ,
  border_style_inset , border_style_outset
}
 
enum  element_float { float_none , float_left , float_right }
 
enum  element_clear { clear_none , clear_left , clear_right , clear_both }
 
enum  css_units : byte {
  css_units_none , css_units_percentage , css_units_in , css_units_cm ,
  css_units_mm , css_units_em , css_units_ex , css_units_pt ,
  css_units_pc , css_units_px , css_units_vw , css_units_vh ,
  css_units_vmin , css_units_vmax , css_units_rem , css_units_ch
}
 
enum  background_attachment { background_attachment_scroll , background_attachment_fixed }
 
enum  background_repeat { background_repeat_repeat , background_repeat_repeat_x , background_repeat_repeat_y , background_repeat_no_repeat }
 
enum  background_box { background_box_border , background_box_padding , background_box_content }
 
enum  background_position {
  background_position_left , background_position_right , background_position_top , background_position_bottom ,
  background_position_center
}
 
enum  element_position { element_position_static , element_position_relative , element_position_absolute , element_position_fixed }
 
enum  text_align { text_align_left , text_align_right , text_align_center , text_align_justify }
 
enum  text_transform { text_transform_none , text_transform_capitalize , text_transform_uppercase , text_transform_lowercase }
 
enum  white_space {
  white_space_normal , white_space_nowrap , white_space_pre , white_space_pre_line ,
  white_space_pre_wrap
}
 
enum  overflow {
  overflow_visible , overflow_hidden , overflow_scroll , overflow_auto ,
  overflow_no_display , overflow_no_content
}
 
enum  background_size { background_size_auto , background_size_cover , background_size_contain }
 
enum  visibility { visibility_visible , visibility_hidden , visibility_collapse }
 
enum  border_collapse { border_collapse_collapse , border_collapse_separate }
 
enum  content_property {
  content_property_none , content_property_normal , content_property_open_quote , content_property_close_quote ,
  content_property_no_open_quote , content_property_no_close_quote
}
 
enum  select_result {
  select_no_match = 0x00 , select_match = 0x01 , select_match_pseudo_class = 0x02 , select_match_with_before = 0x10 ,
  select_match_with_after = 0x20
}
 
enum  appearance {
  appearance_none , appearance_auto , appearance_menulist_button , appearance_textfield ,
  appearance_button , appearance_checkbox , appearance_listbox , appearance_menulist ,
  appearance_meter , appearance_progress_bar , appearance_push_button , appearance_radio ,
  appearance_searchfield , appearance_slider_horizontal , appearance_square_button , appearance_textarea
}
 
enum  box_sizing { box_sizing_content_box , box_sizing_border_box }
 
enum  media_type {
  media_type_unknown , media_type_all , media_type_print , media_type_screen ,
  media_type_first_deprecated
}
 
enum  render_type { render_all , render_no_fixed , render_fixed_only }
 
enum  flex_direction { flex_direction_row , flex_direction_row_reverse , flex_direction_column , flex_direction_column_reverse }
 
enum  flex_wrap { flex_wrap_nowrap , flex_wrap_wrap , flex_wrap_wrap_reverse }
 
enum  flex_justify_content {
  flex_justify_content_normal , flex_justify_content_flex_start , flex_justify_content_flex_end , flex_justify_content_center ,
  flex_justify_content_space_between , flex_justify_content_space_around , flex_justify_content_start , flex_justify_content_end ,
  flex_justify_content_left , flex_justify_content_right , flex_justify_content_space_evenly , flex_justify_content_stretch
}
 
enum  flex_align_items {
  flex_align_items_auto , flex_align_items_normal , flex_align_items_stretch , flex_align_items_baseline ,
  flex_align_items_center , flex_align_items_start , flex_align_items_end , flex_align_items_self_start ,
  flex_align_items_self_end , flex_align_items_flex_start , flex_align_items_flex_end , flex_align_items_first = 0x100 ,
  flex_align_items_last = 0x200 , flex_align_items_unsafe = 0x400 , flex_align_items_safe = 0x800
}
 
enum  flex_align_content {
  flex_align_content_flex_start , flex_align_content_start , flex_align_content_flex_end , flex_align_content_end ,
  flex_align_content_center , flex_align_content_space_between , flex_align_content_space_around , flex_align_content_stretch
}
 
enum  flex_basis {
  flex_basis_auto , flex_basis_content , flex_basis_fit_content , flex_basis_min_content ,
  flex_basis_max_content
}
 
enum  caption_side { caption_side_top , caption_side_bottom }
 
enum class  error_mode { replacement , fatal , html }
 

Functions

bool is_ascii_codepoint (char c)
 
bool is_url_reserved_codepoint (char c)
 
bool is_url_scheme_codepoint (char c)
 
void remove_whitespace (css_token_vector &tokens, keep_whitespace_fn keep_whitespace=0)
 
template<class Input >
css_token_vector normalize (Input input, int options=0, keep_whitespace_fn keep_whitespace=0)
 
vector< css_token_vectorparse_comma_separated_list (const css_token_vector &tokens)
 
bool is_declaration_value (const css_token_vector &tokens, int index=0)
 
bool is_any_value (const css_token_vector &tokens)
 
bool skip_whitespace (const css_token_vector &tokens, int &index)
 
bool operator> (const css_selector &v1, const css_selector &v2)
 
bool operator< (const css_selector &v1, const css_selector &v2)
 
bool operator> (const css_selector::ptr &v1, const css_selector::ptr &v2)
 
bool operator< (const css_selector::ptr &v1, const css_selector::ptr &v2)
 
css_selector::vector parse_selector_list (const css_token_vector &tokens, int options, document_mode mode)
 
string get_repr (const css_token_vector &tokens, int index=0, int count=-1, bool insert_spaces=false)
 
void css_parse_error (string msg)
 
css_token_vector tokenize (const string &str)
 
encoding bom_sniff (const string &str)
 
void encoding_sniffing_algorithm (estring &str)
 
encoding get_encoding (string label)
 
encoding extract_encoding_from_meta_element (string str)
 
void decode (string input, encoding coding, string &output)
 
string decode (string input, encoding coding)
 
bool parse_gradient (const css_token &token, gradient &gradient, document_container *container)
 
string & trim (string &s, const string &chars_to_trim=whitespace)
 
string trim (const string &s, const string &chars_to_trim=whitespace)
 
string & lcase (string &s)
 
int value_index (const string &val, const string &strings, int defValue=-1, char delim=';')
 
string index_value (int index, const string &strings, char delim=';')
 
bool value_in_list (const string &val, const string &strings, char delim=';')
 
string::size_type find_close_bracket (const string &s, string::size_type off, char open_b='(', char close_b=')')
 
void split_string (const string &str, string_vector &tokens, const string &delims=whitespace, const string &delims_preserve="", const string &quote="\"")
 
string_vector split_string (const string &str, const string &delims=whitespace, const string &delims_preserve="", const string &quote="\"")
 
void join_string (string &str, const string_vector &tokens, const string &delims)
 
double t_strtod (const char *string, char **endPtr=nullptr)
 
string get_escaped_string (const string &in_str)
 
template<typename X , typename A >
bool is_one_of (X x, A a)
 
template<typename X , typename A , typename... AA>
bool is_one_of (X x, A a, AA... aa)
 
template<class T >
const T & at (const vector< T > &vec, int index)
 
template<class Map , class Key >
auto at (const Map &map, Key key)
 
template<typename T >
vector< T > slice (const vector< T > &vec, int index, int count=-1)
 
template<class C >
void remove (C &vec, int index, int count=1)
 
template<class T >
void insert (vector< T > &vec, int index, const vector< T > &x)
 
template<class T >
vector< T > & operator+= (vector< T > &vec, const vector< T > &x)
 
template<class C , class T >
bool contains (const C &coll, const T &item)
 
bool contains (const string &str, const string &substr)
 
template<class C >
void sort (C &coll)
 
int t_strcasecmp (const char *s1, const char *s2)
 
int t_strncasecmp (const char *s1, const char *s2, size_t n)
 
bool equal_i (const string &s1, const string &s2)
 
bool match (const string &str, int index, const string &substr)
 
bool match_i (const string &str, int index, const string &substr)
 
bool is_number (const string &string, bool allow_dot=true)
 
bool is_whitespace (int c)
 
int t_isalpha (int c)
 
int t_tolower (int c)
 
int lowcase (int c)
 
string lowcase (string str)
 
int t_isdigit (int c)
 
bool is_hex_digit (int ch)
 
int digit_value (int ch)
 
bool is_surrogate (int ch)
 
int round_f (float val)
 
int round_d (double val)
 
float t_strtof (const string &str, char **endPtr=nullptr)
 
int baseline_align (int line_height, int line_base_line, int height, int baseline)
 
bool html_parse_integer (const string &str, int &val)
 
bool html_parse_non_negative_integer (const string &str, int &val)
 
bool html_parse_dimension_value (const string &str, float &val, html_dimension_type &type)
 
bool html_parse_nonzero_dimension_value (const string &str, float &val, html_dimension_type &type)
 
trilean operator! (trilean x)
 
trilean operator&& (trilean a, trilean b)
 
trilean operator|| (trilean a, trilean b)
 
media_query_list parse_media_query_list (const css_token_vector &tokens, shared_ptr< document > doc)
 
media_query_list parse_media_query_list (const string &str, shared_ptr< document > doc)
 
 STRING_ID (_a_, _abbr_, _acronym_, _address_, _applet_, _area_, _article_, _aside_, _audio_, _b_, _base_, _basefont_, _bdi_, _bdo_, _big_, _blockquote_, _body_, _br_, _button_, _canvas_, _caption_, _center_, _cite_, _code_, _col_, _colgroup_, _data_, _datalist_, _dd_, _del_, _details_, _dfn_, _dialog_, _dir_, _div_, _dl_, _dt_, _em_, _embed_, _fieldset_, _figcaption_, _figure_, _footer_, _form_, _frame_, _frameset_, _h1_, _h2_, _h3_, _h4_, _h5_, _h6_, _head_, _header_, _hr_, _html_, _i_, _iframe_, _img_, _input_, _ins_, _kbd_, _label_, _legend_, _li_, _link_, _main_, _map_, _mark_, _meta_, _meter_, _nav_, _noframes_, _noscript_, _object_, _ol_, _optgroup_, _option_, _output_, _p_, _param_, _picture_, _pre_, _progress_, _q_, _rp_, _rt_, _ruby_, _s_, _samp_, _script_, _section_, _select_, _small_, _source_, _span_, _strike_, _strong_, _style_, _sub_, _summary_, _sup_, _svg_, _table_, _tbody_, _td_, _template_, _textarea_, _tfoot_, _th_, _thead_, _time_, _title_, _tr_, _track_, _tt_, _u_, _ul_, _var_, _video_, _wbr_, __tag_before_, __tag_after_, _before_, _after_, _root_, _only_child_, _only_of_type_, _first_child_, _first_of_type_, _last_child_, _last_of_type_, _nth_child_, _nth_of_type_, _nth_last_child_, _nth_last_of_type_, _is_, _not_, _lang_, _active_, _hover_, _background_, _background_color_, _background_image_, _background_image_baseurl_, _background_repeat_, _background_origin_, _background_clip_, _background_attachment_, _background_size_, _background_position_, _background_position_x_, _background_position_y_, _background_gradient_, _border_, _border_width_, _border_style_, _border_color_, _border_spacing_, __litehtml_border_spacing_x_, __litehtml_border_spacing_y_, _border_top_, _border_right_, _border_bottom_, _border_left_, _border_top_style_, _border_right_style_, _border_bottom_style_, _border_left_style_, _border_top_width_, _border_right_width_, _border_bottom_width_, _border_left_width_, _border_top_color_, _border_right_color_, _border_bottom_color_, _border_left_color_, _border_radius_, _border_radius_x_, _border_radius_y_, _border_top_left_radius_, _border_top_right_radius_, _border_bottom_right_radius_, _border_bottom_left_radius_, _border_top_left_radius_x_, _border_top_right_radius_x_, _border_bottom_right_radius_x_, _border_bottom_left_radius_x_, _border_top_left_radius_y_, _border_top_right_radius_y_, _border_bottom_right_radius_y_, _border_bottom_left_radius_y_, _list_style_, _list_style_type_, _list_style_position_, _list_style_image_, _list_style_image_baseurl_, _margin_, _margin_top_, _margin_right_, _margin_bottom_, _margin_left_, _padding_, _padding_top_, _padding_right_, _padding_bottom_, _padding_left_, _font_, _font_family_, _font_style_, _font_variant_, _font_weight_, _font_size_, _line_height_, _text_decoration_, _white_space_, _text_align_, _vertical_align_, _color_, _width_, _height_, _min_width_, _min_height_, _max_width_, _max_height_, _position_, _overflow_, _display_, _visibility_, _appearance_, _box_sizing_, _z_index_, _float_, _clear_, _text_indent_, _top_, _right_, _bottom_, _left_, _cursor_, _content_, _border_collapse_, _text_transform_, _flex_, _flex_flow_, _flex_direction_, _flex_wrap_, _justify_content_, _align_items_, _align_content_, _align_self_, _flex_grow_, _flex_shrink_, _flex_basis_, _caption_side_, _order_, _counter_reset_, _counter_increment_, _deg_, _grad_, _rad_, _turn_, _initial_, _auto_, _none_, _linear_gradient_, _repeating_linear_gradient_, _radial_gradient_, _repeating_radial_gradient_, _conic_gradient_, _repeating_conic_gradient_, _charset_, _layer_, _import_, _media_, _and_, _or_, _boolean_, _plain_, _range_, _discrete_, _integer_, _length_, _resolution_, _ratio_, _keyword_, _orientation_, _portrait_, _landscape_, _device_width_, _device_height_, _aspect_ratio_, _device_aspect_ratio_, _color_index_, _monochrome_,) extern const string_id empty_id
 
string_id _id (const string &str)
 
const string & _s (string_id id)
 
bool parse_url (const css_token &token, string &url)
 
bool parse_length (const css_token &tok, css_length &length, int options, string keywords="")
 
bool parse_angle (const css_token &tok, float &angle, bool percents_allowed=false)
 
bool parse_bg_position (const css_token_vector &tokens, int &index, css_length &x, css_length &y, bool convert_keywords_to_percents)
 
template<typename Enum >
bool parse_keyword (const css_token &tok, Enum &val, string keywords, int first_keyword_value=0)
 
std::basic_ostream< tstring_view::value_type > & operator<< (std::basic_ostream< tstring_view::value_type > &, tstring_view str)
 
url resolve (const url &base, const url &reference)
 
bool is_url_path_absolute (const string &path)
 
string url_path_directory_name (const string &path)
 
string url_path_base_name (const string &path)
 
string url_path_append (const string &base, const string &path)
 
string url_path_resolve (const string &base, const string &path)
 
void append_char (string &str, char32_t ch)
 
char32_t read_utf8_char (const string &str, int &index)
 
void prev_utf8_char (const string &str, int &index)
 
bool parse_color (const css_token &token, web_color &color, document_container *container)
 
float normalize_length (css_length length, float line_len)
 
void filter_code_points (string &input)
 
void componentize (css_token_vector &tokens)
 
template<>
css_token_vector normalize (css_token_vector input, int options, keep_whitespace_fn keep_whitespace)
 
template<>
css_token_vector normalize (string input, int options, keep_whitespace_fn keep_whitespace)
 
char mirror (char c)
 
void trim_whitespace (css_token_vector &tokens)
 
string parse_ns_prefix (const css_token_vector &tokens, int &index)
 
wq_name parse_wq_name (const css_token_vector &tokens, int &index)
 
wq_name parse_type_selector (const css_token_vector &tokens, int &index)
 
bool parse_attr_matcher (const css_token_vector &tokens, int &index, attr_matcher &matcher)
 
css_attribute_selector parse_attribute_selector (const css_token &block)
 
bool to_int (string s, int &number)
 
an_b parse_an_b (string s)
 
int find_of_keyword (const css_token_vector &tokens)
 
css_attribute_selector parse_nth_child (const css_token &token, bool of_keyword, document_mode mode)
 
css_attribute_selector parse_function_pseudo_class (const css_token &token, document_mode mode)
 
bool is_supported_simple_pseudo_class (const string &name)
 
css_attribute_selector parse_pseudo_class (const css_token_vector &tokens, int &index, document_mode mode)
 
css_attribute_selector parse_subclass_selector (const css_token_vector &tokens, int &index, document_mode mode)
 
bool is_supported_simple_pseudo_element (const string &name)
 
css_attribute_selector parse_pseudo_element (const css_token_vector &tokens, int &index)
 
css_element_selector::ptr parse_compound_selector (const css_token_vector &tokens, int &index, document_mode mode)
 
int parse_combinator (const css_token_vector &tokens, int &index)
 
css_selector::ptr parse_complex_selector (const css_token_vector &tokens, document_mode mode)
 
bool has_selector (const css_selector &selector, attr_select_type type, const string &name="")
 
encoding adjust_meta_encoding (encoding meta_encoding, encoding current_encoding)
 
encoding get_meta_encoding (GumboNode *root)
 
decoder::ptr get_decoder (encoding _encoding)
 
bool end_condition (int index)
 
void increment (int &index, const string &str)
 
bool prescan_get_attribute (const string &str, inout int &index, out string &name, out string &value)
 
encoding prescan_a_byte_stream_to_determine_its_encoding (const string &str)
 
encoding get_xml_encoding (const string &str)
 
encoding prescan_for_encoding (const string &str)
 
bool parse_linear_gradient_direction (const css_token_vector &tokens, int &index, float &angle, int &side)
 
bool parse_linear_gradient_direction_and_interpolation (const css_token_vector &tokens, gradient &gradient)
 
bool parse_color_interpolation_method (const css_token_vector &tokens, int &index, color_space_t &color_space, hue_interpolation_t &hue_interpolation)
 
bool parse_gradient_position (const css_token_vector &tokens, int &index, gradient &gradient)
 
bool parse_radial_gradient_shape_size_position_interpolation (const css_token_vector &tokens, gradient &result)
 
bool parse_conic_gradient_angle_position_interpolation (const css_token_vector &tokens, gradient &gradient)
 
template<class T >
bool parse_color_stop_list (const vector< css_token_vector > &list, gradient &grad, document_container *container)
 
parse_fn opt (parse_fn a)
 
parse_fn seq (parse_fn a, parse_fn b)
 
parse_fn oror (parse_fn a, parse_fn b)
 
parse_fn operator""_x (const char *str, size_t len)
 
bool end (const css_token_vector &tokens, int index)
 
bool parse_lenang (const css_token &tok, css_length &length)
 
bool parse_lenang (const css_token &tok, float &angle)
 
template<class T >
bool parse_color_hint (const css_token_vector &tokens, vector< gradient::color_stop > &color_stops)
 
template<class T >
bool parse_color_stop (const css_token_vector &tokens, vector< gradient::color_stop > &color_stops, document_container *container)
 
bool parse_conic_angle_position (const css_token_vector &tokens, int &index, gradient &gradient)
 
bool parse_radial_size (const css_token_vector &tokens, int &index, gradient &gradient)
 
template<class T , class TT >
bool operator/ (const T &x, const TT &xx)
 
bool eval_op (float x, short op, float value)
 
bool parse_media_query (const css_token_vector &tokens, media_query &mquery, document::ptr doc)
 
media_query_list parse_media_query_list (const css_token_vector &_tokens, document::ptr doc)
 
bool parse_media_condition (const css_token_vector &tokens, int &index, bool or_allowed, media_condition &condition, document::ptr doc)
 
bool parse_media_in_parens (const css_token &token, media_in_parens &media_in_parens, document::ptr doc)
 
bool parse_media_feature (const css_token &token, media_feature &media_feature, document::ptr doc)
 
bool parse_mf_value (const css_token_vector &tokens, int &index, css_token val[2])
 
bool parse_mf_range (const css_token_vector &tokens, media_feature &media_feature, document::ptr doc)
 
bool convert_units (mf_info mfi, css_token val[2], document::ptr doc)
 
short mirror (short op)
 
bool parse_bg_image (const css_token &token, image &bg_image, document_container *container)
 
bool parse_bg_position_size (const css_token_vector &tokens, int &index, css_length &x, css_length &y, css_size &size)
 
bool parse_bg_size (const css_token_vector &tokens, int &index, css_size &size)
 
bool parse_two_lengths (const css_token_vector &tokens, css_length len[2], int options)
 
template<class T , class... Args>
int parse_1234_values (const css_token_vector &tokens, T result[4], bool(*func)(const css_token &, T &, Args...), Args... args)
 
int parse_1234_lengths (const css_token_vector &tokens, css_length len[4], int options, string keywords="")
 
bool parse_border_width (const css_token &tok, css_length &width)
 
bool parse_font_family (const css_token_vector &tokens, string &font_family)
 
bool parse_font_weight (const css_token &tok, css_length &weight)
 
bool has_var (const css_token_vector &tokens)
 
bool parse_border_helper (const css_token_vector &tokens, document_container *container, css_length &width, border_style &style, web_color &color)
 
bool is_one_of_predef (const css_length &x, int idx1, int idx2)
 
bool parse_font_style_variant_weight (const css_token_vector &tokens, int &index, int &style, int &variant, css_length &weight)
 
bool is_custom_ident (const css_token &tok)
 
bool check_var_syntax (const css_token_vector &args)
 
bool subst_var (css_token_vector &tokens, const html_tag *el, std::set< string_id > &used_vars)
 
void subst_vars_ (string_id name, css_token_vector &tokens, const html_tag *el)
 
bool parse_hash_color (const css_token &tok, web_color &color)
 
float clamp (float x, float min, float max)
 
bool parse_modern_syntax (const css_token_vector &tokens, bool is_hsl, css_length &x, css_length &y, css_length &z, css_length &a)
 
byte calc_percent_and_clamp (const css_length &val, float max=255)
 
bool parse_rgb_func (const css_token &tok, web_color &color)
 
void hsl_to_rgb (float hue, float sat, float light, float &r, float &g, float &b)
 
bool parse_hsl_func (const css_token &tok, web_color &color)
 
bool parse_func_color (const css_token &tok, web_color &color)
 
string resolve_name (const string &name, document_container *container)
 
bool parse_name_color (const css_token &tok, web_color &color, document_container *container)
 

Variables

const string whitespace = " \n\r\t\f"
 
const auto is_letter = t_isalpha
 
const auto is_digit = t_isdigit
 
const char *const master_css
 
const string_id star_id = _id("*")
 
const unsigned int font_decoration_none = 0x00
 
const unsigned int font_decoration_underline = 0x01
 
const unsigned int font_decoration_linethrough = 0x02
 
const unsigned int font_decoration_overline = 0x04
 
const float border_width_thin_value = 1
 
const float border_width_medium_value = 3
 
const float border_width_thick_value = 5
 
const float border_width_values [] = { border_width_thin_value, border_width_medium_value, border_width_thick_value }
 
const float background_position_percentages [] = {0, 100, 0, 100, 50}
 
const char *const split_delims_spaces = " \t\r\n\f\v"
 
const char *const void_elements = "area;base;br;col;command;embed;hr;img;input;keygen;link;meta;param;source;track;wbr"
 
struct { 
 
   const char *   litehtml::name 
 
   encoding   litehtml::coding 
 
labels [] 
 
const size_t EOL = string::npos
 
const float pi = 3.14159265f
 
std::map< string, mf_infosupported_media_features
 
const string_id empty_id = _id("")
 
std::map< string_id, vector< string_id > > shorthands
 
def_color g_def_colors []
 

Typedef Documentation

◆ byte

using litehtml::byte = typedef unsigned char

◆ css_token_vector

using litehtml::css_token_vector = typedef vector<css_token>

◆ elements_list

using litehtml::elements_list = typedef std::list<std::shared_ptr<element> >

◆ fonts_map

using litehtml::fonts_map = typedef std::map<string, font_item>

◆ int_vector

using litehtml::int_vector = typedef std::vector<int>

◆ keep_whitespace_fn

using litehtml::keep_whitespace_fn = typedef std::function<bool (const css_token& left, const css_token& right)>

◆ length_vector

using litehtml::length_vector = typedef vector<css_length>

◆ parse_fn

using litehtml::parse_fn = typedef std::function<bool(const css_token_vector& tokens, int& index)>

◆ props_map

typedef std::map<string_id, property_value> litehtml::props_map

◆ size_vector

using litehtml::size_vector = typedef std::vector<css_size>

◆ string_map

using litehtml::string_map = typedef std::map<string, string>

◆ string_vector

using litehtml::string_vector = typedef std::vector<string>

◆ ucode_t

using litehtml::ucode_t = typedef unsigned int

◆ uint_ptr

using litehtml::uint_ptr = typedef std::uintptr_t

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
f_length 
f_percentage 
f_length_percentage 
f_number 
f_integer 
f_positive 

◆ anonymous enum

anonymous enum
Enumerator
f_componentize 
f_remove_whitespace 

◆ anonymous enum

anonymous enum
Enumerator
strict_mode 
forgiving_mode 
forbid_pseudo_elements 

◆ appearance

Enumerator
appearance_none 
appearance_auto 
appearance_menulist_button 
appearance_textfield 
appearance_button 
appearance_checkbox 
appearance_listbox 
appearance_menulist 
appearance_meter 
appearance_progress_bar 
appearance_push_button 
appearance_radio 
appearance_searchfield 
appearance_slider_horizontal 
appearance_square_button 
appearance_textarea 

◆ attr_matcher

Enumerator
attribute_exists 
attribute_equals 
attribute_contains_string 
attribute_contains_word 
attribute_starts_with_string 
attribute_starts_with_string_hyphen 
attribute_ends_with_string 

◆ attr_select_type

Enumerator
select_class 
select_id 
select_attr 
select_pseudo_class 
select_pseudo_element 

◆ background_attachment

Enumerator
background_attachment_scroll 
background_attachment_fixed 

◆ background_box

Enumerator
background_box_border 
background_box_padding 
background_box_content 

◆ background_position

Enumerator
background_position_left 
background_position_right 
background_position_top 
background_position_bottom 
background_position_center 

◆ background_repeat

Enumerator
background_repeat_repeat 
background_repeat_repeat_x 
background_repeat_repeat_y 
background_repeat_no_repeat 

◆ background_size

Enumerator
background_size_auto 
background_size_cover 
background_size_contain 

◆ border_collapse

Enumerator
border_collapse_collapse 
border_collapse_separate 

◆ border_style

Enumerator
border_style_none 
border_style_hidden 
border_style_dotted 
border_style_dashed 
border_style_solid 
border_style_double 
border_style_groove 
border_style_ridge 
border_style_inset 
border_style_outset 

◆ border_width

Enumerator
border_width_thin 
border_width_medium 
border_width_thick 

◆ box_sizing

Enumerator
box_sizing_content_box 
box_sizing_border_box 

◆ caption_side

Enumerator
caption_side_top 
caption_side_bottom 

◆ color_space_t

Enumerator
color_space_none 
color_space_srgb 
color_space_srgb_linear 
color_space_display_p3 
color_space_a98_rgb 
color_space_prophoto_rgb 
color_space_rec2020 
color_space_lab 
color_space_oklab 
color_space_xyz 
color_space_xyz_d50 
color_space_xyz_d65 
color_space_hsl 
color_space_polar_start 
color_space_hwb 
color_space_lch 
color_space_oklch 

◆ confidence

enum class litehtml::confidence
strong
Enumerator
tentative 
certain 

◆ content_property

Enumerator
content_property_none 
content_property_normal 
content_property_open_quote 
content_property_close_quote 
content_property_no_open_quote 
content_property_no_close_quote 

◆ css_combinator

Enumerator
combinator_descendant 
combinator_child 
combinator_adjacent_sibling 
combinator_general_sibling 

◆ css_hash_type

Enumerator
css_hash_unrestricted 
css_hash_id 

◆ css_number_type

Enumerator
css_number_integer 
css_number_number 

◆ css_token_type

Enumerator
WHITESPACE 
_EOF 
LEFT_BRACE 
RIGHT_BRACE 
LEFT_BRACKET 
RIGHT_BRACKET 
LEFT_PAREN 
RIGHT_PAREN 
COLON 
SEMICOLON 
COMMA 
BANG 
DOT 
AMPERSAND 
IDENT 
FUNCTION 
AT_KEYWORD 
HASH 
STRING 
BAD_STRING 
URL 
BAD_URL 
NUMBER 
PERCENTAGE 
DIMENSION 
CDO 
CDC 
CV_FUNCTION 
CURLY_BLOCK 
ROUND_BLOCK 
SQUARE_BLOCK 

◆ css_units

Enumerator
css_units_none 
css_units_percentage 
css_units_in 
css_units_cm 
css_units_mm 
css_units_em 
css_units_ex 
css_units_pt 
css_units_pc 
css_units_px 
css_units_vw 
css_units_vh 
css_units_vmin 
css_units_vmax 
css_units_rem 
css_units_ch 

◆ document_mode

Enumerator
no_quirks_mode 
quirks_mode 
limited_quirks_mode 

◆ draw_flag

Enumerator
draw_root 
draw_block 
draw_floats 
draw_inlines 
draw_positioned 

◆ element_clear

Enumerator
clear_none 
clear_left 
clear_right 
clear_both 

◆ element_float

Enumerator
float_none 
float_left 
float_right 

◆ element_position

Enumerator
element_position_static 
element_position_relative 
element_position_absolute 
element_position_fixed 

◆ encoding

enum class litehtml::encoding
strong
Enumerator
null 
utf_8 
ibm866 
iso_8859_2 
iso_8859_3 
iso_8859_4 
iso_8859_5 
iso_8859_6 
iso_8859_7 
iso_8859_8 
iso_8859_8_i 
iso_8859_10 
iso_8859_13 
iso_8859_14 
iso_8859_15 
iso_8859_16 
koi8_r 
koi8_u 
macintosh 
windows_874 
windows_1250 
windows_1251 
windows_1252 
windows_1253 
windows_1254 
windows_1255 
windows_1256 
windows_1257 
windows_1258 
x_mac_cyrillic 
gbk 
gb18030 
big5 
euc_jp 
iso_2022_jp 
shift_jis 
euc_kr 
replacement 
utf_16be 
utf_16le 
x_user_defined 

◆ error_mode

enum class litehtml::error_mode
strong
Enumerator
replacement 
fatal 
html 

◆ flex_align_content

Enumerator
flex_align_content_flex_start 
flex_align_content_start 
flex_align_content_flex_end 
flex_align_content_end 
flex_align_content_center 
flex_align_content_space_between 
flex_align_content_space_around 
flex_align_content_stretch 

◆ flex_align_items

Enumerator
flex_align_items_auto 
flex_align_items_normal 
flex_align_items_stretch 
flex_align_items_baseline 
flex_align_items_center 
flex_align_items_start 
flex_align_items_end 
flex_align_items_self_start 
flex_align_items_self_end 
flex_align_items_flex_start 
flex_align_items_flex_end 
flex_align_items_first 
flex_align_items_last 
flex_align_items_unsafe 
flex_align_items_safe 

◆ flex_basis

Enumerator
flex_basis_auto 
flex_basis_content 
flex_basis_fit_content 
flex_basis_min_content 
flex_basis_max_content 

◆ flex_direction

Enumerator
flex_direction_row 
flex_direction_row_reverse 
flex_direction_column 
flex_direction_column_reverse 

◆ flex_justify_content

Enumerator
flex_justify_content_normal 
flex_justify_content_flex_start 
flex_justify_content_flex_end 
flex_justify_content_center 
flex_justify_content_space_between 
flex_justify_content_space_around 
flex_justify_content_start 
flex_justify_content_end 
flex_justify_content_left 
flex_justify_content_right 
flex_justify_content_space_evenly 
flex_justify_content_stretch 

◆ flex_wrap

Enumerator
flex_wrap_nowrap 
flex_wrap_wrap 
flex_wrap_wrap_reverse 

◆ font_size

Enumerator
font_size_xx_small 
font_size_x_small 
font_size_small 
font_size_medium 
font_size_large 
font_size_x_large 
font_size_xx_large 
font_size_smaller 
font_size_larger 

◆ font_style

Enumerator
font_style_normal 
font_style_italic 

◆ font_variant

Enumerator
font_variant_normal 
font_variant_small_caps 

◆ font_weight

Enumerator
font_weight_normal 
font_weight_bold 
font_weight_bolder 
font_weight_lighter 

◆ gradient_side

Enumerator
gradient_side_none 
gradient_side_left 
gradient_side_right 
gradient_side_top 
gradient_side_bottom 
gradient_side_x_center 
gradient_side_y_center 
gradient_side_x_length 
gradient_side_y_length 

◆ html_dimension_type

Enumerator
html_length 
html_percentage 

◆ hue_interpolation_t

Enumerator
hue_interpolation_none 
hue_interpolation_shorter 
hue_interpolation_longer 
hue_interpolation_increasing 
hue_interpolation_decreasing 

◆ iterator_item_type

Enumerator
iterator_item_type_child 
iterator_item_type_start_parent 
iterator_item_type_end_parent 

◆ line_height

Enumerator
line_height_normal 

◆ list_style_position

Enumerator
list_style_position_inside 
list_style_position_outside 

◆ list_style_type

Enumerator
list_style_type_none 
list_style_type_circle 
list_style_type_disc 
list_style_type_square 
list_style_type_armenian 
list_style_type_cjk_ideographic 
list_style_type_decimal 
list_style_type_decimal_leading_zero 
list_style_type_georgian 
list_style_type_hebrew 
list_style_type_hiragana 
list_style_type_hiragana_iroha 
list_style_type_katakana 
list_style_type_katakana_iroha 
list_style_type_lower_alpha 
list_style_type_lower_greek 
list_style_type_lower_latin 
list_style_type_lower_roman 
list_style_type_upper_alpha 
list_style_type_upper_latin 
list_style_type_upper_roman 

◆ media_type

Enumerator
media_type_unknown 
media_type_all 
media_type_print 
media_type_screen 
media_type_first_deprecated 

◆ mouse_event

Enumerator
mouse_event_enter 
mouse_event_leave 

◆ overflow

Enumerator
overflow_visible 
overflow_hidden 
overflow_scroll 
overflow_auto 
overflow_no_display 
overflow_no_content 

◆ radial_extent_t

Enumerator
radial_extent_none 
radial_extent_closest_corner 
radial_extent_closest_side 
radial_extent_farthest_corner 
radial_extent_farthest_side 

◆ radial_shape_t

Enumerator
radial_shape_none 
radial_shape_circle 
radial_shape_ellipse 

◆ render_type

Enumerator
render_all 
render_no_fixed 
render_fixed_only 

◆ select_result

Enumerator
select_no_match 
select_match 
select_match_pseudo_class 
select_match_with_before 
select_match_with_after 

◆ style_display

Enumerator
display_none 
display_block 
display_inline 
display_inline_block 
display_inline_table 
display_list_item 
display_table 
display_table_caption 
display_table_cell 
display_table_column 
display_table_column_group 
display_table_footer_group 
display_table_header_group 
display_table_row 
display_table_row_group 
display_inline_text 
display_flex 
display_inline_flex 

◆ text_align

Enumerator
text_align_left 
text_align_right 
text_align_center 
text_align_justify 

◆ text_transform

Enumerator
text_transform_none 
text_transform_capitalize 
text_transform_uppercase 
text_transform_lowercase 

◆ trilean

Enumerator
False 
True 
Unknown 

◆ vertical_align

Enumerator
va_baseline 
va_sub 
va_super 
va_top 
va_text_top 
va_middle 
va_bottom 
va_text_bottom 

◆ visibility

Enumerator
visibility_visible 
visibility_hidden 
visibility_collapse 

◆ white_space

Enumerator
white_space_normal 
white_space_nowrap 
white_space_pre 
white_space_pre_line 
white_space_pre_wrap 

Function Documentation

◆ _id()

string_id litehtml::_id ( const string &  str)

◆ _s()

const string & litehtml::_s ( string_id  id)

◆ adjust_meta_encoding()

encoding litehtml::adjust_meta_encoding ( encoding  meta_encoding,
encoding  current_encoding 
)

◆ append_char()

void litehtml::append_char ( string &  str,
char32_t  ch 
)

◆ at() [1/2]

template<class Map , class Key >
auto litehtml::at ( const Map &  map,
Key  key 
)

◆ at() [2/2]

template<class T >
const T & litehtml::at ( const vector< T > &  vec,
int  index 
)

◆ baseline_align()

int litehtml::baseline_align ( int  line_height,
int  line_base_line,
int  height,
int  baseline 
)
inline

◆ bom_sniff()

encoding litehtml::bom_sniff ( const string &  str)

◆ calc_percent_and_clamp()

byte litehtml::calc_percent_and_clamp ( const css_length val,
float  max = 255 
)

◆ check_var_syntax()

bool litehtml::check_var_syntax ( const css_token_vector args)

◆ clamp()

float litehtml::clamp ( float  x,
float  min,
float  max 
)

◆ componentize()

void litehtml::componentize ( css_token_vector tokens)

◆ contains() [1/2]

template<class C , class T >
bool litehtml::contains ( const C &  coll,
const T &  item 
)

◆ contains() [2/2]

bool litehtml::contains ( const string &  str,
const string &  substr 
)
inline

◆ convert_units()

bool litehtml::convert_units ( mf_info  mfi,
css_token  val[2],
document::ptr  doc 
)

◆ css_parse_error()

void litehtml::css_parse_error ( string  msg)

◆ decode() [1/2]

string litehtml::decode ( string  input,
encoding  coding 
)

◆ decode() [2/2]

void litehtml::decode ( string  input,
encoding  coding,
string &  output 
)

◆ digit_value()

int litehtml::digit_value ( int  ch)
inline

◆ encoding_sniffing_algorithm()

void litehtml::encoding_sniffing_algorithm ( estring str)

◆ end()

bool litehtml::end ( const css_token_vector tokens,
int  index 
)

◆ end_condition()

bool litehtml::end_condition ( int  index)

◆ equal_i()

bool litehtml::equal_i ( const string &  s1,
const string &  s2 
)
inline

◆ eval_op()

bool litehtml::eval_op ( float  x,
short  op,
float  value 
)

◆ extract_encoding_from_meta_element()

encoding litehtml::extract_encoding_from_meta_element ( string  str)

◆ filter_code_points()

void litehtml::filter_code_points ( string &  input)

◆ find_close_bracket()

string::size_type litehtml::find_close_bracket ( const string &  s,
string::size_type  off,
char  open_b = '(',
char  close_b = ')' 
)

◆ find_of_keyword()

int litehtml::find_of_keyword ( const css_token_vector tokens)

◆ get_decoder()

decoder::ptr litehtml::get_decoder ( encoding  _encoding)

◆ get_encoding()

encoding litehtml::get_encoding ( string  label)

◆ get_escaped_string()

string litehtml::get_escaped_string ( const string &  in_str)

◆ get_meta_encoding()

encoding litehtml::get_meta_encoding ( GumboNode root)

◆ get_repr()

string litehtml::get_repr ( const css_token_vector tokens,
int  index = 0,
int  count = -1,
bool  insert_spaces = false 
)

◆ get_xml_encoding()

encoding litehtml::get_xml_encoding ( const string &  str)

◆ has_selector()

bool litehtml::has_selector ( const css_selector selector,
attr_select_type  type,
const string &  name = "" 
)

◆ has_var()

bool litehtml::has_var ( const css_token_vector tokens)

◆ hsl_to_rgb()

void litehtml::hsl_to_rgb ( float  hue,
float  sat,
float  light,
float &  r,
float &  g,
float &  b 
)

◆ html_parse_dimension_value()

bool litehtml::html_parse_dimension_value ( const string &  str,
float &  val,
html_dimension_type type 
)

◆ html_parse_integer()

bool litehtml::html_parse_integer ( const string &  str,
int &  val 
)

◆ html_parse_non_negative_integer()

bool litehtml::html_parse_non_negative_integer ( const string &  str,
int &  val 
)

◆ html_parse_nonzero_dimension_value()

bool litehtml::html_parse_nonzero_dimension_value ( const string &  str,
float &  val,
html_dimension_type type 
)

◆ increment()

void litehtml::increment ( int &  index,
const string &  str 
)

◆ index_value()

string litehtml::index_value ( int  index,
const string &  strings,
char  delim = ';' 
)

◆ insert()

template<class T >
void litehtml::insert ( vector< T > &  vec,
int  index,
const vector< T > &  x 
)

◆ is_any_value()

bool litehtml::is_any_value ( const css_token_vector tokens)

◆ is_ascii_codepoint()

bool litehtml::is_ascii_codepoint ( char  c)

◆ is_custom_ident()

bool litehtml::is_custom_ident ( const css_token tok)

◆ is_declaration_value()

bool litehtml::is_declaration_value ( const css_token_vector tokens,
int  index = 0 
)

◆ is_hex_digit()

bool litehtml::is_hex_digit ( int  ch)
inline

◆ is_number()

bool litehtml::is_number ( const string &  string,
bool  allow_dot = true 
)

◆ is_one_of() [1/2]

template<typename X , typename A >
bool litehtml::is_one_of ( x,
a 
)

◆ is_one_of() [2/2]

template<typename X , typename A , typename... AA>
bool litehtml::is_one_of ( x,
a,
AA...  aa 
)

◆ is_one_of_predef()

bool litehtml::is_one_of_predef ( const css_length x,
int  idx1,
int  idx2 
)

◆ is_supported_simple_pseudo_class()

bool litehtml::is_supported_simple_pseudo_class ( const string &  name)

◆ is_supported_simple_pseudo_element()

bool litehtml::is_supported_simple_pseudo_element ( const string &  name)

◆ is_surrogate()

bool litehtml::is_surrogate ( int  ch)
inline

◆ is_url_path_absolute()

bool litehtml::is_url_path_absolute ( const string &  path)

◆ is_url_reserved_codepoint()

bool litehtml::is_url_reserved_codepoint ( char  c)

◆ is_url_scheme_codepoint()

bool litehtml::is_url_scheme_codepoint ( char  c)

◆ is_whitespace()

bool litehtml::is_whitespace ( int  c)
inline

◆ join_string()

void litehtml::join_string ( string &  str,
const string_vector tokens,
const string &  delims 
)

◆ lcase()

string & litehtml::lcase ( string &  s)

◆ lowcase() [1/2]

int litehtml::lowcase ( int  c)
inline

◆ lowcase() [2/2]

string litehtml::lowcase ( string  str)
inline

◆ match()

bool litehtml::match ( const string &  str,
int  index,
const string &  substr 
)
inline

◆ match_i()

bool litehtml::match_i ( const string &  str,
int  index,
const string &  substr 
)
inline

◆ mirror() [1/2]

char litehtml::mirror ( char  c)

◆ mirror() [2/2]

short litehtml::mirror ( short  op)

◆ normalize() [1/3]

template<>
css_token_vector litehtml::normalize ( css_token_vector  input,
int  options,
keep_whitespace_fn  keep_whitespace 
)

◆ normalize() [2/3]

template<class Input >
css_token_vector litehtml::normalize ( Input  input,
int  options = 0,
keep_whitespace_fn  keep_whitespace = 0 
)

◆ normalize() [3/3]

template<>
css_token_vector litehtml::normalize ( string  input,
int  options,
keep_whitespace_fn  keep_whitespace 
)

◆ normalize_length()

float litehtml::normalize_length ( css_length  length,
float  line_len 
)

◆ operator!()

trilean litehtml::operator! ( trilean  x)
inline

◆ operator""_x()

parse_fn litehtml::operator""_x ( const char *  str,
size_t  len 
)

◆ operator&&()

trilean litehtml::operator&& ( trilean  a,
trilean  b 
)
inline

◆ operator+=()

template<class T >
vector< T > & litehtml::operator+= ( vector< T > &  vec,
const vector< T > &  x 
)

◆ operator/()

template<class T , class TT >
bool litehtml::operator/ ( const T &  x,
const TT &  xx 
)

◆ operator<() [1/2]

bool litehtml::operator< ( const css_selector v1,
const css_selector v2 
)
inline

◆ operator<() [2/2]

bool litehtml::operator< ( const css_selector::ptr v1,
const css_selector::ptr v2 
)
inline

◆ operator<<()

std::basic_ostream< tstring_view::value_type > & litehtml::operator<< ( std::basic_ostream< tstring_view::value_type > &  os,
tstring_view  str 
)

◆ operator>() [1/2]

bool litehtml::operator> ( const css_selector v1,
const css_selector v2 
)
inline

◆ operator>() [2/2]

bool litehtml::operator> ( const css_selector::ptr v1,
const css_selector::ptr v2 
)
inline

◆ operator||()

trilean litehtml::operator|| ( trilean  a,
trilean  b 
)
inline

◆ opt()

parse_fn litehtml::opt ( parse_fn  a)

◆ oror()

parse_fn litehtml::oror ( parse_fn  a,
parse_fn  b 
)

◆ parse_1234_lengths()

int litehtml::parse_1234_lengths ( const css_token_vector tokens,
css_length  len[4],
int  options,
string  keywords = "" 
)

◆ parse_1234_values()

template<class T , class... Args>
int litehtml::parse_1234_values ( const css_token_vector tokens,
result[4],
bool(*)(const css_token &, T &, Args...)  func,
Args...  args 
)

◆ parse_an_b()

an_b litehtml::parse_an_b ( string  s)

◆ parse_angle()

bool litehtml::parse_angle ( const css_token tok,
float &  angle,
bool  percents_allowed = false 
)

◆ parse_attr_matcher()

bool litehtml::parse_attr_matcher ( const css_token_vector tokens,
int &  index,
attr_matcher matcher 
)

◆ parse_attribute_selector()

css_attribute_selector litehtml::parse_attribute_selector ( const css_token block)

◆ parse_bg_image()

bool litehtml::parse_bg_image ( const css_token token,
image bg_image,
document_container container 
)

◆ parse_bg_position()

bool litehtml::parse_bg_position ( const css_token_vector tokens,
int &  index,
css_length x,
css_length y,
bool  convert_keywords_to_percents 
)

◆ parse_bg_position_size()

bool litehtml::parse_bg_position_size ( const css_token_vector tokens,
int &  index,
css_length x,
css_length y,
css_size size 
)

◆ parse_bg_size()

bool litehtml::parse_bg_size ( const css_token_vector tokens,
int &  index,
css_size size 
)

◆ parse_border_helper()

bool litehtml::parse_border_helper ( const css_token_vector tokens,
document_container container,
css_length width,
border_style style,
web_color color 
)

◆ parse_border_width()

bool litehtml::parse_border_width ( const css_token tok,
css_length width 
)

◆ parse_color()

bool litehtml::parse_color ( const css_token token,
web_color color,
document_container container 
)

◆ parse_color_hint()

template<class T >
bool litehtml::parse_color_hint ( const css_token_vector tokens,
vector< gradient::color_stop > &  color_stops 
)

◆ parse_color_interpolation_method()

bool litehtml::parse_color_interpolation_method ( const css_token_vector tokens,
int &  index,
color_space_t color_space,
hue_interpolation_t hue_interpolation 
)

◆ parse_color_stop()

template<class T >
bool litehtml::parse_color_stop ( const css_token_vector tokens,
vector< gradient::color_stop > &  color_stops,
document_container container 
)

◆ parse_color_stop_list()

template<class T >
bool litehtml::parse_color_stop_list ( const vector< css_token_vector > &  list,
gradient grad,
document_container container 
)

◆ parse_combinator()

int litehtml::parse_combinator ( const css_token_vector tokens,
int &  index 
)

◆ parse_comma_separated_list()

vector< css_token_vector > litehtml::parse_comma_separated_list ( const css_token_vector tokens)

◆ parse_complex_selector()

css_selector::ptr litehtml::parse_complex_selector ( const css_token_vector tokens,
document_mode  mode 
)

◆ parse_compound_selector()

css_element_selector::ptr litehtml::parse_compound_selector ( const css_token_vector tokens,
int &  index,
document_mode  mode 
)

◆ parse_conic_angle_position()

bool litehtml::parse_conic_angle_position ( const css_token_vector tokens,
int &  index,
gradient gradient 
)

◆ parse_conic_gradient_angle_position_interpolation()

bool litehtml::parse_conic_gradient_angle_position_interpolation ( const css_token_vector tokens,
gradient gradient 
)

◆ parse_font_family()

bool litehtml::parse_font_family ( const css_token_vector tokens,
string &  font_family 
)

◆ parse_font_style_variant_weight()

bool litehtml::parse_font_style_variant_weight ( const css_token_vector tokens,
int &  index,
int &  style,
int &  variant,
css_length weight 
)

◆ parse_font_weight()

bool litehtml::parse_font_weight ( const css_token tok,
css_length weight 
)

◆ parse_func_color()

bool litehtml::parse_func_color ( const css_token tok,
web_color color 
)

◆ parse_function_pseudo_class()

css_attribute_selector litehtml::parse_function_pseudo_class ( const css_token token,
document_mode  mode 
)

◆ parse_gradient()

bool litehtml::parse_gradient ( const css_token token,
gradient gradient,
document_container container 
)

◆ parse_gradient_position()

bool litehtml::parse_gradient_position ( const css_token_vector tokens,
int &  index,
gradient gradient 
)

◆ parse_hash_color()

bool litehtml::parse_hash_color ( const css_token tok,
web_color color 
)

◆ parse_hsl_func()

bool litehtml::parse_hsl_func ( const css_token tok,
web_color color 
)

◆ parse_keyword()

template<typename Enum >
bool litehtml::parse_keyword ( const css_token tok,
Enum &  val,
string  keywords,
int  first_keyword_value = 0 
)

◆ parse_lenang() [1/2]

bool litehtml::parse_lenang ( const css_token tok,
css_length length 
)

◆ parse_lenang() [2/2]

bool litehtml::parse_lenang ( const css_token tok,
float &  angle 
)

◆ parse_length()

bool litehtml::parse_length ( const css_token tok,
css_length length,
int  options,
string  keywords = "" 
)

◆ parse_linear_gradient_direction()

bool litehtml::parse_linear_gradient_direction ( const css_token_vector tokens,
int &  index,
float &  angle,
int &  side 
)

◆ parse_linear_gradient_direction_and_interpolation()

bool litehtml::parse_linear_gradient_direction_and_interpolation ( const css_token_vector tokens,
gradient gradient 
)

◆ parse_media_condition()

bool litehtml::parse_media_condition ( const css_token_vector tokens,
int &  index,
bool  or_allowed,
media_condition condition,
document::ptr  doc 
)

◆ parse_media_feature()

bool litehtml::parse_media_feature ( const css_token token,
media_feature media_feature,
document::ptr  doc 
)

◆ parse_media_in_parens()

bool litehtml::parse_media_in_parens ( const css_token token,
media_in_parens media_in_parens,
document::ptr  doc 
)

◆ parse_media_query()

bool litehtml::parse_media_query ( const css_token_vector tokens,
media_query mquery,
document::ptr  doc 
)

◆ parse_media_query_list() [1/3]

media_query_list litehtml::parse_media_query_list ( const css_token_vector _tokens,
document::ptr  doc 
)

◆ parse_media_query_list() [2/3]

media_query_list litehtml::parse_media_query_list ( const css_token_vector tokens,
shared_ptr< document doc 
)

◆ parse_media_query_list() [3/3]

media_query_list litehtml::parse_media_query_list ( const string &  str,
shared_ptr< document doc 
)

◆ parse_mf_range()

bool litehtml::parse_mf_range ( const css_token_vector tokens,
media_feature media_feature,
document::ptr  doc 
)

◆ parse_mf_value()

bool litehtml::parse_mf_value ( const css_token_vector tokens,
int &  index,
css_token  val[2] 
)

◆ parse_modern_syntax()

bool litehtml::parse_modern_syntax ( const css_token_vector tokens,
bool  is_hsl,
css_length x,
css_length y,
css_length z,
css_length a 
)

◆ parse_name_color()

bool litehtml::parse_name_color ( const css_token tok,
web_color color,
document_container container 
)

◆ parse_ns_prefix()

string litehtml::parse_ns_prefix ( const css_token_vector tokens,
int &  index 
)

◆ parse_nth_child()

css_attribute_selector litehtml::parse_nth_child ( const css_token token,
bool  of_keyword,
document_mode  mode 
)

◆ parse_pseudo_class()

css_attribute_selector litehtml::parse_pseudo_class ( const css_token_vector tokens,
int &  index,
document_mode  mode 
)

◆ parse_pseudo_element()

css_attribute_selector litehtml::parse_pseudo_element ( const css_token_vector tokens,
int &  index 
)

◆ parse_radial_gradient_shape_size_position_interpolation()

bool litehtml::parse_radial_gradient_shape_size_position_interpolation ( const css_token_vector tokens,
gradient result 
)

◆ parse_radial_size()

bool litehtml::parse_radial_size ( const css_token_vector tokens,
int &  index,
gradient gradient 
)

◆ parse_rgb_func()

bool litehtml::parse_rgb_func ( const css_token tok,
web_color color 
)

◆ parse_selector_list()

css_selector::vector litehtml::parse_selector_list ( const css_token_vector tokens,
int  options,
document_mode  mode 
)

◆ parse_subclass_selector()

css_attribute_selector litehtml::parse_subclass_selector ( const css_token_vector tokens,
int &  index,
document_mode  mode 
)

◆ parse_two_lengths()

bool litehtml::parse_two_lengths ( const css_token_vector tokens,
css_length  len[2],
int  options 
)

◆ parse_type_selector()

wq_name litehtml::parse_type_selector ( const css_token_vector tokens,
int &  index 
)

◆ parse_url()

bool litehtml::parse_url ( const css_token token,
string &  url 
)

◆ parse_wq_name()

wq_name litehtml::parse_wq_name ( const css_token_vector tokens,
int &  index 
)

◆ prescan_a_byte_stream_to_determine_its_encoding()

encoding litehtml::prescan_a_byte_stream_to_determine_its_encoding ( const string &  str)

◆ prescan_for_encoding()

encoding litehtml::prescan_for_encoding ( const string &  str)

◆ prescan_get_attribute()

bool litehtml::prescan_get_attribute ( const string &  str,
inout int &  index,
out string &  name,
out string &  value 
)

◆ prev_utf8_char()

void litehtml::prev_utf8_char ( const string &  str,
int &  index 
)

◆ read_utf8_char()

char32_t litehtml::read_utf8_char ( const string &  str,
int &  index 
)

◆ remove()

template<class C >
void litehtml::remove ( C &  vec,
int  index,
int  count = 1 
)

◆ remove_whitespace()

void litehtml::remove_whitespace ( css_token_vector tokens,
keep_whitespace_fn  keep_whitespace = 0 
)

◆ resolve()

url litehtml::resolve ( const url base,
const url reference 
)

◆ resolve_name()

string litehtml::resolve_name ( const string &  name,
document_container container 
)

◆ round_d()

int litehtml::round_d ( double  val)
inline

◆ round_f()

int litehtml::round_f ( float  val)
inline

◆ seq()

parse_fn litehtml::seq ( parse_fn  a,
parse_fn  b 
)

◆ skip_whitespace()

bool litehtml::skip_whitespace ( const css_token_vector tokens,
int &  index 
)

◆ slice()

template<typename T >
vector< T > litehtml::slice ( const vector< T > &  vec,
int  index,
int  count = -1 
)

◆ sort()

template<class C >
void litehtml::sort ( C &  coll)

◆ split_string() [1/2]

string_vector litehtml::split_string ( const string &  str,
const string &  delims = whitespace,
const string &  delims_preserve = "",
const string &  quote = "\"" 
)

◆ split_string() [2/2]

void litehtml::split_string ( const string &  str,
string_vector tokens,
const string &  delims = whitespace,
const string &  delims_preserve = "",
const string &  quote = "\"" 
)

◆ STRING_ID()

litehtml::STRING_ID ( _a_  ,
_abbr_  ,
_acronym_  ,
_address_  ,
_applet_  ,
_area_  ,
_article_  ,
_aside_  ,
_audio_  ,
_b_  ,
_base_  ,
_basefont_  ,
_bdi_  ,
_bdo_  ,
_big_  ,
_blockquote_  ,
_body_  ,
_br_  ,
_button_  ,
_canvas_  ,
_caption_  ,
_center_  ,
_cite_  ,
_code_  ,
_col_  ,
_colgroup_  ,
_data_  ,
_datalist_  ,
_dd_  ,
_del_  ,
_details_  ,
_dfn_  ,
_dialog_  ,
_dir_  ,
_div_  ,
_dl_  ,
_dt_  ,
_em_  ,
_embed_  ,
_fieldset_  ,
_figcaption_  ,
_figure_  ,
_footer_  ,
_form_  ,
_frame_  ,
_frameset_  ,
_h1_  ,
_h2_  ,
_h3_  ,
_h4_  ,
_h5_  ,
_h6_  ,
_head_  ,
_header_  ,
_hr_  ,
_html_  ,
_i_  ,
_iframe_  ,
_img_  ,
_input_  ,
_ins_  ,
_kbd_  ,
_label_  ,
_legend_  ,
_li_  ,
_link_  ,
_main_  ,
_map_  ,
_mark_  ,
_meta_  ,
_meter_  ,
_nav_  ,
_noframes_  ,
_noscript_  ,
_object_  ,
_ol_  ,
_optgroup_  ,
_option_  ,
_output_  ,
_p_  ,
_param_  ,
_picture_  ,
_pre_  ,
_progress_  ,
_q_  ,
_rp_  ,
_rt_  ,
_ruby_  ,
_s_  ,
_samp_  ,
_script_  ,
_section_  ,
_select_  ,
_small_  ,
_source_  ,
_span_  ,
_strike_  ,
_strong_  ,
_style_  ,
_sub_  ,
_summary_  ,
_sup_  ,
_svg_  ,
_table_  ,
_tbody_  ,
_td_  ,
_template_  ,
_textarea_  ,
_tfoot_  ,
_th_  ,
_thead_  ,
_time_  ,
_title_  ,
_tr_  ,
_track_  ,
_tt_  ,
_u_  ,
_ul_  ,
_var_  ,
_video_  ,
_wbr_  ,
__tag_before_  ,
__tag_after_  ,
_before_  ,
_after_  ,
_root_  ,
_only_child_  ,
_only_of_type_  ,
_first_child_  ,
_first_of_type_  ,
_last_child_  ,
_last_of_type_  ,
_nth_child_  ,
_nth_of_type_  ,
_nth_last_child_  ,
_nth_last_of_type_  ,
_is_  ,
_not_  ,
_lang_  ,
_active_  ,
_hover_  ,
_background_  ,
_background_color_  ,
_background_image_  ,
_background_image_baseurl_  ,
_background_repeat_  ,
_background_origin_  ,
_background_clip_  ,
_background_attachment_  ,
_background_size_  ,
_background_position_  ,
_background_position_x_  ,
_background_position_y_  ,
_background_gradient_  ,
_border_  ,
_border_width_  ,
_border_style_  ,
_border_color_  ,
_border_spacing_  ,
__litehtml_border_spacing_x_  ,
__litehtml_border_spacing_y_  ,
_border_top_  ,
_border_right_  ,
_border_bottom_  ,
_border_left_  ,
_border_top_style_  ,
_border_right_style_  ,
_border_bottom_style_  ,
_border_left_style_  ,
_border_top_width_  ,
_border_right_width_  ,
_border_bottom_width_  ,
_border_left_width_  ,
_border_top_color_  ,
_border_right_color_  ,
_border_bottom_color_  ,
_border_left_color_  ,
_border_radius_  ,
_border_radius_x_  ,
_border_radius_y_  ,
_border_top_left_radius_  ,
_border_top_right_radius_  ,
_border_bottom_right_radius_  ,
_border_bottom_left_radius_  ,
_border_top_left_radius_x_  ,
_border_top_right_radius_x_  ,
_border_bottom_right_radius_x_  ,
_border_bottom_left_radius_x_  ,
_border_top_left_radius_y_  ,
_border_top_right_radius_y_  ,
_border_bottom_right_radius_y_  ,
_border_bottom_left_radius_y_  ,
_list_style_  ,
_list_style_type_  ,
_list_style_position_  ,
_list_style_image_  ,
_list_style_image_baseurl_  ,
_margin_  ,
_margin_top_  ,
_margin_right_  ,
_margin_bottom_  ,
_margin_left_  ,
_padding_  ,
_padding_top_  ,
_padding_right_  ,
_padding_bottom_  ,
_padding_left_  ,
_font_  ,
_font_family_  ,
_font_style_  ,
_font_variant_  ,
_font_weight_  ,
_font_size_  ,
_line_height_  ,
_text_decoration_  ,
_white_space_  ,
_text_align_  ,
_vertical_align_  ,
_color_  ,
_width_  ,
_height_  ,
_min_width_  ,
_min_height_  ,
_max_width_  ,
_max_height_  ,
_position_  ,
_overflow_  ,
_display_  ,
_visibility_  ,
_appearance_  ,
_box_sizing_  ,
_z_index_  ,
_float_  ,
_clear_  ,
_text_indent_  ,
_top_  ,
_right_  ,
_bottom_  ,
_left_  ,
_cursor_  ,
_content_  ,
_border_collapse_  ,
_text_transform_  ,
_flex_  ,
_flex_flow_  ,
_flex_direction_  ,
_flex_wrap_  ,
_justify_content_  ,
_align_items_  ,
_align_content_  ,
_align_self_  ,
_flex_grow_  ,
_flex_shrink_  ,
_flex_basis_  ,
_caption_side_  ,
_order_  ,
_counter_reset_  ,
_counter_increment_  ,
_deg_  ,
_grad_  ,
_rad_  ,
_turn_  ,
_initial_  ,
_auto_  ,
_none_  ,
_linear_gradient_  ,
_repeating_linear_gradient_  ,
_radial_gradient_  ,
_repeating_radial_gradient_  ,
_conic_gradient_  ,
_repeating_conic_gradient_  ,
_charset_  ,
_layer_  ,
_import_  ,
_media_  ,
_and_  ,
_or_  ,
_boolean_  ,
_plain_  ,
_range_  ,
_discrete_  ,
_integer_  ,
_length_  ,
_resolution_  ,
_ratio_  ,
_keyword_  ,
_orientation_  ,
_portrait_  ,
_landscape_  ,
_device_width_  ,
_device_height_  ,
_aspect_ratio_  ,
_device_aspect_ratio_  ,
_color_index_  ,
_monochrome_   
) const

◆ subst_var()

bool litehtml::subst_var ( css_token_vector tokens,
const html_tag el,
std::set< string_id > &  used_vars 
)

◆ subst_vars_()

void litehtml::subst_vars_ ( string_id  name,
css_token_vector tokens,
const html_tag el 
)

◆ t_isalpha()

int litehtml::t_isalpha ( int  c)
inline

◆ t_isdigit()

int litehtml::t_isdigit ( int  c)
inline

◆ t_strcasecmp()

int litehtml::t_strcasecmp ( const char *  s1,
const char *  s2 
)

◆ t_strncasecmp()

int litehtml::t_strncasecmp ( const char *  s1,
const char *  s2,
size_t  n 
)

◆ t_strtod()

double litehtml::t_strtod ( const char *  string,
char **  endPtr = nullptr 
)

◆ t_strtof()

float litehtml::t_strtof ( const string &  str,
char **  endPtr = nullptr 
)
inline

◆ t_tolower()

int litehtml::t_tolower ( int  c)
inline

◆ to_int()

bool litehtml::to_int ( string  s,
int &  number 
)

◆ tokenize()

css_token_vector litehtml::tokenize ( const string &  str)
inline

◆ trim() [1/2]

string litehtml::trim ( const string &  s,
const string &  chars_to_trim = whitespace 
)

◆ trim() [2/2]

string & litehtml::trim ( string &  s,
const string &  chars_to_trim = whitespace 
)

◆ trim_whitespace()

void litehtml::trim_whitespace ( css_token_vector tokens)

◆ url_path_append()

string litehtml::url_path_append ( const string &  base,
const string &  path 
)

◆ url_path_base_name()

string litehtml::url_path_base_name ( const string &  path)

◆ url_path_directory_name()

string litehtml::url_path_directory_name ( const string &  path)

◆ url_path_resolve()

string litehtml::url_path_resolve ( const string &  base,
const string &  path 
)

◆ value_in_list()

bool litehtml::value_in_list ( const string &  val,
const string &  strings,
char  delim = ';' 
)

◆ value_index()

int litehtml::value_index ( const string &  val,
const string &  strings,
int  defValue = -1,
char  delim = ';' 
)

Variable Documentation

◆ background_position_percentages

const float litehtml::background_position_percentages[] = {0, 100, 0, 100, 50}

◆ border_width_medium_value

const float litehtml::border_width_medium_value = 3

◆ border_width_thick_value

const float litehtml::border_width_thick_value = 5

◆ border_width_thin_value

const float litehtml::border_width_thin_value = 1

◆ border_width_values

const float litehtml::border_width_values[] = { border_width_thin_value, border_width_medium_value, border_width_thick_value }

◆ coding

encoding litehtml::coding

◆ empty_id

const string_id litehtml::empty_id = _id("")

◆ EOL

const size_t litehtml::EOL = string::npos

◆ font_decoration_linethrough

const unsigned int litehtml::font_decoration_linethrough = 0x02

◆ font_decoration_none

const unsigned int litehtml::font_decoration_none = 0x00

◆ font_decoration_overline

const unsigned int litehtml::font_decoration_overline = 0x04

◆ font_decoration_underline

const unsigned int litehtml::font_decoration_underline = 0x01

◆ g_def_colors

def_color litehtml::g_def_colors[]

◆ is_digit

const auto litehtml::is_digit = t_isdigit

◆ is_letter

const auto litehtml::is_letter = t_isalpha

◆ [struct]

struct { ... } litehtml::labels[]

◆ master_css

const char* const litehtml::master_css

◆ name

const char* litehtml::name

◆ pi

const float litehtml::pi = 3.14159265f

◆ shorthands

std::map<string_id, vector<string_id> > litehtml::shorthands

◆ split_delims_spaces

const char* const litehtml::split_delims_spaces = " \t\r\n\f\v"

◆ star_id

const string_id litehtml::star_id = _id("*")

◆ supported_media_features

std::map<string, mf_info> litehtml::supported_media_features

◆ void_elements

const char* const litehtml::void_elements = "area;base;br;col;command;embed;hr;img;input;keygen;link;meta;param;source;track;wbr"

◆ whitespace

const string litehtml::whitespace = " \n\r\t\f"