LLVM  4.0.0
Public Member Functions | List of all members
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 <ilist.h>

Inheritance diagram for llvm::iplist< T, Options >:
[legend]
Collaboration 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_impl (const iplist_impl &)=delete
 
 iplist_impl (iplist_impl &&X)
 
iplist_imploperator= (const iplist_impl &)=delete
 
iplist_imploperator= (iplist_impl &&X)
 
 ~iplist_impl ()
 
size_type max_size () const
 
void swap (iplist_impl &RHS)
 
iterator insert (iterator where, pointer New)
 
iterator insert (iterator where, const_reference New)
 
void insert (iterator where, InIt first, InIt last)
 
iterator insertAfter (iterator where, pointer New)
 
void cloneFrom (const iplist_impl &L2, Cloner clone)
 Clone another list. More...
 
pointer remove (iterator &IT)
 
pointer remove (const iterator &IT)
 
pointer remove (pointer IT)
 
pointer remove (reference IT)
 
iterator erase (iterator where)
 
iterator erase (pointer IT)
 
iterator erase (reference IT)
 
iterator erase (iterator first, iterator last)
 
void clearAndLeakNodesUnsafely ()
 Remove all nodes from the list like clear(), but do not call removeNodeFromList() or deleteNode(). More...
 
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 splice (iterator where, iplist_impl &L2, iterator first)
 
void splice (iterator where, iplist_impl &L2, iterator first, iterator last)
 
void splice (iterator where, iplist_impl &L2, reference N)
 
void splice (iterator where, iplist_impl &L2, pointer N)
 
void merge (iplist_impl &Right, Compare comp)
 
void merge (iplist_impl &Right)
 
pointer getPrevNode (reference N) const
 Get the previous node, or nullptr for the list head. More...
 
const_pointer getPrevNode (const_reference N) const
 Get the previous node, or nullptr for the list head. More...
 
pointer getNextNode (reference N) const
 Get the next node, or nullptr for the list tail. More...
 
const_pointer getNextNode (const_reference N) const
 Get the next node, or nullptr for the list tail. More...
 
- Public Member Functions inherited from llvm::ilist_callback_traits< NodeTy >
void addNodeToList (NodeTy *)
 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. More...
 
void removeNodeFromList (NodeTy *)
 
template<class Iterator >
void transferNodesFromList (ilist_callback_traits &OldList, Iterator, Iterator)
 Callback before transferring nodes to this list. More...
 

Additional Inherited Members

- Public Types inherited from llvm::iplist_impl< simple_ilist< T, Options...>, ilist_traits< T > >
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
 
- Static Public Member Functions inherited from llvm::ilist_alloc_traits< NodeTy >
static void deleteNode (NodeTy *V)
 
- Protected Types inherited from llvm::iplist_impl< simple_ilist< T, Options...>, ilist_traits< T > >
typedef iplist_impl iplist_impl_type
 

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 403 of file ilist.h.

Constructor & Destructor Documentation

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

Definition at line 413 of file ilist.h.

Member Function Documentation

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

Definition at line 414 of file ilist.h.


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