OpenASIP  2.0
Public Member Functions | Private Attributes | List of all members
HDLGenerator::SequentialStatement Class Reference

#include <HDLGenerator.hh>

Inheritance diagram for HDLGenerator::SequentialStatement:
Inheritance graph
Collaboration diagram for HDLGenerator::SequentialStatement:
Collaboration graph

Public Member Functions

 SequentialStatement (std::string name)
 
virtual void hdl (std::ostream &stream, Language lang, int level)
 
- Public Member Functions inherited from HDLGenerator::Generatable
 Generatable (std::string name)
 
virtual ~Generatable ()=default
 
virtual void build ()
 
virtual void reads (const std::string &var)
 
virtual void reads (const LHSValue &var)
 
virtual void writes (const std::string &var)
 
virtual RegistergetRegister (const std::string &var)
 
virtual bool hasOption (const std::string &var)
 
virtual bool isRegister (const std::string &name)
 
virtual bool isVariable (const std::string &name)
 
virtual bool isConstant (const std::string &name)
 
virtual Width width (const std::string &name)
 
int integerWidth (const std::string &name)
 
virtual WireType wireType (const std::string &name)
 
virtual Width width ()
 
virtual WireType wireType () const
 
virtual void hdl (std::ostream &stream, Language lang)
 
virtual void implementAll (std::ostream &stream, Language lang)
 
virtual void implementAll (std::ostream &stream, Language lang, int indent)
 
template<typename Func >
void forAll (Func func)
 
template<typename Type , typename Func >
void forAll (Func func)
 
template<class Type >
bool parentIs ()
 
template<class Type >
Type * parentType ()
 
void pushComponent (std::shared_ptr< Generatable > c)
 
template<class Component >
void addComponent (Component c)
 
const std::string & name () const noexcept
 
void setParent (Generatable *parent) noexcept
 
Generatableparent () const noexcept
 

Private Attributes

std::string altname
 

Detailed Description

Base class for concurrent statements and code blocks

Definition at line 121 of file HDLGenerator.hh.

Constructor & Destructor Documentation

◆ SequentialStatement()

HDLGenerator::SequentialStatement::SequentialStatement ( std::string  name)
inline

Definition at line 123 of file HDLGenerator.hh.

Member Function Documentation

◆ hdl()

virtual void HDLGenerator::SequentialStatement::hdl ( std::ostream &  stream,
Language  lang,
int  level 
)
inlinevirtual

Reimplemented from HDLGenerator::Generatable.

Reimplemented in HDLGenerator::CodeBlock, HDLGenerator::If, HDLGenerator::Switch, HDLGenerator::Assign, HDLGenerator::DefaultAssign, HDLGenerator::HDLOperation, and HDLGenerator::RawCodeLine.

Definition at line 125 of file HDLGenerator.hh.

125  {
126  (void)stream;
127  (void)lang;
128  (void)level;
129  std::string err =
130  std::string("Attempted to generate virtual class");
131  throw std::runtime_error(err);
132  }

Member Data Documentation

◆ altname

std::string HDLGenerator::SequentialStatement::altname
private

Definition at line 134 of file HDLGenerator.hh.


The documentation for this class was generated from the following file:
HDLGenerator::Generatable::Generatable
Generatable(std::string name)
Definition: Generatable.hh:53
HDLGenerator::SequentialStatement::altname
std::string altname
Definition: HDLGenerator.hh:134
HDLGenerator::Generatable::name
const std::string & name() const noexcept
Definition: Generatable.hh:239