LLVM  6.0.0svn
Public Member Functions | List of all members
llvm::OwningArrayRef< T > Class Template Reference

This is a MutableArrayRef that owns its array. More...

#include "llvm/ADT/ArrayRef.h"

Inheritance diagram for llvm::OwningArrayRef< T >:
Inheritance graph
[legend]
Collaboration diagram for llvm::OwningArrayRef< T >:
Collaboration graph
[legend]

Public Member Functions

 OwningArrayRef ()=default
 
 OwningArrayRef (size_t Size)
 
 OwningArrayRef (ArrayRef< T > Data)
 
 OwningArrayRef (OwningArrayRef &&Other)
 
OwningArrayRefoperator= (OwningArrayRef &&Other)
 
 ~OwningArrayRef ()
 
- Public Member Functions inherited from llvm::MutableArrayRef< T >
 MutableArrayRef ()=default
 Construct an empty MutableArrayRef. More...
 
 MutableArrayRef (NoneType)
 Construct an empty MutableArrayRef from None. More...
 
 MutableArrayRef (T &OneElt)
 Construct an MutableArrayRef from a single element. More...
 
 MutableArrayRef (T *data, size_t length)
 Construct an MutableArrayRef from a pointer and length. More...
 
 MutableArrayRef (T *begin, T *end)
 Construct an MutableArrayRef from a range. More...
 
 MutableArrayRef (SmallVectorImpl< T > &Vec)
 Construct an MutableArrayRef from a SmallVector. More...
 
 MutableArrayRef (std::vector< T > &Vec)
 Construct a MutableArrayRef from a std::vector. More...
 
template<size_t N>
constexpr MutableArrayRef (std::array< T, N > &Arr)
 Construct an ArrayRef from a std::array. More...
 
template<size_t N>
constexpr MutableArrayRef (T(&Arr)[N])
 Construct an MutableArrayRef from a C array. More...
 
Tdata () const
 
iterator begin () const
 
iterator end () const
 
reverse_iterator rbegin () const
 
reverse_iterator rend () const
 
Tfront () const
 front - Get the first element. More...
 
Tback () const
 back - Get the last element. More...
 
MutableArrayRef< Tslice (size_t N, size_t M) const
 slice(n, m) - Chop off the first N elements of the array, and keep M elements in the array. More...
 
MutableArrayRef< Tslice (size_t N) const
 slice(n) - Chop off the first N elements of the array. More...
 
MutableArrayRef< Tdrop_front (size_t N=1) const
 Drop the first N elements of the array. More...
 
MutableArrayRef< Tdrop_back (size_t N=1) const
 
template<class PredicateT >
MutableArrayRef< Tdrop_while (PredicateT Pred) const
 Return a copy of *this with the first N elements satisfying the given predicate removed. More...
 
template<class PredicateT >
MutableArrayRef< Tdrop_until (PredicateT Pred) const
 Return a copy of *this with the first N elements not satisfying the given predicate removed. More...
 
MutableArrayRef< Ttake_front (size_t N=1) const
 Return a copy of *this with only the first N elements. More...
 
MutableArrayRef< Ttake_back (size_t N=1) const
 Return a copy of *this with only the last N elements. More...
 
template<class PredicateT >
MutableArrayRef< Ttake_while (PredicateT Pred) const
 Return the first N elements of this Array that satisfy the given predicate. More...
 
template<class PredicateT >
MutableArrayRef< Ttake_until (PredicateT Pred) const
 Return the first N elements of this Array that don't satisfy the given predicate. More...
 
Toperator[] (size_t Index) const
 
- Public Member Functions inherited from llvm::ArrayRef< T >
 ArrayRef ()=default
 Construct an empty ArrayRef. More...
 
 ArrayRef (NoneType)
 Construct an empty ArrayRef from None. More...
 
 ArrayRef (const T &OneElt)
 Construct an ArrayRef from a single element. More...
 
 ArrayRef (const T *data, size_t length)
 Construct an ArrayRef from a pointer and length. More...
 
 ArrayRef (const T *begin, const T *end)
 Construct an ArrayRef from a range. More...
 
template<typename U >
 ArrayRef (const SmallVectorTemplateCommon< T, U > &Vec)
 Construct an ArrayRef from a SmallVector. More...
 
template<typename A >
 ArrayRef (const std::vector< T, A > &Vec)
 Construct an ArrayRef from a std::vector. More...
 
template<size_t N>
constexpr ArrayRef (const std::array< T, N > &Arr)
 Construct an ArrayRef from a std::array. More...
 
template<size_t N>
constexpr ArrayRef (const T(&Arr)[N])
 Construct an ArrayRef from a C array. More...
 
 ArrayRef (const std::initializer_list< T > &Vec)
 Construct an ArrayRef from a std::initializer_list. More...
 
template<typename U >
 ArrayRef (const ArrayRef< U *> &A, typename std::enable_if< std::is_convertible< U *const *, T const *>::value >::type *=nullptr)
 Construct an ArrayRef<const T*> from ArrayRef<T*>. More...
 
template<typename U , typename DummyT >
 ArrayRef (const SmallVectorTemplateCommon< U *, DummyT > &Vec, typename std::enable_if< std::is_convertible< U *const *, T const *>::value >::type *=nullptr)
 Construct an ArrayRef<const T*> from a SmallVector<T*>. More...
 
template<typename U , typename A >
 ArrayRef (const std::vector< U *, A > &Vec, typename std::enable_if< std::is_convertible< U *const *, T const *>::value >::type *=0)
 Construct an ArrayRef<const T*> from std::vector<T*>. More...
 
iterator begin () const
 
iterator end () const
 
reverse_iterator rbegin () const
 
reverse_iterator rend () const
 
bool empty () const
 empty - Check if the array is empty. More...
 
const Tdata () const
 
size_t size () const
 size - Get the array size. More...
 
const Tfront () const
 front - Get the first element. More...
 
const Tback () const
 back - Get the last element. More...
 
template<typename Allocator >
ArrayRef< Tcopy (Allocator &A)
 
bool equals (ArrayRef RHS) const
 equals - Check for element-wise equality. More...
 
ArrayRef< Tslice (size_t N, size_t M) const
 slice(n, m) - Chop off the first N elements of the array, and keep M elements in the array. More...
 
ArrayRef< Tslice (size_t N) const
 slice(n) - Chop off the first N elements of the array. More...
 
ArrayRef< Tdrop_front (size_t N=1) const
 Drop the first N elements of the array. More...
 
ArrayRef< Tdrop_back (size_t N=1) const
 Drop the last N elements of the array. More...
 
template<class PredicateT >
ArrayRef< Tdrop_while (PredicateT Pred) const
 Return a copy of *this with the first N elements satisfying the given predicate removed. More...
 
template<class PredicateT >
ArrayRef< Tdrop_until (PredicateT Pred) const
 Return a copy of *this with the first N elements not satisfying the given predicate removed. More...
 
ArrayRef< Ttake_front (size_t N=1) const
 Return a copy of *this with only the first N elements. More...
 
ArrayRef< Ttake_back (size_t N=1) const
 Return a copy of *this with only the last N elements. More...
 
template<class PredicateT >
ArrayRef< Ttake_while (PredicateT Pred) const
 Return the first N elements of this Array that satisfy the given predicate. More...
 
template<class PredicateT >
ArrayRef< Ttake_until (PredicateT Pred) const
 Return the first N elements of this Array that don't satisfy the given predicate. More...
 
const Toperator[] (size_t Index) const
 
template<typename U >
std::enable_if< std::is_same< U, T >::value, ArrayRef< T > >::type & operator= (U &&Temporary)=delete
 Disallow accidental assignment from a temporary. More...
 
template<typename U >
std::enable_if< std::is_same< U, T >::value, ArrayRef< T > >::type & operator= (std::initializer_list< U >)=delete
 Disallow accidental assignment from a temporary. More...
 
std::vector< Tvec () const
 
 operator std::vector< T > () const
 

Additional Inherited Members

- Public Types inherited from llvm::MutableArrayRef< T >
using iterator = T *
 
using reverse_iterator = std::reverse_iterator< iterator >
 
- Public Types inherited from llvm::ArrayRef< T >
using iterator = const T *
 
using const_iterator = const T *
 
using size_type = size_t
 
using reverse_iterator = std::reverse_iterator< iterator >
 

Detailed Description

template<typename T>
class llvm::OwningArrayRef< T >

This is a MutableArrayRef that owns its array.

Definition at line 424 of file ArrayRef.h.

Constructor & Destructor Documentation

◆ OwningArrayRef() [1/4]

template<typename T >
llvm::OwningArrayRef< T >::OwningArrayRef ( )
default

◆ OwningArrayRef() [2/4]

template<typename T >
llvm::OwningArrayRef< T >::OwningArrayRef ( size_t  Size)
inline

Definition at line 427 of file ArrayRef.h.

◆ OwningArrayRef() [3/4]

template<typename T >
llvm::OwningArrayRef< T >::OwningArrayRef ( ArrayRef< T Data)
inline

◆ OwningArrayRef() [4/4]

template<typename T >
llvm::OwningArrayRef< T >::OwningArrayRef ( OwningArrayRef< T > &&  Other)
inline

Definition at line 434 of file ArrayRef.h.

References Other.

◆ ~OwningArrayRef()

template<typename T >
llvm::OwningArrayRef< T >::~OwningArrayRef ( )
inline

Definition at line 443 of file ArrayRef.h.

Member Function Documentation

◆ operator=()

template<typename T >
OwningArrayRef& llvm::OwningArrayRef< T >::operator= ( OwningArrayRef< T > &&  Other)
inline

Definition at line 436 of file ArrayRef.h.

References llvm::ArrayRef< T >::operator=(), and Other.


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