LLVM 22.0.0git
llvm::iplist< T, Options > Class Template Reference

An intrusive list with ownership and callbacks specified/controlled by ilist_traits, only with API safe for polymorphic types. More...

#include "llvm/ADT/ilist.h"

Inheritance diagram for llvm::iplist< T, Options >:
[legend]

Public Member Functions

 iplist ()=default
 iplist (const iplist &X)=delete
iplistoperator= (const iplist &X)=delete
 iplist (iplist &&X)
iplistoperator= (iplist &&X)
Public Member Functions inherited from llvm::iplist_impl< simple_ilist< T, Options... >, ilist_traits< T > >
 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::ilist_callback_traits< T >
void addNodeToList (T *)
 When an MBB is added to an MF, we need to update the parent pointer of the MBB, the MBB numbering, and any instructions in the MBB to be on the right operand list for registers.
void removeNodeFromList (T *)
void transferNodesFromList (ilist_callback_traits &OldList, Iterator, Iterator)
 Callback before transferring nodes to this list.

Additional Inherited Members

Public Types inherited from llvm::iplist_impl< simple_ilist< T, Options... >, ilist_traits< T > >
using pointer
using const_pointer
using reference
using const_reference
using value_type
using size_type
using difference_type
using iterator
using const_iterator
using reverse_iterator
using const_reverse_iterator
Static Public Member Functions inherited from llvm::ilist_alloc_traits< T >
static void deleteNode (T *V)

Detailed Description

template<class T, class... Options>
class llvm::iplist< T, Options >

An intrusive list with ownership and callbacks specified/controlled by ilist_traits, only with API safe for polymorphic types.

The Options parameters are the same as those for simple_ilist. See there for a description of what's available.

Definition at line 327 of file ilist.h.

Constructor & Destructor Documentation

◆ iplist() [1/3]

template<class T, class... Options>
llvm::iplist< T, Options >::iplist ( )
default

◆ iplist() [2/3]

template<class T, class... Options>
llvm::iplist< T, Options >::iplist ( const iplist< T, Options > & X)
delete

◆ iplist() [3/3]

template<class T, class... Options>
llvm::iplist< T, Options >::iplist ( iplist< T, Options > && X)
inline

Definition at line 337 of file ilist.h.

Member Function Documentation

◆ operator=() [1/2]

template<class T, class... Options>
iplist & llvm::iplist< T, Options >::operator= ( const iplist< T, Options > & X)
delete

◆ operator=() [2/2]

template<class T, class... Options>
iplist & llvm::iplist< T, Options >::operator= ( iplist< T, Options > && X)
inline

Definition at line 338 of file ilist.h.


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