|
| IndexedVector (const IndexedVector &)=default |
|
| IndexedVector (const safe_vector< const T * > &a) |
|
| IndexedVector (const T *a) |
|
| IndexedVector (const Vector< T > &a) |
|
| IndexedVector (IndexedVector &&)=default |
|
| IndexedVector (JSONLoader &json) |
|
| IndexedVector (std::initializer_list< const T * > a) |
|
template<typename Container > |
iterator | append (const Container &toAppend) |
|
void | clear () |
|
| DECLARE_TYPEINFO_WITH_DISCRIMINATOR (IndexedVector< T >, NodeDiscriminator::IndexedVectorT, T, Vector< T >) |
|
template<class... Args> |
void | emplace_back (Args &&...args) |
|
iterator | erase (iterator i) |
|
const IDeclaration * | getDeclaration (cstring name) const |
|
template<class U > |
const U * | getDeclaration (cstring name) const |
|
const IDeclaration * | getDeclaration (std::string_view name) const |
|
template<class U > |
const U * | getDeclaration (std::string_view name) const |
|
Util::Enumerator< const IDeclaration * > * | getDeclarations () const |
|
iterator | insert (iterator i, const T *v) |
|
template<typename ForwardIter > |
iterator | insert (iterator i, ForwardIter b, ForwardIter e) |
|
cstring | node_type_name () const override |
|
IndexedVector & | operator= (const IndexedVector &)=default |
|
IndexedVector & | operator= (IndexedVector &&)=default |
|
bool | operator== (const IndexedVector &a) const override |
|
bool | operator== (const Node &a) const override |
|
bool | operator== (const Vector< T > &a) const override |
|
void | pop_back () |
|
template<typename Container > |
iterator | prepend (const Container &toAppend) |
|
void | push_back (const T *a) |
|
void | push_back (T *a) |
|
template<class U > |
void | push_back (U &a) |
|
bool | removeByName (cstring name) |
|
iterator | replace (iterator i, const T *v) |
|
void | toJSON (JSONGenerator &json) const override |
|
void | validate () const override |
|
void | visit_children (Visitor &v) const override |
|
void | visit_children (Visitor &v) override |
|
| Vector (const safe_vector< const T * > &a) |
|
| Vector (const T *a) |
|
| Vector (const Vector &)=default |
|
template<class InputIt > |
| Vector (InputIt first, InputIt last) |
|
| Vector (JSONLoader &json) |
|
| Vector (std::initializer_list< const T * > a) |
|
| Vector (Util::Enumerator< const T * > *e) |
|
| Vector (Vector &&)=default |
|
template<typename Container > |
iterator | append (const Container &toAppend) |
|
const T *& | at (size_t idx) |
|
const T *const & | at (size_t idx) const |
|
const T *& | back () |
|
const T *const & | back () const |
|
iterator | begin () |
|
const_iterator | begin () const |
|
void | check_null () const |
|
void | clear () |
|
void | dbprint (std::ostream &out) const override |
|
| DECLARE_TYPEINFO_WITH_DISCRIMINATOR (Vector< T >, NodeDiscriminator::VectorT, T, VectorBase) |
|
template<class... Args> |
void | emplace_back (Args &&...args) |
|
bool | empty () const override |
|
iterator | end () |
|
const_iterator | end () const |
|
bool | equiv (const Node &a_) const override |
|
iterator | erase (iterator i) |
|
iterator | erase (iterator s, iterator e) |
|
const T *& | front () |
|
const T *const & | front () const |
|
Util::Enumerator< const T * > * | getEnumerator () const |
|
iterator | insert (iterator i, const T *v) |
|
template<typename ForwardIter > |
iterator | insert (iterator i, ForwardIter b, ForwardIter e) |
|
iterator | insert (iterator i, size_t n, const T *v) |
|
cstring | node_type_name () const override |
|
template<typename S > |
Util::Enumerator< const S * > * | only () const |
|
Vector & | operator= (const Vector &)=default |
|
Vector & | operator= (Vector &&)=default |
|
bool | operator== (const Node &a) const override |
|
bool | operator== (const Vector &a) const override |
|
const T *& | operator[] (size_t idx) |
|
const T *const & | operator[] (size_t idx) const |
|
virtual void | parallel_visit_children (Visitor &v) |
|
virtual void | parallel_visit_children (Visitor &v) const |
|
void | pop_back () |
|
template<typename Container > |
iterator | prepend (const Container &toAppend) |
|
void | push_back (const T *a) |
|
void | push_back (T *a) |
|
template<class U > |
void | push_back (U &a) |
|
void | pushBackOrAppend (const IR::Node *item) |
|
std::reverse_iterator< iterator > | rbegin () |
|
std::reverse_iterator< const_iterator > | rbegin () const |
|
std::reverse_iterator< iterator > | rend () |
|
std::reverse_iterator< const_iterator > | rend () const |
|
void | resize (size_t sz) |
|
size_t | size () const override |
|
void | toJSON (JSONGenerator &json) const override |
|
VectorBase::iterator | VectorBase_begin () const override |
|
VectorBase::iterator | VectorBase_end () const override |
|
void | visit_children (Visitor &v) const override |
|
void | visit_children (Visitor &v) override |
|
template<class Filter > |
auto | where (Filter f) const |
|
| VectorBase (const VectorBase &)=default |
|
| VectorBase (VectorBase &&)=default |
|
iterator | begin () const |
|
iterator | end () const |
|
VectorBase & | operator= (const VectorBase &)=default |
|
VectorBase & | operator= (VectorBase &&)=default |
|
| Node (const Node &other) |
|
| Node (JSONLoader &json) |
|
| Node (Util::SourceInfo si) |
|
const Node * | apply (Visitor &&v, const Visitor_Context *ctxt=nullptr) const |
|
const Node * | apply (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 Node * | apply_visitor_postorder (Transform &v) |
|
virtual bool | apply_visitor_preorder (Inspector &v) const |
|
virtual bool | apply_visitor_preorder (Modifier &v) |
|
virtual const Node * | apply_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 Node * | clone () const =0 |
|
| DECLARE_TYPEINFO_WITH_TYPEID (Node, NodeKind::Node, INode) |
|
virtual void | dump_fields (std::ostream &) const |
|
const Node * | getNode () const final |
|
Node * | getNode () final |
|
Util::SourceInfo | getSourceInfo () const override |
|
virtual int | num_children () |
|
bool | operator!= (const Node &n) const |
|
Node & | operator= (const Node &)=default |
|
Node & | operator= (Node &&)=default |
|
Util::JsonObject * | sourceInfoJsonObj () const |
|
void | sourceInfoToJSON (JSONGenerator &json) const |
|
cstring | toString () const override |
|
void | traceCreation () const |
|
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) |
|
void | print () const |
|
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.
|
|
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 |
|
template<class T>
class P4::IR::IndexedVector< T >
A Vector which holds objects which are instances of IDeclaration, and keeps an index so that they can be quickly looked up by name.