WPILibC++
unspecified
|
MutableArrayRef - Represent a mutable reference to an array (0 or more elements consecutively in memory), i.e. More...
#include <ArrayRef.h>
Public Types | |
typedef T * | iterator |
typedef std::reverse_iterator< iterator > | reverse_iterator |
![]() | |
typedef const T * | iterator |
typedef const T * | const_iterator |
typedef size_t | size_type |
typedef std::reverse_iterator< iterator > | reverse_iterator |
Public Member Functions | |
MutableArrayRef () | |
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> | |
LLVM_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) const |
slice(n) - Chop off the first N elements of the array. | |
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 > | drop_front (size_t N=1) const |
Drop the first N elements of the array. | |
MutableArrayRef< T > | drop_back (size_t N=1) const |
Operator Overloads | |
T & | operator[] (size_t Index) const |
![]() | |
ArrayRef () | |
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> | |
LLVM_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) const |
slice(n) - Chop off the first N elements of the array. | |
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 > | 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. | |
const T & | operator[] (size_t Index) const |
std::vector< T > | vec () const |
operator std::vector< T > () const | |
MutableArrayRef - Represent a mutable reference to an array (0 or more elements consecutively in memory), i.e.
a start pointer and a length. It allows various APIs to take and modify consecutive elements easily and conveniently.
This class does not own the underlying data, it is expected to be used in situations where the data resides in some other buffer, whose lifetime extends past that of the MutableArrayRef. For this reason, it is not in general safe to store a MutableArrayRef.
This is intended to be trivially copyable, so it should be passed by value.
|
inline |
slice(n, m) - Chop off the first N elements of the array, and keep M elements in the array.