LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | List of all members
llvm::MutableArrayRef< T > Class Template Reference

#include <ArrayRef.h>

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

Public Types

typedef Titerator
 
- Public Types inherited from llvm::ArrayRef< T >
typedef const Titerator
 
typedef const Tconst_iterator
 
typedef size_t size_type
 
typedef std::reverse_iterator
< iterator
reverse_iterator
 

Public Member Functions

 MutableArrayRef ()
 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>
 MutableArrayRef (T(&Arr)[N])
 Construct an MutableArrayRef from a C array. More...
 
Tdata () const
 
iterator begin () const
 
iterator end () const
 
Tfront () const
 front - Get the first element. More...
 
Tback () const
 back - Get the last element. More...
 
MutableArrayRef< Tslice (unsigned N) const
 slice(n) - Chop off the first N elements of the array. More...
 
MutableArrayRef< Tslice (unsigned N, unsigned M) const
 
Operator Overloads
Toperator[] (size_t Index) const
 
- Public Member Functions inherited from llvm::ArrayRef< T >
 ArrayRef ()
 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)
 
template<typename A >
 ArrayRef (const std::vector< T, A > &Vec)
 Construct an ArrayRef from a std::vector. More...
 
template<size_t N>
LLVM_CONSTEXPR ArrayRef (const T(&Arr)[N])
 Construct an ArrayRef from a C array. 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...
 
bool equals (ArrayRef RHS) const
 equals - Check for element-wise equality. More...
 
ArrayRef< Tslice (unsigned N) const
 slice(n) - Chop off the first N elements of the array. More...
 
ArrayRef< Tslice (unsigned N, unsigned M) const
 
const Toperator[] (size_t Index) const
 
std::vector< Tvec () const
 
 operator std::vector< T > () const
 

Detailed Description

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

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.

Definition at line 184 of file ArrayRef.h.

Member Typedef Documentation

template<typename T>
typedef T* llvm::MutableArrayRef< T >::iterator

Definition at line 186 of file ArrayRef.h.

Constructor & Destructor Documentation

template<typename T>
llvm::MutableArrayRef< T >::MutableArrayRef ( )
inline

Construct an empty MutableArrayRef.

Definition at line 189 of file ArrayRef.h.

template<typename T>
llvm::MutableArrayRef< T >::MutableArrayRef ( NoneType  )
inline

Construct an empty MutableArrayRef from None.

Definition at line 192 of file ArrayRef.h.

template<typename T>
llvm::MutableArrayRef< T >::MutableArrayRef ( T OneElt)
inline

Construct an MutableArrayRef from a single element.

Definition at line 195 of file ArrayRef.h.

template<typename T>
llvm::MutableArrayRef< T >::MutableArrayRef ( T data,
size_t  length 
)
inline

Construct an MutableArrayRef from a pointer and length.

Definition at line 198 of file ArrayRef.h.

template<typename T>
llvm::MutableArrayRef< T >::MutableArrayRef ( T begin,
T end 
)
inline

Construct an MutableArrayRef from a range.

Definition at line 202 of file ArrayRef.h.

template<typename T>
llvm::MutableArrayRef< T >::MutableArrayRef ( SmallVectorImpl< T > &  Vec)
inline

Construct an MutableArrayRef from a SmallVector.

Definition at line 205 of file ArrayRef.h.

template<typename T>
llvm::MutableArrayRef< T >::MutableArrayRef ( std::vector< T > &  Vec)
inline

Construct a MutableArrayRef from a std::vector.

Definition at line 209 of file ArrayRef.h.

template<typename T>
template<size_t N>
llvm::MutableArrayRef< T >::MutableArrayRef ( T(&)  Arr[N])
inline

Construct an MutableArrayRef from a C array.

Definition at line 214 of file ArrayRef.h.

Member Function Documentation

template<typename T>
T& llvm::MutableArrayRef< T >::back ( ) const
inline

back - Get the last element.

Definition at line 229 of file ArrayRef.h.

References llvm::MutableArrayRef< T >::data(), llvm::ArrayRef< T >::empty(), and llvm::ArrayRef< T >::size().

template<typename T>
iterator llvm::MutableArrayRef< T >::begin ( ) const
inline

Definition at line 219 of file ArrayRef.h.

References llvm::MutableArrayRef< T >::data().

template<typename T>
T* llvm::MutableArrayRef< T >::data ( ) const
inline
template<typename T>
iterator llvm::MutableArrayRef< T >::end ( ) const
inline

Definition at line 220 of file ArrayRef.h.

References llvm::MutableArrayRef< T >::data(), and llvm::ArrayRef< T >::size().

template<typename T>
T& llvm::MutableArrayRef< T >::front ( ) const
inline

front - Get the first element.

Definition at line 223 of file ArrayRef.h.

References llvm::MutableArrayRef< T >::data(), and llvm::ArrayRef< T >::empty().

template<typename T>
T& llvm::MutableArrayRef< T >::operator[] ( size_t  Index) const
inline

Definition at line 250 of file ArrayRef.h.

References llvm::MutableArrayRef< T >::data(), and llvm::ArrayRef< T >::size().

template<typename T>
MutableArrayRef<T> llvm::MutableArrayRef< T >::slice ( unsigned  N) const
inline

slice(n) - Chop off the first N elements of the array.

Definition at line 235 of file ArrayRef.h.

References llvm::MutableArrayRef< T >::data(), N, and llvm::ArrayRef< T >::size().

template<typename T>
MutableArrayRef<T> llvm::MutableArrayRef< T >::slice ( unsigned  N,
unsigned  M 
) const
inline

slice(n, m) - Chop off the first N elements of the array, and keep M elements in the array.

Definition at line 242 of file ArrayRef.h.

References llvm::MutableArrayRef< T >::data(), N, and llvm::ArrayRef< T >::size().


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