css_document_tree

Defined in header: <orcus/css_document_tree.hpp>

class css_document_tree

Class representing CSS rules.

Public Functions

css_document_tree(const css_document_tree&) = delete
css_document_tree()
css_document_tree(css_document_tree &&other)
~css_document_tree()
css_document_tree &operator=(css_document_tree &&other)
void load(std::string_view stream)

Load raw string stream containing CSS rules to populate the document tree.

Parameters:

stream – raw CSS rules.

void insert_properties(const css_selector_t &selector, css::pseudo_element_t pseudo_elem, const css_properties_t &props)

Insert or replace properties for given selector and pseudo element flags.

Parameters:
  • selector – selector to store properties for.

  • pseudo_elem – pseudo element flags for the last simple selector.

  • props – new properties to insert.

const css_properties_t *get_properties(const css_selector_t &selector, css::pseudo_element_t pseudo_elem) const

Get properties associated with given selector and one or more pseudo elements.

Parameters:
  • selector – selector to get properties for.

  • pseudo_elem – pseudo element flags for the last simple selector. This value is a bitfield.

Returns:

const pointer to the property set instance, or NULL in case there is no properties for the given selector.

const css_pseudo_element_properties_t *get_all_properties(const css_selector_t &selector) const

Get all sets of properties associated with given selector, for all pseudo element values.

Parameters:

selector – selector to get properties for.

Returns:

const pointer to the map of property sets with pseudo element values as the keys, or NULL in case there is no properties for the given selector.

void dump() const
void swap(css_document_tree &other) noexcept
class insertion_error : public orcus::general_error

Public Functions

insertion_error(const std::string &msg)