ilasynth  1.0
ILASynth: Template-based ILA Synthesis Engine
Public Member Functions | Static Public Member Functions | Public Attributes | Static Protected Member Functions | Protected Attributes | Private Member Functions | Static Private Attributes | Friends | List of all members
ilasynth::Node Class Reference

#include <node.hpp>

Inheritance diagram for ilasynth::Node:
ilasynth::BitvectorExpr ilasynth::BoolExpr ilasynth::FuncExpr ilasynth::MemExpr ilasynth::BitvectorConst ilasynth::BitvectorOp ilasynth::BitvectorVar ilasynth::BVInRange ilasynth::BoolConst ilasynth::BoolOp ilasynth::BoolVar ilasynth::FuncVar ilasynth::MemConst ilasynth::MemOp ilasynth::MemVar

Public Member Functions

 Node ()
 
 Node (NodeType t)
 
virtual ~Node ()
 
std::string & getName ()
 
const std::string & getName () const
 
const std::string & getRefName () const
 
void setRefName (const std::string &refN)
 
int getId ()
 
NodeType getType ()
 
virtual Nodeclone () const
 
virtual bool equal (const Node *that) const
 
virtual std::ostream & write (std::ostream &out) const
 
virtual py::object getValue () const
 
virtual bool isConstant () const
 
template<class F >
void depthFirstVisit (F &func) const
 
void getSupportVars (nodeset_t &sup)
 
void visit (NodeVisitorI &vi)
 
virtual unsigned nArgs () const
 
virtual nptr_t arg (unsigned i) const
 
bool hasSynthesisConstructs () const
 

Static Public Member Functions

static nptr_t ite (const nptr_t &cond, const nptr_t &t, const nptr_t &f)
 

Public Attributes

NodeType type
 

Static Protected Member Functions

static void _getSupportVarsHelper (nodeset_t &supp, const Node *n)
 

Protected Attributes

std::string name
 
std::string refName
 
const int id
 
bool hash_inited
 
size_t hash_value
 

Private Member Functions

void _initName ()
 

Static Private Attributes

static int totalObjCnt
 

Friends

class NodeRef
 
class FuncReduction
 
std::size_t hash_value (const Node &nref)
 

Constructor & Destructor Documentation

◆ Node() [1/2]

ilasynth::Node::Node ( )

◆ Node() [2/2]

ilasynth::Node::Node ( NodeType  t)

◆ ~Node()

virtual ilasynth::Node::~Node ( )
virtual

Member Function Documentation

◆ _getSupportVarsHelper()

static void ilasynth::Node::_getSupportVarsHelper ( nodeset_t supp,
const Node n 
)
staticprotected

◆ _initName()

void ilasynth::Node::_initName ( )
private

◆ arg()

virtual nptr_t ilasynth::Node::arg ( unsigned  i) const
virtual

◆ clone()

virtual Node* ilasynth::Node::clone ( ) const
virtual

◆ depthFirstVisit()

template<class F >
void ilasynth::Node::depthFirstVisit ( F &  func) const
inline

◆ equal()

virtual bool ilasynth::Node::equal ( const Node that) const
virtual

◆ getId()

int ilasynth::Node::getId ( )
inline

◆ getName() [1/2]

std::string& ilasynth::Node::getName ( )
inline

◆ getName() [2/2]

const std::string& ilasynth::Node::getName ( ) const
inline

◆ getRefName()

const std::string& ilasynth::Node::getRefName ( ) const
inline

◆ getSupportVars()

void ilasynth::Node::getSupportVars ( nodeset_t sup)

◆ getType()

NodeType ilasynth::Node::getType ( )
inline

◆ getValue()

virtual py::object ilasynth::Node::getValue ( ) const
virtual

◆ hasSynthesisConstructs()

bool ilasynth::Node::hasSynthesisConstructs ( ) const

◆ isConstant()

virtual bool ilasynth::Node::isConstant ( ) const
virtual

◆ ite()

static nptr_t ilasynth::Node::ite ( const nptr_t cond,
const nptr_t t,
const nptr_t f 
)
static

◆ nArgs()

virtual unsigned ilasynth::Node::nArgs ( ) const
virtual

◆ setRefName()

void ilasynth::Node::setRefName ( const std::string &  refN)
inline

◆ visit()

void ilasynth::Node::visit ( NodeVisitorI vi)

◆ write()

virtual std::ostream& ilasynth::Node::write ( std::ostream &  out) const
virtual

Friends And Related Function Documentation

◆ FuncReduction

friend class FuncReduction
friend

◆ hash_value

std::size_t hash_value ( const Node nref)
friend

◆ NodeRef

friend class NodeRef
friend

Member Data Documentation

◆ hash_inited

bool ilasynth::Node::hash_inited
mutableprotected

◆ hash_value

size_t ilasynth::Node::hash_value
mutableprotected

◆ id

const int ilasynth::Node::id
protected

◆ name

std::string ilasynth::Node::name
protected

◆ refName

std::string ilasynth::Node::refName
protected

◆ totalObjCnt

int ilasynth::Node::totalObjCnt
staticprivate

◆ type

NodeType ilasynth::Node::type

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