reflex::Pattern::HFA Struct Reference

updated Sat Oct 7 2023 by Robert van Engelen
 
Public Types | Public Attributes | Static Public Attributes | List of all members
reflex::Pattern::HFA Struct Reference

Indexing hash finite state automaton for indexed file search. More...

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

Public Types

typedef ORanges< HashHashRange
 
typedef std::array< HashRange, MAX_DEPTHHashRanges
 
typedef std::map< DFA::State *, HashRangesStateHashes
 
typedef uint16_t State
 
typedef std::map< State, HashRangesHashes
 
typedef std::set< StateStateSet
 
typedef std::map< State, StateSetStates
 
typedef std::bitset< MAX_STATESVisitSet
 

Public Attributes

Hashes hashes [MAX_DEPTH]
 
States states
 

Static Public Attributes

static const size_t MAX_DEPTH = 16
 max hashed pattern length must be between 3 and 16, long is accurate More...
 
static const size_t MAX_CHAIN = 8
 max length of hashed chars chain must be between 2 and 8 (8 is optimal) More...
 
static const size_t MAX_STATES = 1024
 max number of states must be 256 or greater More...
 
static const size_t MAX_RANGES = 262144
 max number of hashes ranges on an edge to the next state More...
 

Detailed Description

Indexing hash finite state automaton for indexed file search.

Member Typedef Documentation

typedef uint16_t reflex::Pattern::HFA::State

Member Data Documentation

Hashes reflex::Pattern::HFA::hashes[MAX_DEPTH]
const size_t reflex::Pattern::HFA::MAX_CHAIN = 8
static

max length of hashed chars chain must be between 2 and 8 (8 is optimal)

const size_t reflex::Pattern::HFA::MAX_DEPTH = 16
static

max hashed pattern length must be between 3 and 16, long is accurate

const size_t reflex::Pattern::HFA::MAX_RANGES = 262144
static

max number of hashes ranges on an edge to the next state

const size_t reflex::Pattern::HFA::MAX_STATES = 1024
static

max number of states must be 256 or greater

States reflex::Pattern::HFA::states

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