libcss
Loading...
Searching...
No Matches
hash.h
Go to the documentation of this file.
1/*
2 * This file is part of LibCSS
3 * Licensed under the MIT License,
4 * http://www.opensource.org/licenses/mit-license.php
5 * Copyright 2009 John-Mark Bell <jmb@netsurf-browser.org>
6 */
7
8#ifndef css_select_hash_h_
9#define css_select_hash_h_
10
11#include <libwapcaplet/libwapcaplet.h>
12
13#include <libcss/unit.h>
14#include <libcss/errors.h>
15#include <libcss/functypes.h>
16
17#include "select/bloom.h"
18#include "select/strings.h"
19
20/* Ugh. We need this to avoid circular includes. Happy! */
21struct css_selector;
22
24
26 css_qname qname; /* Element name, or universal "*" */
27 lwc_string *class; /* Name of class, or NULL */
28 lwc_string *id; /* Name of id, or NULL */
29 const css_select_strings *str; /* Selection strings */
30 const css_media *media; /* Media spec we're selecting for */
31 const css_unit_ctx *unit_ctx; /* Document unit conversion context. */
32 const css_bloom *node_bloom; /* Node's bloom filter */
33};
34
36 const struct css_hash_selection_requirments *req,
37 const struct css_selector **current,
38 const struct css_selector ***next);
39
42
44 const struct css_selector *selector);
46 const struct css_selector *selector);
47
49 const struct css_hash_selection_requirments *req,
51 const struct css_selector ***matched);
53 const struct css_hash_selection_requirments *req,
55 const struct css_selector ***matched);
57 const struct css_hash_selection_requirments *req,
59 const struct css_selector ***matched);
61 const struct css_hash_selection_requirments *req,
63 const struct css_selector ***matched);
64
66
67#endif
68
uint32_t css_bloom
Definition bloom.h:56
css_error
Definition errors.h:18
css_error css__selector_hash_find(css_selector_hash *hash, const struct css_hash_selection_requirments *req, css_selector_hash_iterator *iterator, const struct css_selector ***matched)
css_error(* css_selector_hash_iterator)(const struct css_hash_selection_requirments *req, const struct css_selector **current, const struct css_selector ***next)
Definition hash.h:35
css_error css__selector_hash_find_universal(css_selector_hash *hash, const struct css_hash_selection_requirments *req, css_selector_hash_iterator *iterator, const struct css_selector ***matched)
css_error css__selector_hash_find_by_class(css_selector_hash *hash, const struct css_hash_selection_requirments *req, css_selector_hash_iterator *iterator, const struct css_selector ***matched)
css_error css__selector_hash_create(css_selector_hash **hash)
Definition hash.c:119
css_error css__selector_hash_remove(css_selector_hash *hash, const struct css_selector *selector)
css_error css__selector_hash_size(css_selector_hash *hash, size_t *size)
Definition hash.c:616
css_error css__selector_hash_destroy(css_selector_hash *hash)
Definition hash.c:175
css_error css__selector_hash_find_by_id(css_selector_hash *hash, const struct css_hash_selection_requirments *req, css_selector_hash_iterator *iterator, const struct css_selector ***matched)
css_error css__selector_hash_insert(css_selector_hash *hash, const struct css_selector *selector)
Definition hash.h:25
const css_bloom * node_bloom
Definition hash.h:32
lwc_string * id
Definition hash.h:28
const css_media * media
Definition hash.h:30
const css_select_strings * str
Definition hash.h:29
const css_unit_ctx * unit_ctx
Definition hash.h:31
css_qname qname
Definition hash.h:26
Definition types.h:204
Definition types.h:246
Definition strings.h:14
Definition hash.c:33
Definition stylesheet.h:84
Definition unit.h:39