hobbes
a language, embedded compiler, and runtime for efficient dynamic expression evaluation, data storage and analysis
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
hobbes::type_map< V > Class Template Reference

#include <typemap.H>

Inheritance diagram for hobbes::type_map< V >:
Inheritance graph
Collaboration diagram for hobbes::type_map< V >:
Collaboration graph

Public Member Functions

void insert (const MonoTypes &mts, const V &v)
 
V * lookup (const MonoTypes &mts) const
 
std::vector< V > values () const
 
bool hasMatch (const TEnvPtr &tenv, const MonoTypes &mts) const
 
void matches (const TEnvPtr &tenv, const MonoTypes &mts, std::vector< V > *out) const
 
void bidimatches (const TEnvPtr &tenv, const MonoTypes &mts, std::vector< V > *out) const
 
void find (const MaybePathPoints &path, std::vector< V > *out) const
 

Private Types

typedef prefix_tree< MonoTypePtr, V, MTyMaptmdata
 

Private Member Functions

bool hasMatch (MonoTypeUnifier &u, typename tmdata::point_t p, const MonoTypes &mts, size_t i) const
 
void findMatches (MonoTypeUnifier &u, typename tmdata::point_t p, const MonoTypes &mts, size_t i, std::vector< V > *out) const
 
void findBidiMatches (MonoTypeUnifier &u, typename tmdata::point_t p, const MonoTypes &mts, size_t i, std::vector< V > *out) const
 
void findMatches (typename tmdata::point_t p, const MaybePathPoints &path, size_t i, std::vector< V > *out) const
 

Private Attributes

tmdata d
 

Member Typedef Documentation

◆ tmdata

template<typename V>
typedef prefix_tree<MonoTypePtr, V, MTyMap> hobbes::type_map< V >::tmdata
private

Member Function Documentation

◆ bidimatches()

template<typename V>
void hobbes::type_map< V >::bidimatches ( const TEnvPtr tenv,
const MonoTypes mts,
std::vector< V > *  out 
) const
inline

◆ find()

template<typename V>
void hobbes::type_map< V >::find ( const MaybePathPoints path,
std::vector< V > *  out 
) const
inline

◆ findBidiMatches()

template<typename V>
void hobbes::type_map< V >::findBidiMatches ( MonoTypeUnifier u,
typename tmdata::point_t  p,
const MonoTypes mts,
size_t  i,
std::vector< V > *  out 
) const
inlineprivate

◆ findMatches() [1/2]

template<typename V>
void hobbes::type_map< V >::findMatches ( MonoTypeUnifier u,
typename tmdata::point_t  p,
const MonoTypes mts,
size_t  i,
std::vector< V > *  out 
) const
inlineprivate

◆ findMatches() [2/2]

template<typename V>
void hobbes::type_map< V >::findMatches ( typename tmdata::point_t  p,
const MaybePathPoints path,
size_t  i,
std::vector< V > *  out 
) const
inlineprivate

◆ hasMatch() [1/2]

template<typename V>
bool hobbes::type_map< V >::hasMatch ( const TEnvPtr tenv,
const MonoTypes mts 
) const
inline

◆ hasMatch() [2/2]

template<typename V>
bool hobbes::type_map< V >::hasMatch ( MonoTypeUnifier u,
typename tmdata::point_t  p,
const MonoTypes mts,
size_t  i 
) const
inlineprivate

◆ insert()

template<typename V>
void hobbes::type_map< V >::insert ( const MonoTypes mts,
const V &  v 
)
inline

◆ lookup()

template<typename V>
V* hobbes::type_map< V >::lookup ( const MonoTypes mts) const
inline

◆ matches()

template<typename V>
void hobbes::type_map< V >::matches ( const TEnvPtr tenv,
const MonoTypes mts,
std::vector< V > *  out 
) const
inline

◆ values()

template<typename V>
std::vector<V> hobbes::type_map< V >::values ( ) const
inline

Member Data Documentation

◆ d

template<typename V>
tmdata hobbes::type_map< V >::d
private

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