LLVM 22.0.0git
llvm::SymbolTableList< T, Args > Class Template Reference

List that automatically updates parent links and symbol tables. More...

#include "llvm/IR/SymbolTableListTraits.h"

Inheritance diagram for llvm::SymbolTableList< T, Args >:
[legend]

Additional Inherited Members

Public Types inherited from llvm::iplist_impl< simple_ilist< T, Args... >, SymbolTableListTraits< T, Args... > >
typedef base_list_type::pointer pointer
typedef base_list_type::const_pointer const_pointer
typedef base_list_type::reference reference
typedef base_list_type::const_reference const_reference
typedef base_list_type::value_type value_type
typedef base_list_type::size_type size_type
typedef base_list_type::difference_type difference_type
typedef base_list_type::iterator iterator
typedef base_list_type::const_iterator const_iterator
typedef base_list_type::reverse_iterator reverse_iterator
typedef base_list_type::const_reverse_iterator const_reverse_iterator
Public Member Functions inherited from llvm::iplist_impl< simple_ilist< T, Args... >, SymbolTableListTraits< T, Args... > >
 iplist_impl ()=default
iplist_imploperator= (const iplist_impl &)=delete
 ~iplist_impl ()
size_type max_size () const
void swap (iplist_impl &RHS)
iterator insert (iterator where, pointer New)
iterator insertAfter (iterator where, pointer New)
void cloneFrom (const iplist_impl &L2, Cloner clone)
 Clone another list.
pointer remove (iterator &IT)
iterator erase (iterator where)
void clearAndLeakNodesUnsafely ()
 Remove all nodes from the list like clear(), but do not call removeNodeFromList() or deleteNode().
void clear ()
void push_front (pointer val)
void push_back (pointer val)
void pop_front ()
void pop_back ()
void splice (iterator where, iplist_impl &L2)
void merge (iplist_impl &Right, Compare comp)
pointer getPrevNode (reference N) const
 Get the previous node, or nullptr for the list head.
pointer getNextNode (reference N) const
 Get the next node, or nullptr for the list tail.
Public Member Functions inherited from llvm::SymbolTableListTraits< T, Args... >
 SymbolTableListTraits ()=default
void addNodeToList (T *V)
void removeNodeFromList (T *V)
void transferNodesFromList (SymbolTableListTraits &L2, iterator first, iterator last)
void setSymTabObject (TPtr *, TPtr)
 setSymTabObject - This is called when (f.e.) the parent of a basic block changes.
Static Public Member Functions inherited from llvm::SymbolTableListTraits< T, Args... >
static ValueSymbolTabletoPtr (ValueSymbolTable *P)
Static Public Member Functions inherited from llvm::ilist_alloc_traits< T >
static void deleteNode (T *V)

Detailed Description

template<class T, typename... Args>
class llvm::SymbolTableList< T, Args >

List that automatically updates parent links and symbol tables.

When nodes are inserted into and removed from this list, the associated symbol table will be automatically updated. Similarly, parent links get updated automatically.

Definition at line 125 of file SymbolTableListTraits.h.


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