Cerata
A library to generate structural hardware designs
cerata::Expression Member List

This is the complete list of members for cerata::Expression, including all inherited members.

AddEdge(const std::shared_ptr< Edge > &edge) overridecerata::MultiOutputNodevirtual
AppendReferences(std::vector< Object * > *out) const overridecerata::Expressionvirtual
ARRAY enum valuecerata::Object
array() constcerata::Nodeinline
array_cerata::Nodeprotected
Copy() const overridecerata::Expressionvirtual
CopyOnto(Graph *dst, const std::string &name, NodeMap *rebinding) const overridecerata::Expressionvirtual
edges() constcerata::Nodevirtual
EliminateZeroOne(Expression *exp)cerata::Expressionprotectedstatic
Expression(Op op, std::shared_ptr< Node > lhs, std::shared_ptr< Node > rhs)cerata::Expressionprotected
ID enum namecerata::Object
Is(NodeID node_id) constcerata::Nodeinline
IsArray() constcerata::Objectinline
IsNode() constcerata::Objectinline
lhs() constcerata::Expressioninline
lhs_cerata::Expressionprotected
Make(Op op, std::shared_ptr< Node > lhs, std::shared_ptr< Node > rhs)cerata::Expressionstatic
MergeIntLiterals(Expression *exp)cerata::Expressionprotectedstatic
metacerata::Object
Minimize(Node *node)cerata::Expressionprotectedstatic
MultiOutputNode(std::string name, Node::NodeID id, std::shared_ptr< Type > type)cerata::MultiOutputNodeinline
name() constcerata::Namedinline
Named(std::string name)cerata::Namedinlineexplicit
NODE enum valuecerata::Object
Node(std::string name, NodeID id, std::shared_ptr< Type > type)cerata::Node
node_id() constcerata::Nodeinline
node_id_cerata::Nodeprotected
NodeID enum namecerata::Node
num_outputs() constcerata::MultiOutputNodeinline
obj_id() constcerata::Objectinline
obj_id_cerata::Objectprotected
Object(std::string name, ID id)cerata::Objectinlineexplicit
Op enum namecerata::Expression
operation_cerata::Expressionprotected
output(size_t i) constcerata::MultiOutputNodeinline
outputs_cerata::MultiOutputNode
parent() constcerata::Objectvirtual
parent_cerata::Objectprotected
RemoveEdge(Edge *edge) overridecerata::MultiOutputNodevirtual
Replace(Node *replacement)cerata::Node
rhs() constcerata::Expressioninline
rhs_cerata::Expressionprotected
SetArray(NodeArray *array)cerata::Nodeinline
SetName(std::string name)cerata::Namedinline
SetParent(Graph *parent)cerata::Objectvirtual
SetType(const std::shared_ptr< Type > &type)cerata::Node
sinks() const overridecerata::MultiOutputNodeinlinevirtual
sources() const overridecerata::MultiOutputNodeinlinevirtual
ToString() const overridecerata::Expressionvirtual
type() constcerata::Nodeinline
type_cerata::Nodeprotected
~Named()=defaultcerata::Namedvirtual