reflex::Pattern::Tree Struct Reference

updated Fri Dec 10 2021 by Robert van Engelen
 
Classes | Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
reflex::Pattern::Tree Struct Reference

Tree DFA constructed from string patterns. More...

Collaboration diagram for reflex::Pattern::Tree:
Collaboration graph
[legend]

Classes

struct  Node
 

Public Types

typedef std::list< Node * > List
 

Public Member Functions

 Tree ()
 
 ~Tree ()
 
void clear ()
 delete the tree DFA. More...
 
Noderoot ()
 return the root of the tree. More...
 
Nodeedge (Node *node, Char c)
 create an edge from a tree node to a target tree node, return the target tree node. More...
 
Nodeleaf ()
 create a new leaf node. More...
 

Public Attributes

Nodetree
 root of the tree or NULL More...
 
List list
 block allocation list More...
 
uint16_t next
 block allocation, next available slot in last block More...
 

Static Public Attributes

static const uint16_t ALLOC = 64
 allocate 64 nodes at a time, to improve performance More...
 

Detailed Description

Tree DFA constructed from string patterns.

Member Typedef Documentation

typedef std::list<Node*> reflex::Pattern::Tree::List

Constructor & Destructor Documentation

reflex::Pattern::Tree::Tree ( )
inline
reflex::Pattern::Tree::~Tree ( )
inline

Member Function Documentation

void reflex::Pattern::Tree::clear ( )
inline

delete the tree DFA.

Node* reflex::Pattern::Tree::edge ( Node node,
Char  c 
)
inline

create an edge from a tree node to a target tree node, return the target tree node.

Node* reflex::Pattern::Tree::leaf ( )
inline

create a new leaf node.

Node* reflex::Pattern::Tree::root ( )
inline

return the root of the tree.

Member Data Documentation

const uint16_t reflex::Pattern::Tree::ALLOC = 64
static

allocate 64 nodes at a time, to improve performance

List reflex::Pattern::Tree::list

block allocation list

uint16_t reflex::Pattern::Tree::next

block allocation, next available slot in last block

Node* reflex::Pattern::Tree::tree

root of the tree or NULL


The documentation for this struct was generated from the following file: