Version: 1.0
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
rule_set Struct Reference

#include <rule_set.h>

Public Member Functions

 rule_set ()
 
 rule_set (YAML::Node &node)
 
void AddCondition (const std::string &name)
 
void ClearConditions ()
 
void InitConditions (const pixel_set &ps)
 
void AddAction (const std::string &action)
 
void ClearActions ()
 
void InitActions (std::vector< std::string > actions_)
 
uint GetNumberOfRules () const
 
template<typename T >
void generate_rules (T fn)
 
void print_rules (std::ostream &os) const
 
uint get_condition (const std::string &s, uint rule) const
 
void set_action (const std::string &s, uint rule)
 
void SetFrequency (uint rule, uint frequency)
 
void StoreFrequenciesOnFile (const std::string &output_file) const
 
bool LoadFrequenciesFromFile (const std::string &file_path)
 
YAML::Node Serialize () const
 
void Deserialize (const YAML::Node &rs_node)
 

Static Public Member Functions

static std::string binary (size_t u, size_t nbits, const std::string &separator="")
 

Public Attributes

std::vector< std::string > conditions
 
std::unordered_map< std::string, size_t > conditions_pos
 
std::vector< std::string > actions
 
std::unordered_map< std::string, size_t > actions_pos
 
std::vector< rulerules
 
pixel_set ps_
 

Detailed Description

Definition at line 47 of file rule_set.h.

Constructor & Destructor Documentation

◆ rule_set() [1/2]

rule_set::rule_set ( )
inline

Definition at line 55 of file rule_set.h.

◆ rule_set() [2/2]

rule_set::rule_set ( YAML::Node &  node)
inline

Definition at line 56 of file rule_set.h.

Member Function Documentation

◆ AddAction()

void rule_set::AddAction ( const std::string &  action)
inline

Definition at line 87 of file rule_set.h.

◆ AddCondition()

void rule_set::AddCondition ( const std::string &  name)
inline

Definition at line 69 of file rule_set.h.

◆ binary()

static std::string rule_set::binary ( size_t  u,
size_t  nbits,
const std::string &  separator = "" 
)
inlinestatic

Definition at line 60 of file rule_set.h.

◆ ClearActions()

void rule_set::ClearActions ( )
inline

Definition at line 92 of file rule_set.h.

◆ ClearConditions()

void rule_set::ClearConditions ( )
inline

Definition at line 74 of file rule_set.h.

◆ Deserialize()

void rule_set::Deserialize ( const YAML::Node &  rs_node)
inline

Definition at line 201 of file rule_set.h.

◆ generate_rules()

template<typename T >
void rule_set::generate_rules ( fn)
inline

Definition at line 109 of file rule_set.h.

◆ get_condition()

uint rule_set::get_condition ( const std::string &  s,
uint  rule 
) const
inline

Definition at line 129 of file rule_set.h.

◆ GetNumberOfRules()

uint rule_set::GetNumberOfRules ( ) const
inline

Definition at line 104 of file rule_set.h.

◆ InitActions()

void rule_set::InitActions ( std::vector< std::string >  actions_)
inline

Definition at line 97 of file rule_set.h.

◆ InitConditions()

void rule_set::InitConditions ( const pixel_set ps)
inline

Definition at line 79 of file rule_set.h.

◆ LoadFrequenciesFromFile()

bool rule_set::LoadFrequenciesFromFile ( const std::string &  file_path)
inline

Definition at line 153 of file rule_set.h.

◆ print_rules()

void rule_set::print_rules ( std::ostream &  os) const
inline

Definition at line 117 of file rule_set.h.

◆ Serialize()

YAML::Node rule_set::Serialize ( ) const
inline

Definition at line 169 of file rule_set.h.

◆ set_action()

void rule_set::set_action ( const std::string &  s,
uint  rule 
)
inline

Definition at line 133 of file rule_set.h.

◆ SetFrequency()

void rule_set::SetFrequency ( uint  rule,
uint  frequency 
)
inline

Definition at line 136 of file rule_set.h.

◆ StoreFrequenciesOnFile()

void rule_set::StoreFrequenciesOnFile ( const std::string &  output_file) const
inline

Definition at line 142 of file rule_set.h.

Member Data Documentation

◆ actions

std::vector<std::string> rule_set::actions

Definition at line 50 of file rule_set.h.

◆ actions_pos

std::unordered_map<std::string, size_t> rule_set::actions_pos

Definition at line 51 of file rule_set.h.

◆ conditions

std::vector<std::string> rule_set::conditions

Definition at line 48 of file rule_set.h.

◆ conditions_pos

std::unordered_map<std::string, size_t> rule_set::conditions_pos

Definition at line 49 of file rule_set.h.

◆ ps_

pixel_set rule_set::ps_

Definition at line 53 of file rule_set.h.

◆ rules

std::vector<rule> rule_set::rules

Definition at line 52 of file rule_set.h.


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