CIRCT  18.0.0git
Public Member Functions | Private Member Functions | Private Attributes | List of all members
circt::ExportSystemC::EmissionPatternSet< PatternTy > Class Template Reference

This class collects a set of emission patterns with base type 'PatternTy'. More...

#include <EmissionPattern.h>

Collaboration diagram for circt::ExportSystemC::EmissionPatternSet< PatternTy >:
Collaboration graph
[legend]

Public Member Functions

template<typename... Es, typename ConstructorArg , typename... ConstructorArgs, typename = std::enable_if_t<sizeof...(Es) != 0>>
void add (ConstructorArg &&arg, ConstructorArgs &&...args)
 Add a new emission pattern that requires additional constructor arguments to this set. More...
 
template<typename... Es, typename = std::enable_if_t<sizeof...(Es) != 0>>
void add ()
 Add a new emission pattern to the set. More...
 
std::vector< std::unique_ptr< PatternTy > > & getNativePatterns ()
 Get all the emission patterns added to this set. More...
 

Private Member Functions

template<typename E , typename... Args>
std::enable_if_t< std::is_base_of< PatternTy, E >::valueaddImpl (Args &&...args)
 

Private Attributes

std::vector< std::unique_ptr< PatternTy > > patterns
 

Detailed Description

template<typename PatternTy>
class circt::ExportSystemC::EmissionPatternSet< PatternTy >

This class collects a set of emission patterns with base type 'PatternTy'.

Definition at line 237 of file EmissionPattern.h.

Member Function Documentation

◆ add() [1/2]

template<typename PatternTy >
template<typename... Es, typename = std::enable_if_t<sizeof...(Es) != 0>>
void circt::ExportSystemC::EmissionPatternSet< PatternTy >::add ( )
inline

Add a new emission pattern to the set.

Definition at line 253 of file EmissionPattern.h.

◆ add() [2/2]

template<typename PatternTy >
template<typename... Es, typename ConstructorArg , typename... ConstructorArgs, typename = std::enable_if_t<sizeof...(Es) != 0>>
void circt::ExportSystemC::EmissionPatternSet< PatternTy >::add ( ConstructorArg &&  arg,
ConstructorArgs &&...  args 
)
inline

Add a new emission pattern that requires additional constructor arguments to this set.

Definition at line 244 of file EmissionPattern.h.

◆ addImpl()

template<typename PatternTy >
template<typename E , typename... Args>
std::enable_if_t<std::is_base_of<PatternTy, E>::value> circt::ExportSystemC::EmissionPatternSet< PatternTy >::addImpl ( Args &&...  args)
inlineprivate

Definition at line 265 of file EmissionPattern.h.

◆ getNativePatterns()

template<typename PatternTy >
std::vector<std::unique_ptr<PatternTy> >& circt::ExportSystemC::EmissionPatternSet< PatternTy >::getNativePatterns ( )
inline

Get all the emission patterns added to this set.

Definition at line 258 of file EmissionPattern.h.

References circt::ExportSystemC::EmissionPatternSet< PatternTy >::patterns.

Member Data Documentation

◆ patterns

template<typename PatternTy >
std::vector<std::unique_ptr<PatternTy> > circt::ExportSystemC::EmissionPatternSet< PatternTy >::patterns
private

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