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
 
unsigned 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

References m_base, and m_size.

◆ array_slice() [2/8]

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

References array_slice, m_base, and m_size.

◆ array_slice() [3/8]

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

References m_base, m_size, and size().

◆ array_slice() [4/8]

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

References m_base, m_size, N, and T.

◆ array_slice() [5/8]

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

References m_base, and m_size.

◆ array_slice() [6/8]

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

References m_base, and m_size.

◆ 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

References m_base, and m_size.

◆ array_slice() [8/8]

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

References m_base, and m_size.

Member Function Documentation

◆ back() [1/2]

template<typename T>
array_slice< T >::value_type & array_slice< T >::back ( )
inline

References gcc_checking_assert, m_base, and m_size.

◆ back() [2/2]

template<typename T>
const array_slice< T >::value_type & array_slice< T >::back ( ) const
inline

References gcc_checking_assert, m_base, and m_size.

◆ begin() [1/2]

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

References m_base.

◆ begin() [2/2]

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

References m_base.

◆ empty()

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

References m_size.

◆ end() [1/2]

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

References m_base, and m_size.

◆ end() [2/2]

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

References m_base, and m_size.

◆ front() [1/2]

template<typename T>
array_slice< T >::value_type & array_slice< T >::front ( )
inline

References gcc_checking_assert, m_base, and m_size.

◆ front() [2/2]

template<typename T>
const array_slice< T >::value_type & array_slice< T >::front ( ) const
inline

References gcc_checking_assert, m_base, and m_size.

◆ invalid()

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

References array_slice.

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

◆ is_valid()

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

References m_base, and m_size.

Referenced by branch_prob().

◆ operator[]() [1/2]

template<typename T>
array_slice< T >::value_type & array_slice< T >::operator[] ( unsigned int i)
inline

References gcc_checking_assert, i, m_base, and m_size.

◆ operator[]() [2/2]

template<typename T>
const array_slice< T >::value_type & array_slice< T >::operator[] ( unsigned int i) const
inline

References gcc_checking_assert, i, m_base, and m_size.

◆ size()

◆ size_bytes()

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

References 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: