LLVM  6.0.0svn
Classes | Namespaces | Typedefs | Functions
ilist.h File Reference
#include "llvm/ADT/simple_ilist.h"
#include <cassert>
#include <cstddef>
#include <iterator>
Include dependency graph for ilist.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  llvm::ilist_alloc_traits< NodeTy >
 Use delete by default for iplist and ilist. More...
 
struct  llvm::ilist_noalloc_traits< NodeTy >
 Custom traits to do nothing on deletion. More...
 
struct  llvm::ilist_callback_traits< NodeTy >
 Callbacks do nothing by default in iplist and ilist. More...
 
struct  llvm::ilist_node_traits< NodeTy >
 A fragment for template traits for intrusive list that provides default node related operations. More...
 
struct  llvm::ilist_default_traits< NodeTy >
 Default template traits for intrusive list. More...
 
struct  llvm::ilist_traits< NodeTy >
 Template traits for intrusive list. More...
 
struct  llvm::ilist_traits< const Ty >
 Const traits should never be instantiated. More...
 
struct  llvm::ilist_detail::HasGetNext< TraitsT, NodeT >
 Type trait to check for a traits class that has a getNext member (as a canary for any of the ilist_nextprev_traits API). More...
 
struct  llvm::ilist_detail::HasGetNext< TraitsT, NodeT >::SFINAE< N >
 
struct  llvm::ilist_detail::HasCreateSentinel< TraitsT >
 Type trait to check for a traits class that has a createSentinel member (as a canary for any of the ilist_sentinel_traits API). More...
 
struct  llvm::ilist_detail::HasCreateNode< TraitsT, NodeT >
 Type trait to check for a traits class that has a createNode member. More...
 
struct  llvm::ilist_detail::HasCreateNode< TraitsT, NodeT >::SFINAE< N >
 
struct  llvm::ilist_detail::HasObsoleteCustomization< TraitsT, NodeT >
 
class  llvm::iplist_impl< IntrusiveListT, TraitsT >
 A wrapper around an intrusive list with callbacks and non-intrusive ownership. More...
 
class  llvm::iplist< T, Options >
 An intrusive list with ownership and callbacks specified/controlled by ilist_traits, only with API safe for polymorphic types. More...
 

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 
 llvm::ilist_detail
 
 std
 

Typedefs

template<class T , class... Options>
using llvm::ilist = iplist< T, Options... >
 

Functions

template<class T >
Tllvm::ilist_detail::make ()
 
template<class Ty >
void std::swap (llvm::iplist< Ty > &Left, llvm::iplist< Ty > &Right)