Tenncor
Classes | Namespaces | Typedefs | Enumerations | Functions
candidate.hpp File Reference
#include <string>
#include <unordered_map>
#include <boost/functional/hash.hpp>
#include "teq/itensor.hpp"
Include dependency graph for candidate.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  opt::Symbol
 Generic representation of a conversion rule. More...
 
struct  opt::SymbolHash
 Hasher to encode rule key. More...
 
struct  opt::CandArg
 Encapsulation of match output argument. More...
 

Namespaces

 opt
 

Typedefs

using opt::CtxValT = std::set< teq::TensptrT >
 Set of tensors that potentially matches some id. More...
 
using opt::ContexT = std::map< std::string, CtxValT >
 Map of rule graph leaf identifiers to corresponding matches. More...
 
using opt::CtxsT = std::unordered_set< ContexT, boost::hash< ContexT > >
 Set of contexts that serve as a candidates of a conversion rule. More...
 
using opt::CandsT = std::unordered_map< Symbol, CtxsT, SymbolHash >
 Map of convers symbols to its potential candidate conversion rules. More...
 
using opt::CandArgsT = std::vector< CandArg >
 Vector of candidate arguments. More...
 

Enumerations

enum  opt::CAND_TYPE { opt::SCALAR = 0, opt::CONST, opt::INTERM, opt::CONVRT }
 Conversion type. More...
 

Functions

bool opt::operator== (const Symbol &lhs, const Symbol &rhs)
 Compare equality of Symbols. More...