LLVM  mainline
Classes | Namespaces | Functions
SmallVector.h File Reference
#include "llvm/ADT/iterator_range.h"
#include "llvm/Support/AlignOf.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/type_traits.h"
#include <algorithm>
#include <cassert>
#include <cstddef>
#include <cstdlib>
#include <cstring>
#include <initializer_list>
#include <iterator>
#include <memory>
Include dependency graph for SmallVector.h:

Go to the source code of this file.

Classes

class  llvm::SmallVectorBase
 This is all the non-templated stuff common to all SmallVectors. More...
class  llvm::SmallVectorTemplateCommon< T, typename >
 This is the part of SmallVectorTemplateBase which does not depend on whether the type T is a POD. More...
class  llvm::SmallVectorTemplateBase< T, isPodLike >
 SmallVectorTemplateBase<isPodLike = false> - This is where we put method implementations that are designed to work with non-POD-like T's. More...
class  llvm::SmallVectorTemplateBase< T, true >
 SmallVectorTemplateBase<isPodLike = true> - This is where we put method implementations that are designed to work with POD-like T's. More...
class  llvm::SmallVectorImpl< T >
 This class consists of common code factored out of the SmallVector class to reduce code duplication based on the SmallVector 'N' template parameter. More...
struct  llvm::SmallVectorStorage< T, N >
 Storage for the SmallVector elements which aren't contained in SmallVectorTemplateCommon. More...
struct  llvm::SmallVectorStorage< T, 1 >
struct  llvm::SmallVectorStorage< T, 0 >
class  llvm::SmallVector< T, N >
 This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small. More...

Namespaces

namespace  llvm
 

Compute iterated dominance frontiers using a linear time algorithm.


namespace  std

Functions

template<typename T , unsigned N>
static size_t llvm::capacity_in_bytes (const SmallVector< T, N > &X)
template<typename T >
void std::swap (llvm::SmallVectorImpl< T > &LHS, llvm::SmallVectorImpl< T > &RHS)
 Implement std::swap in terms of SmallVector swap.
template<typename T , unsigned N>
void std::swap (llvm::SmallVector< T, N > &LHS, llvm::SmallVector< T, N > &RHS)
 Implement std::swap in terms of SmallVector swap.