WPILibC++
2018.4.1-20180730003225-1150-g0a0d924
|
This is a MutableArrayRef that owns its array. More...
#include <ArrayRef.h>
Public Member Functions | |
OwningArrayRef (size_t Size) | |
OwningArrayRef (ArrayRef< T > Data) | |
OwningArrayRef (OwningArrayRef &&Other) | |
OwningArrayRef & | operator= (OwningArrayRef &&Other) |
![]() | |
MutableArrayRef ()=default | |
Construct an empty MutableArrayRef. | |
MutableArrayRef (NoneType) | |
Construct an empty MutableArrayRef from None. | |
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 |
![]() | |
ArrayRef ()=default | |
Construct an empty ArrayRef. | |
ArrayRef (NoneType) | |
Construct an empty ArrayRef from None. | |
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 | |
![]() | |
using | iterator = T * |
using | reverse_iterator = std::reverse_iterator< iterator > |
![]() | |
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 |
This is a MutableArrayRef that owns its array.