P4C
The P4 Compiler
Loading...
Searching...
No Matches
P4::IR::VectorBase Class Referenceabstract
Inheritance diagram for P4::IR::VectorBase:
[legend]

Public Types

typedef const Node *const * iterator
 

Public Member Functions

 VectorBase (const VectorBase &)=default
 
 VectorBase (VectorBase &&)=default
 
iterator begin () const
 
virtual bool empty () const =0
 
iterator end () const
 
VectorBaseoperator= (const VectorBase &)=default
 
VectorBaseoperator= (VectorBase &&)=default
 
virtual size_t size () const =0
 
virtual iterator VectorBase_begin () const =0
 
virtual iterator VectorBase_end () const =0
 
- Public Member Functions inherited from P4::IR::Node
 Node (const Node &other)
 
 Node (JSONLoader &json)
 
 Node (Util::SourceInfo si)
 
const Nodeapply (Visitor &&v, const Visitor_Context *ctxt=nullptr) const
 
const Nodeapply (Visitor &v, const Visitor_Context *ctxt=nullptr) const
 
virtual void apply_visitor_loop_revisit (Inspector &v) const
 
virtual void apply_visitor_loop_revisit (Modifier &v) const
 
virtual void apply_visitor_loop_revisit (Transform &v) const
 
virtual void apply_visitor_postorder (Inspector &v) const
 
virtual void apply_visitor_postorder (Modifier &v)
 
virtual const Nodeapply_visitor_postorder (Transform &v)
 
virtual bool apply_visitor_preorder (Inspector &v) const
 
virtual bool apply_visitor_preorder (Modifier &v)
 
virtual const Nodeapply_visitor_preorder (Transform &v)
 
virtual void apply_visitor_revisit (Inspector &v) const
 
virtual void apply_visitor_revisit (Modifier &v, const Node *n) const
 
virtual void apply_visitor_revisit (Transform &v, const Node *n) const
 
virtual Nodeclone () const =0
 
void dbprint (std::ostream &out) const override
 
 DECLARE_TYPEINFO_WITH_TYPEID (Node, NodeKind::Node, INode)
 
virtual void dump_fields (std::ostream &) const
 
virtual bool equiv (const Node &a) const
 
const NodegetNode () const final
 
NodegetNode () final
 
Util::SourceInfo getSourceInfo () const override
 
cstring node_type_name () const override
 
virtual int num_children ()
 
bool operator!= (const Node &n) const
 
Nodeoperator= (const Node &)=default
 
Nodeoperator= (Node &&)=default
 
virtual bool operator== (const Node &a) const
 
Util::JsonObjectsourceInfoJsonObj () const
 
void sourceInfoToJSON (JSONGenerator &json) const
 
void toJSON (JSONGenerator &json) const override
 
cstring toString () const override
 
void traceCreation () const
 
virtual void visit_children (Visitor &)
 
virtual void visit_children (Visitor &) const
 
- Public Member Functions inherited from P4::IR::INode
template<typename T >
std::enable_if_t<!has_static_type_name_v< T >, const T * > checkedTo () const
 
template<typename T >
std::enable_if_t< has_static_type_name_v< T >, const T * > checkedTo () const
 
 DECLARE_TYPEINFO_WITH_TYPEID (INode, NodeKind::INode)
 
virtual const Annotation * getAnnotation (cstring) const
 
virtual void validate () const
 
- Public Member Functions inherited from P4::Util::IHasSourceInfo
- Public Member Functions inherited from P4::IHasDbPrint
void print () const
 
- Public Member Functions inherited from P4::ICastable
template<typename T >
T & as ()
 Tries to convert the class to type T. A BUG occurs if the cast fails.
 
template<typename T >
const T & as () const
 Tries to convert the class to type T. A BUG occurs if the cast fails.
 
template<typename T >
T * checkedTo ()
 Performs a checked cast. A BUG occurs if the cast fails.
 
template<typename T >
const T * checkedTo () const
 Performs a checked cast. A BUG occurs if the cast fails.
 
- Public Member Functions inherited from P4::RTTI::Base
template<typename T >
bool is () const noexcept
 
virtual bool isA (TypeId typeId) const noexcept=0
 
template<typename T >
const T * to () const noexcept
 Same as to, but returns const pointer to T.
 
template<typename T >
T * to () noexcept
 
virtual TypeId typeId () const noexcept=0
 

Protected Member Functions

 VectorBase (JSONLoader &json)
 
 DECLARE_TYPEINFO_WITH_TYPEID (VectorBase, NodeKind::VectorBase, Node)
 
- Protected Member Functions inherited from P4::IR::Node
cstring prepareSourceInfoForJSON (Util::SourceInfo &si, unsigned *lineNumber, unsigned *columnNumber) const
 
void traceVisit (const char *visitor) const
 
- Protected Member Functions inherited from P4::RTTI::Base
virtual const void * toImpl (TypeId typeId) const noexcept=0
 

Additional Inherited Members

- Static Public Member Functions inherited from P4::IR::Node
static cstring static_type_name ()
 
- Public Attributes inherited from P4::IR::Node
int clone_id
 
int id
 
Util::SourceInfo srcInfo
 
- Static Protected Attributes inherited from P4::IR::Node
static int currentId = 0