hoshi-lang dev
Yet another programming language
Loading...
Searching...
No Matches
indexTable< A, B > Class Template Reference

#include <def.hpp>

Classes

class  iterator
 

Public Member Functions

yoi::indexT put (const A &a, const B &b)
 
yoi::indexT put_create (const A &a, const B &b)
 
B & operator[] (const A &k)
 
B & operator[] (yoi::indexT k)
 
yoi::indexT getIndex (const A &k)
 
yoi::indexT getIndex (const std::function< bool(const A &)> &pred)
 
const A & getKey (yoi::indexT i) const
 
yoi::indexT size ()
 
iterator begin ()
 
iterator end ()
 
yoi::indexT size () const
 
bool contains (const A &k) const
 

Private Attributes

std::map< A, yoi::indexTindexes
 
std::vector< std::pair< A, B > > values
 

Detailed Description

template<typename A, typename B>
class yoi::indexTable< A, B >

Definition at line 157 of file def.hpp.

Member Function Documentation

◆ begin()

template<typename A , typename B >
iterator begin ( )
inline

Definition at line 291 of file def.hpp.

References indexTable< A, B >::values.

◆ contains()

template<typename A , typename B >
bool contains ( const A &  k) const
inline

Definition at line 297 of file def.hpp.

References indexTable< A, B >::indexes.

◆ end()

template<typename A , typename B >
iterator end ( )
inline

Definition at line 293 of file def.hpp.

References indexTable< A, B >::values.

◆ getIndex() [1/2]

template<typename A , typename B >
yoi::indexT getIndex ( const A &  k)
inline

Definition at line 198 of file def.hpp.

References indexTable< A, B >::indexes.

Referenced by compilerContext::compileModule(), and compilerContext::getModuleIndexByRealPath().

Here is the caller graph for this function:

◆ getIndex() [2/2]

template<typename A , typename B >
yoi::indexT getIndex ( const std::function< bool(const A &)> &  pred)
inline

Definition at line 206 of file def.hpp.

References indexTable< A, B >::values.

◆ getKey()

template<typename A , typename B >
const A & getKey ( yoi::indexT  i) const
inline

Definition at line 215 of file def.hpp.

References indexTable< A, B >::indexes, and indexTable< A, B >::values.

◆ operator[]() [1/2]

template<typename A , typename B >
B & operator[] ( const A &  k)
inline

Definition at line 180 of file def.hpp.

References indexTable< A, B >::indexes, and indexTable< A, B >::values.

◆ operator[]() [2/2]

template<typename A , typename B >
B & operator[] ( yoi::indexT  k)
inline

Definition at line 190 of file def.hpp.

References indexTable< A, B >::indexes, and indexTable< A, B >::values.

◆ put()

template<typename A , typename B >
yoi::indexT put ( const A &  a,
const B &  b 
)
inline

Definition at line 161 of file def.hpp.

References indexTable< A, B >::indexes, and indexTable< A, B >::values.

Referenced by compilerContext::compileModule().

Here is the caller graph for this function:

◆ put_create()

template<typename A , typename B >
yoi::indexT put_create ( const A &  a,
const B &  b 
)
inline

Definition at line 171 of file def.hpp.

References indexTable< A, B >::indexes, and indexTable< A, B >::values.

Referenced by IRFFITable::addExportedFunction(), IREnumerationType::Builder::addValue(), and visitor::getTemplateArgs().

Here is the caller graph for this function:

◆ size() [1/2]

template<typename A , typename B >
yoi::indexT size ( )
inline

Definition at line 222 of file def.hpp.

References indexTable< A, B >::values.

◆ size() [2/2]

template<typename A , typename B >
yoi::indexT size ( ) const
inline

Definition at line 295 of file def.hpp.

References indexTable< A, B >::values.

Member Data Documentation

◆ indexes

◆ values


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