Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::avm2::tracegen::InteractionDefinition Class Reference

#include <interaction_def.hpp>

Public Member Functions

 InteractionDefinition ()=default
 
template<typename InteractionSettings , InteractionType type>
InteractionDefinitionadd (auto &&... args)
 
template<InteractionType type, typename... InteractionSettings>
InteractionDefinitionadd (auto &&... args)
 
std::vector< std::unique_ptr< InteractionBuilderInterface > > get_all_jobs () const
 
std::vector< std::unique_ptr< InteractionBuilderInterface > > get_all_test_jobs () const
 
std::unique_ptr< InteractionBuilderInterfaceget_job (const std::string &interaction_name) const
 
std::unique_ptr< InteractionBuilderInterfaceget_test_job (const std::string &interaction_name) const
 
template<typename InteractionSettings >
std::unique_ptr< InteractionBuilderInterfaceget_test_job () const
 

Private Types

using Factory = std::function< std::unique_ptr< InteractionBuilderInterface >(bool strict)>
 

Private Member Functions

const Factoryget_job_internal (const std::string &interaction_name) const
 

Static Private Member Functions

template<InteractionType type, typename... InteractionSettings>
static Factory get_interaction_factory (auto &&... args)
 

Private Attributes

std::unordered_map< std::string, Factoryinteractions
 

Detailed Description

Definition at line 29 of file interaction_def.hpp.

Member Typedef Documentation

◆ Factory

using bb::avm2::tracegen::InteractionDefinition::Factory = std::function<std::unique_ptr<InteractionBuilderInterface>(bool strict)>
private

Definition at line 62 of file interaction_def.hpp.

Constructor & Destructor Documentation

◆ InteractionDefinition()

bb::avm2::tracegen::InteractionDefinition::InteractionDefinition ( )
default

Member Function Documentation

◆ add() [1/2]

template<typename InteractionSettings , InteractionType type>
InteractionDefinition & bb::avm2::tracegen::InteractionDefinition::add ( auto &&...  args)
inline

Definition at line 34 of file interaction_def.hpp.

◆ add() [2/2]

template<InteractionType type, typename... InteractionSettings>
InteractionDefinition & bb::avm2::tracegen::InteractionDefinition::add ( auto &&...  args)
inline

Definition at line 41 of file interaction_def.hpp.

◆ get_all_jobs()

std::vector< std::unique_ptr< InteractionBuilderInterface > > bb::avm2::tracegen::InteractionDefinition::get_all_jobs ( ) const

Definition at line 5 of file interaction_def.cpp.

◆ get_all_test_jobs()

std::vector< std::unique_ptr< InteractionBuilderInterface > > bb::avm2::tracegen::InteractionDefinition::get_all_test_jobs ( ) const

Definition at line 15 of file interaction_def.cpp.

◆ get_interaction_factory()

template<InteractionType type, typename... InteractionSettings>
static Factory bb::avm2::tracegen::InteractionDefinition::get_interaction_factory ( auto &&...  args)
inlinestaticprivate

Definition at line 66 of file interaction_def.hpp.

◆ get_job()

std::unique_ptr< InteractionBuilderInterface > bb::avm2::tracegen::InteractionDefinition::get_job ( const std::string &  interaction_name) const

Definition at line 25 of file interaction_def.cpp.

◆ get_job_internal()

const InteractionDefinition::Factory & bb::avm2::tracegen::InteractionDefinition::get_job_internal ( const std::string &  interaction_name) const
private

Definition at line 36 of file interaction_def.cpp.

◆ get_test_job() [1/2]

template<typename InteractionSettings >
std::unique_ptr< InteractionBuilderInterface > bb::avm2::tracegen::InteractionDefinition::get_test_job ( ) const
inline

Definition at line 56 of file interaction_def.hpp.

◆ get_test_job() [2/2]

std::unique_ptr< InteractionBuilderInterface > bb::avm2::tracegen::InteractionDefinition::get_test_job ( const std::string &  interaction_name) const

Definition at line 30 of file interaction_def.cpp.

Member Data Documentation

◆ interactions

std::unordered_map<std::string, Factory> bb::avm2::tracegen::InteractionDefinition::interactions
private

Definition at line 63 of file interaction_def.hpp.


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