|  | reflex::Pattern::Tree Struct Reference updated Fri Dec 10 2021 by Robert van Engelen |

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

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:
[legend]

## Classes

struct | Node

## Public Types

typedef std::list< Node * > | List

## Public Member Functions

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

## Public Attributes

Node * | tree
| 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:

- pattern.h