LLVM API Documentation
#include <ilist.h>
Inheritance diagram for llvm::iplist< NodeTy, Traits >:


Public Types | |
| typedef NodeTy * | pointer |
| typedef const NodeTy * | const_pointer |
| typedef NodeTy & | reference |
| typedef const NodeTy & | const_reference |
| typedef NodeTy | value_type |
| typedef ilist_iterator< NodeTy > | iterator |
| typedef ilist_iterator< const NodeTy > | const_iterator |
| typedef size_t | size_type |
| typedef ptrdiff_t | difference_type |
| typedef std::reverse_iterator< const_iterator > | const_reverse_iterator |
| typedef std::reverse_iterator< iterator > | reverse_iterator |
Public Member Functions | |
| iplist () | |
| ~iplist () | |
| iterator | begin () |
| const_iterator | begin () const |
| iterator | end () |
| const_iterator | end () const |
| reverse_iterator | rbegin () |
| const_reverse_iterator | rbegin () const |
| reverse_iterator | rend () |
| const_reverse_iterator | rend () const |
| size_type | max_size () const |
| bool | empty () const |
| reference | front () |
| const_reference | front () const |
| reference | back () |
| const_reference | back () const |
| void | swap (iplist &RHS) |
| iterator | insert (iterator where, NodeTy *New) |
| NodeTy * | remove (iterator &IT) |
| NodeTy * | remove (const iterator &IT) |
| iterator | erase (iterator where) |
| size_type | size () const |
| iterator | erase (iterator first, iterator last) |
| void | clear () |
| void | push_front (NodeTy *val) |
| void | push_back (NodeTy *val) |
| void | pop_front () |
| void | pop_back () |
| template<class InIt> | |
| void | insert (iterator where, InIt first, InIt last) |
| void | splice (iterator where, iplist &L2) |
| void | splice (iterator where, iplist &L2, iterator first) |
| void | splice (iterator where, iplist &L2, iterator first, iterator last) |
| void | erase (const NodeTy &val) |
| template<class Pr1> | |
| void | erase_if (Pr1 pred) |
| template<class Pr2> | |
| void | unique (Pr2 pred) |
| void | unique () |
| template<class Pr3> | |
| void | merge (iplist &right, Pr3 pred) |
| void | merge (iplist &right) |
| template<class Pr3> | |
| void | sort (Pr3 pred) |
| void | sort () |
| void | reverse () |
This list can be in one of three interesting states: 1. The list may be completely unconstructed. In this case, the head pointer is null. When in this form, any query for an iterator (e.g. begin() or end()) causes the list to transparently change to state #2. 2. The list may be empty, but contain a sentinal for the end iterator. This sentinal is created by the Traits::createSentinel method and is a link in the list. When the list is empty, the pointer in the iplist points to the sentinal. Once the sentinal is constructed, it is not destroyed until the list is. 3. The list may contain actual objects in it, which are stored as a doubly linked list of nodes. One invariant of the list is that the predecessor of the first node in the list always points to the last node in the list, and the successor pointer for the sentinal (which always stays at the end of the list) is always null.
Definition at line 261 of file ilist.h.
|
|||||
|
|
|
|||||
|
|
|
|||||
|
|
|
|||||
|
|
|
|||||
|
|
|
|||||
|
|||||
|
|
|
|||||
|
|
|
|||||
|
|
|
|||||
|
|||||
|
|
|
|||||||||
|
|
|
|||||||||
|
|
|
|||||||||
|
|
|
|||||||||
|
Definition at line 347 of file ilist.h. Referenced by llvm::AliasSetTracker::add(), llvm::AliasSetTracker::getAliasSetForPointer(), and llvm::BasicBlock::getTerminator(). |
|
|||||||||
|
|
|
|||||||||
|
|||||||||
|
|||||||||
|
|||||||||
|
|
|
|||||||||
|
||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||
|
||||||||||||||
|
|
|
|||||||||
|
|
|
|||||||||
|
|
|
||||||||||||||||||||||||
|
||||||||||||||||
|
Reimplemented in llvm::ilist< NodeTy >, llvm::ilist< SDNode >, llvm::ilist< AliasSet >, llvm::ilist< MachineInstr >, llvm::ilist< MachineBasicBlock >, and llvm::ilist< SparseBitVectorElement< ElementSize > >. Definition at line 361 of file ilist.h. Referenced by llvm::Archive::addFileBefore(), ProfilerRS::Duplicate(), llvm::ReplaceInstWithInst(), and SRAGlobal(). |
|
|||||||||
|
|
|
||||||||||
|
|
|
||||||||||||||||||||
|
|
|
|||||||||
|
|
|
|||||||||
|
Definition at line 488 of file ilist.h. Referenced by llvm::BasicBlock::removePredecessor(). |
|
||||||||||
|
Reimplemented in llvm::ilist< NodeTy >, llvm::ilist< SDNode >, llvm::ilist< AliasSet >, llvm::ilist< MachineInstr >, llvm::ilist< MachineBasicBlock >, and llvm::ilist< SparseBitVectorElement< ElementSize > >. Definition at line 487 of file ilist.h. Referenced by Module::getOrInsertFunction(), llvm::Archive::loadArchive(), and llvm::Archive::loadSymbolTable(). |
|
||||||||||
|
Reimplemented in llvm::ilist< NodeTy >, llvm::ilist< SDNode >, llvm::ilist< AliasSet >, llvm::ilist< MachineInstr >, llvm::ilist< MachineBasicBlock >, and llvm::ilist< SparseBitVectorElement< ElementSize > >. Definition at line 486 of file ilist.h. Referenced by llvm::Recycler< MachineBasicBlock >::Deallocate(). |
|
|||||||||
|
|
|
|||||||||
|
|
|
||||||||||
|
|
|
||||||||||
|
Definition at line 376 of file ilist.h. Referenced by llvm::Recycler< MachineBasicBlock >::Allocate(), llvm::Recycler< MachineBasicBlock >::clear(), and llvm::SelectionDAG::RemoveDeadNodes(). |
|
|||||||||
|
|
|
|||||||||
|
|
|
|||||||||
|
|
|
|||||||||
|
Definition at line 465 of file ilist.h. Referenced by llvm::SelectionDAG::AssignTopologicalOrder(), llvm::SelectionDAG::dump(), llvm::AliasSetTracker::print(), and llvm::Recycler< MachineBasicBlock >::PrintStats(). |
|
|||||||||
|
|
|
||||||||||||||
|
|
|
||||||||||||||||||||||||
|
|
|
||||||||||||||||||||
|
|
|
||||||||||||||||
|
Definition at line 503 of file ilist.h. Referenced by llvm::BasicBlock::splitBasicBlock(). |
|
||||||||||
|
Definition at line 356 of file ilist.h. Referenced by std::swap(). |
|
|||||||||
|
|
|
||||||||||||||
|
|