GCC Middle and Back End API Reference
array_slice< T > Class Template Reference

#include <vec.h>

Inheritance diagram for array_slice< T >:

Public Types

using value_type = T
 
using iterator = T *
 
using const_iterator = const T *
 

Public Member Functions

 array_slice ()
 
template<typename OtherT >
 array_slice (array_slice< OtherT > other)
 
 array_slice (iterator base, unsigned int size)
 
template<size_t N>
 array_slice (T(&array)[N])
 
template<typename OtherT >
 array_slice (const vec< OtherT > &v)
 
template<typename OtherT >
 array_slice (vec< OtherT > &v)
 
template<typename OtherT , typename A >
 array_slice (const vec< OtherT, A, vl_embed > *v)
 
template<typename OtherT , typename A >
 array_slice (vec< OtherT, A, vl_embed > *v)
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
value_typefront ()
 
value_typeback ()
 
value_typeoperator[] (unsigned int i)
 
const value_typefront () const
 
const value_typeback () const
 
const value_typeoperator[] (unsigned int i) const
 
size_t size () const
 
size_t size_bytes () const
 
bool empty () const
 
bool is_valid () const
 

Static Public Member Functions

static array_slice invalid ()
 

Private Attributes

iterator m_base
 
unsigned int m_size
 

Friends

template<typename OtherT >
class array_slice
 

Member Typedef Documentation

◆ const_iterator

template<typename T >
using array_slice< T >::const_iterator = const T *

◆ iterator

template<typename T >
using array_slice< T >::iterator = T *

◆ value_type

template<typename T >
using array_slice< T >::value_type = T

Constructor & Destructor Documentation

◆ array_slice() [1/8]

template<typename T >
array_slice< T >::array_slice ( )
inline

◆ array_slice() [2/8]

template<typename T >
template<typename OtherT >
array_slice< T >::array_slice ( array_slice< OtherT > other)
inline

◆ array_slice() [3/8]

template<typename T >
array_slice< T >::array_slice ( iterator base,
unsigned int size )
inline

◆ array_slice() [4/8]

template<typename T >
template<size_t N>
array_slice< T >::array_slice ( T(&) array[N])
inline

◆ array_slice() [5/8]

template<typename T >
template<typename OtherT >
array_slice< T >::array_slice ( const vec< OtherT > & v)
inline

◆ array_slice() [6/8]

template<typename T >
template<typename OtherT >
array_slice< T >::array_slice ( vec< OtherT > & v)
inline

◆ array_slice() [7/8]

template<typename T >
template<typename OtherT , typename A >
array_slice< T >::array_slice ( const vec< OtherT, A, vl_embed > * v)
inline

◆ array_slice() [8/8]

template<typename T >
template<typename OtherT , typename A >
array_slice< T >::array_slice ( vec< OtherT, A, vl_embed > * v)
inline

Member Function Documentation

◆ back() [1/2]

◆ back() [2/2]

◆ begin() [1/2]

◆ begin() [2/2]

template<typename T >
const_iterator array_slice< T >::begin ( ) const
inline

◆ empty()

template<typename T >
bool array_slice< T >::empty ( ) const
inline

◆ end() [1/2]

◆ end() [2/2]

template<typename T >
const_iterator array_slice< T >::end ( ) const
inline

◆ front() [1/2]

◆ front() [2/2]

◆ invalid()

template<typename T >
static array_slice array_slice< T >::invalid ( )
inlinestatic

References ggc_alloc().

Referenced by cov_blocks(), cov_maps(), and cov_masks().

◆ is_valid()

template<typename T >
bool array_slice< T >::is_valid ( ) const
inline

◆ operator[]() [1/2]

◆ operator[]() [2/2]

◆ size()

template<typename T >
size_t array_slice< T >::size ( ) const
inline

◆ size_bytes()

template<typename T >
size_t array_slice< T >::size_bytes ( ) const
inline

References array_slice< T >::m_size, and T.

Friends And Related Symbol Documentation

◆ array_slice

template<typename T >
template<typename OtherT >
friend class array_slice
friend

Field Documentation

◆ m_base

◆ m_size


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