Orcus
Loading...
Searching...
No Matches
orcus::css_document_tree Class Reference

#include <css_document_tree.hpp>

Classes

class  insertion_error

Public Member Functions

 css_document_tree (const css_document_tree &)=delete
 css_document_tree (css_document_tree &&other)
css_document_treeoperator= (css_document_tree &&other)
void load (std::string_view stream)
void insert_properties (const css_selector_t &selector, css::pseudo_element_t pseudo_elem, const css_properties_t &props)
const css_properties_t * get_properties (const css_selector_t &selector, css::pseudo_element_t pseudo_elem) const
const css_pseudo_element_properties_t * get_all_properties (const css_selector_t &selector) const
void dump () const
void swap (css_document_tree &other) noexcept

Detailed Description

Class representing CSS rules.

Member Function Documentation

◆ get_all_properties()

const css_pseudo_element_properties_t * orcus::css_document_tree::get_all_properties ( const css_selector_t & selector) const

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

Parameters
selectorselector 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.

◆ get_properties()

const css_properties_t * orcus::css_document_tree::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
selectorselector to get properties for.
pseudo_elempseudo 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.

◆ insert_properties()

void orcus::css_document_tree::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
selectorselector to store properties for.
pseudo_elempseudo element flags for the last simple selector.
propsnew properties to insert.

◆ load()

void orcus::css_document_tree::load ( std::string_view stream)

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

Parameters
streamraw CSS rules.