carl  24.04
Computer ARithmetic Library
carl::formula::symmetry::ColorGenerator< Number > Class Template Reference

Provides unique ids (colors) for all kinds of different objects in the formula: variable types, relations, formula types, numbers, special colors and indexes. More...

#include <SymmetryFinder.h>

Collaboration diagram for carl::formula::symmetry::ColorGenerator< Number >:

Public Member Functions

unsigned next () const
 
unsigned operator() (carl::VariableType v)
 
unsigned operator() (carl::Relation v)
 
unsigned operator() (carl::FormulaType v)
 
unsigned operator() (const Number &v)
 
unsigned operator() (SpecialColors v)
 
unsigned operator() (std::size_t v)
 

Private Member Functions

template<typename T >
unsigned findOrInsert (std::map< T, unsigned > &container, const T &value)
 

Private Attributes

unsigned nextID = 0
 
std::map< carl::VariableType, unsigned > mVT
 
std::map< carl::Relation, unsigned > mRel
 
std::map< carl::FormulaType, unsigned > mFT
 
std::map< Number, unsigned > mConst
 
std::map< SpecialColors, unsigned > mSpecial
 
std::map< std::size_t, unsigned > mIndexes
 

Detailed Description

template<typename Number>
class carl::formula::symmetry::ColorGenerator< Number >

Provides unique ids (colors) for all kinds of different objects in the formula: variable types, relations, formula types, numbers, special colors and indexes.

Definition at line 28 of file SymmetryFinder.h.

Member Function Documentation

◆ findOrInsert()

template<typename Number >
template<typename T >
unsigned carl::formula::symmetry::ColorGenerator< Number >::findOrInsert ( std::map< T, unsigned > &  container,
const T &  value 
)
inlineprivate

Definition at line 40 of file SymmetryFinder.h.

Here is the caller graph for this function:

◆ next()

template<typename Number >
unsigned carl::formula::symmetry::ColorGenerator< Number >::next ( ) const
inline

Definition at line 46 of file SymmetryFinder.h.

◆ operator()() [1/6]

template<typename Number >
unsigned carl::formula::symmetry::ColorGenerator< Number >::operator() ( carl::FormulaType  v)
inline

Definition at line 55 of file SymmetryFinder.h.

Here is the call graph for this function:

◆ operator()() [2/6]

template<typename Number >
unsigned carl::formula::symmetry::ColorGenerator< Number >::operator() ( carl::Relation  v)
inline

Definition at line 52 of file SymmetryFinder.h.

Here is the call graph for this function:

◆ operator()() [3/6]

template<typename Number >
unsigned carl::formula::symmetry::ColorGenerator< Number >::operator() ( carl::VariableType  v)
inline

Definition at line 49 of file SymmetryFinder.h.

Here is the call graph for this function:

◆ operator()() [4/6]

template<typename Number >
unsigned carl::formula::symmetry::ColorGenerator< Number >::operator() ( const Number &  v)
inline

Definition at line 58 of file SymmetryFinder.h.

Here is the call graph for this function:

◆ operator()() [5/6]

template<typename Number >
unsigned carl::formula::symmetry::ColorGenerator< Number >::operator() ( SpecialColors  v)
inline

Definition at line 61 of file SymmetryFinder.h.

Here is the call graph for this function:

◆ operator()() [6/6]

template<typename Number >
unsigned carl::formula::symmetry::ColorGenerator< Number >::operator() ( std::size_t  v)
inline

Definition at line 64 of file SymmetryFinder.h.

Here is the call graph for this function:

Field Documentation

◆ mConst

template<typename Number >
std::map<Number, unsigned> carl::formula::symmetry::ColorGenerator< Number >::mConst
private

Definition at line 35 of file SymmetryFinder.h.

◆ mFT

template<typename Number >
std::map<carl::FormulaType, unsigned> carl::formula::symmetry::ColorGenerator< Number >::mFT
private

Definition at line 34 of file SymmetryFinder.h.

◆ mIndexes

template<typename Number >
std::map<std::size_t, unsigned> carl::formula::symmetry::ColorGenerator< Number >::mIndexes
private

Definition at line 37 of file SymmetryFinder.h.

◆ mRel

template<typename Number >
std::map<carl::Relation, unsigned> carl::formula::symmetry::ColorGenerator< Number >::mRel
private

Definition at line 33 of file SymmetryFinder.h.

◆ mSpecial

template<typename Number >
std::map<SpecialColors, unsigned> carl::formula::symmetry::ColorGenerator< Number >::mSpecial
private

Definition at line 36 of file SymmetryFinder.h.

◆ mVT

template<typename Number >
std::map<carl::VariableType, unsigned> carl::formula::symmetry::ColorGenerator< Number >::mVT
private

Definition at line 32 of file SymmetryFinder.h.

◆ nextID

template<typename Number >
unsigned carl::formula::symmetry::ColorGenerator< Number >::nextID = 0
private

Definition at line 31 of file SymmetryFinder.h.


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