LLVM  6.0.0svn
Classes | Namespaces | Functions
ArrayRef.h File Reference
#include "llvm/ADT/Hashing.h"
#include "llvm/ADT/None.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/Support/Compiler.h"
#include <algorithm>
#include <array>
#include <cassert>
#include <cstddef>
#include <initializer_list>
#include <iterator>
#include <memory>
#include <type_traits>
#include <vector>
Include dependency graph for ArrayRef.h:

Go to the source code of this file.

Classes

class  llvm::ArrayRef< T >
 ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory), i.e. More...
 
class  llvm::MutableArrayRef< T >
 MutableArrayRef - Represent a mutable reference to an array (0 or more elements consecutively in memory), i.e. More...
 
class  llvm::OwningArrayRef< T >
 This is a MutableArrayRef that owns its array. More...
 
struct  llvm::isPodLike< T >
 isPodLike - This is a type trait that is used to determine whether a given type can be copied around with memcpy instead of running ctors etc. More...
 
struct  llvm::isPodLike< ArrayRef< T > >
 

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 

Functions

template<typename T >
hash_code llvm::hash_value (ArrayRef< T > S)
 
ArrayRef Convenience constructors
template<typename T >
ArrayRef< Tllvm::makeArrayRef (const T &OneElt)
 Construct an ArrayRef from a single element. More...
 
template<typename T >
ArrayRef< Tllvm::makeArrayRef (const T *data, size_t length)
 Construct an ArrayRef from a pointer and length. More...
 
template<typename T >
ArrayRef< Tllvm::makeArrayRef (const T *begin, const T *end)
 Construct an ArrayRef from a range. More...
 
template<typename T >
ArrayRef< Tllvm::makeArrayRef (const SmallVectorImpl< T > &Vec)
 Construct an ArrayRef from a SmallVector. More...
 
template<typename T , unsigned N>
ArrayRef< Tllvm::makeArrayRef (const SmallVector< T, N > &Vec)
 Construct an ArrayRef from a SmallVector. More...
 
template<typename T >
ArrayRef< Tllvm::makeArrayRef (const std::vector< T > &Vec)
 Construct an ArrayRef from a std::vector. More...
 
template<typename T >
ArrayRef< Tllvm::makeArrayRef (const ArrayRef< T > &Vec)
 Construct an ArrayRef from an ArrayRef (no-op) (const) More...
 
template<typename T >
ArrayRef< T > & llvm::makeArrayRef (ArrayRef< T > &Vec)
 Construct an ArrayRef from an ArrayRef (no-op) More...
 
template<typename T , size_t N>
ArrayRef< Tllvm::makeArrayRef (const T(&Arr)[N])
 Construct an ArrayRef from a C array. More...
 
template<typename T >
MutableArrayRef< Tllvm::makeMutableArrayRef (T &OneElt)
 Construct a MutableArrayRef from a single element. More...
 
template<typename T >
MutableArrayRef< Tllvm::makeMutableArrayRef (T *data, size_t length)
 Construct a MutableArrayRef from a pointer and length. More...
 
ArrayRef Comparison Operators
template<typename T >
bool llvm::operator== (ArrayRef< T > LHS, ArrayRef< T > RHS)
 
template<typename T >
bool llvm::operator!= (ArrayRef< T > LHS, ArrayRef< T > RHS)