WPILibC++  2019.3.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
wpi::OwningArrayRef< T > Class Template Reference

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

#include <ArrayRef.h>

Inheritance diagram for wpi::OwningArrayRef< T >:
wpi::MutableArrayRef< T > wpi::ArrayRef< T >

Public Member Functions

 OwningArrayRef (size_t Size)
 
 OwningArrayRef (ArrayRef< T > Data)
 
 OwningArrayRef (OwningArrayRef &&Other)
 
OwningArrayRefoperator= (OwningArrayRef &&Other)
 
- Public Member Functions inherited from wpi::MutableArrayRef< T >
 MutableArrayRef ()=default
 Construct an empty MutableArrayRef.
 
 MutableArrayRef (nullopt_t)
 Construct an empty MutableArrayRef from nullopt.
 
 MutableArrayRef (T &OneElt)
 Construct an MutableArrayRef from a single element.
 
 MutableArrayRef (T *data, size_t length)
 Construct an MutableArrayRef from a pointer and length.
 
 MutableArrayRef (T *begin, T *end)
 Construct an MutableArrayRef from a range.
 
 MutableArrayRef (SmallVectorImpl< T > &Vec)
 Construct an MutableArrayRef from a SmallVector.
 
 MutableArrayRef (std::vector< T > &Vec)
 Construct a MutableArrayRef from a std::vector.
 
template<size_t N>
constexpr MutableArrayRef (std::array< T, N > &Arr)
 Construct an ArrayRef from a std::array.
 
template<size_t N>
constexpr MutableArrayRef (T(&Arr)[N])
 Construct an MutableArrayRef from a C array.
 
T * data () const
 
iterator begin () const
 
iterator end () const
 
reverse_iterator rbegin () const
 
reverse_iterator rend () const
 
T & front () const
 front - Get the first element.
 
T & back () const
 back - Get the last element.
 
MutableArrayRef< T > slice (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< T > slice (size_t N) const
 slice(n) - Chop off the first N elements of the array.
 
MutableArrayRef< T > drop_front (size_t N=1) const
 Drop the first N elements of the array.
 
MutableArrayRef< T > drop_back (size_t N=1) const
 
template<class PredicateT >
MutableArrayRef< T > drop_while (PredicateT Pred) const
 Return a copy of *this with the first N elements satisfying the given predicate removed. More...
 
template<class PredicateT >
MutableArrayRef< T > drop_until (PredicateT Pred) const
 Return a copy of *this with the first N elements not satisfying the given predicate removed. More...
 
MutableArrayRef< T > take_front (size_t N=1) const
 Return a copy of *this with only the first N elements.
 
MutableArrayRef< T > take_back (size_t N=1) const
 Return a copy of *this with only the last N elements.
 
template<class PredicateT >
MutableArrayRef< T > take_while (PredicateT Pred) const
 Return the first N elements of this Array that satisfy the given predicate. More...
 
template<class PredicateT >
MutableArrayRef< T > take_until (PredicateT Pred) const
 Return the first N elements of this Array that don't satisfy the given predicate. More...
 
T & operator[] (size_t Index) const
 
- Public Member Functions inherited from wpi::ArrayRef< T >
 ArrayRef ()=default
 Construct an empty ArrayRef.
 
 ArrayRef (nullopt_t)
 Construct an empty ArrayRef from nullopt.
 
 ArrayRef (const T &OneElt)
 Construct an ArrayRef from a single element.
 
 ArrayRef (const T *data, size_t length)
 Construct an ArrayRef from a pointer and length.
 
 ArrayRef (const T *begin, const T *end)
 Construct an ArrayRef from a range.
 
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.
 
template<size_t N>
constexpr ArrayRef (const std::array< T, N > &Arr)
 Construct an ArrayRef from a std::array.
 
template<size_t N>
constexpr ArrayRef (const T(&Arr)[N])
 Construct an ArrayRef from a C array.
 
 ArrayRef (const std::initializer_list< T > &Vec)
 Construct an ArrayRef from a std::initializer_list.
 
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.
 
const T * data () const
 
size_t size () const
 size - Get the array size.
 
const T & front () const
 front - Get the first element.
 
const T & back () const
 back - Get the last element.
 
template<typename Allocator >
ArrayRef< T > copy (Allocator &A)
 
bool equals (ArrayRef RHS) const
 equals - Check for element-wise equality.
 
ArrayRef< T > slice (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< T > slice (size_t N) const
 slice(n) - Chop off the first N elements of the array.
 
ArrayRef< T > drop_front (size_t N=1) const
 Drop the first N elements of the array.
 
ArrayRef< T > drop_back (size_t N=1) const
 Drop the last N elements of the array.
 
template<class PredicateT >
ArrayRef< T > drop_while (PredicateT Pred) const
 Return a copy of *this with the first N elements satisfying the given predicate removed. More...
 
template<class PredicateT >
ArrayRef< T > drop_until (PredicateT Pred) const
 Return a copy of *this with the first N elements not satisfying the given predicate removed. More...
 
ArrayRef< T > take_front (size_t N=1) const
 Return a copy of *this with only the first N elements.
 
ArrayRef< T > take_back (size_t N=1) const
 Return a copy of *this with only the last N elements.
 
template<class PredicateT >
ArrayRef< T > take_while (PredicateT Pred) const
 Return the first N elements of this Array that satisfy the given predicate. More...
 
template<class PredicateT >
ArrayRef< T > take_until (PredicateT Pred) const
 Return the first N elements of this Array that don't satisfy the given predicate. More...
 
const T & operator[] (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< T > vec () const
 
 operator std::vector< T > () const
 

Additional Inherited Members

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

Detailed Description

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

This is a MutableArrayRef that owns its array.


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