Advanced Multi-Physics (AMP)
On-Line Documentation
Public Types | Public Member Functions | Static Public Attributes | Protected Attributes | List of all members
AMP::Solver::AMG::span< T, Extent > Struct Template Reference

#include <Util.h>

Inheritance diagram for AMP::Solver::AMG::span< T, Extent >:
Inheritance graph
[legend]

Public Types

using const_pointer = const T *
 
using const_reference = const T &
 
using difference_type = std::ptrdiff_t
 
using element_type = T
 
using iterator = T *
 
using pointer = T *
 
using reference = T &
 
using reverse_iterator = std::reverse_iterator< iterator >
 
using size_type = std::size_t
 
using value_type = typename std::remove_cv_t< T >
 

Public Member Functions

constexpr reference back () const
 
constexpr iterator begin () const noexcept
 
constexpr pointer data () const noexcept
 
constexpr bool empty () const noexcept
 
constexpr iterator end () const noexcept
 
template<size_type Count>
constexpr span< T, Count > first () const noexcept
 
constexpr span< T, dynamic_extentfirst (size_type count) const noexcept
 
constexpr reference front () const
 
template<size_type Count>
constexpr span< T, Count > last () const noexcept
 
constexpr span< T, dynamic_extentlast (size_type count) const noexcept
 
constexpr reference operator[] (size_type idx) const
 
constexpr reverse_iterator rbegin () const noexcept
 
constexpr reverse_iterator rend () const noexcept
 
constexpr size_type size () const noexcept
 
constexpr size_type size_bytes () const noexcept
 
template<std::size_t E = Extent, class = typename std::enable_if_t<E == dynamic_extent || E == 0>>
 span ()
 
constexpr span (pointer p, size_type s)
 
constexpr span< T, dynamic_extentsubspan (size_t offset, size_t count=dynamic_extent) const noexcept
 

Static Public Attributes

static constexpr std::size_t extent = Extent
 

Protected Attributes

pointer b
 
extent_storage< Extent > ext
 

Detailed Description

template<class T, std::size_t Extent = dynamic_extent>
struct AMP::Solver::AMG::span< T, Extent >

Definition at line 30 of file Util.h.

Member Typedef Documentation

◆ const_pointer

template<class T , std::size_t Extent = dynamic_extent>
using AMP::Solver::AMG::span< T, Extent >::const_pointer = const T *

Definition at line 36 of file Util.h.

◆ const_reference

template<class T , std::size_t Extent = dynamic_extent>
using AMP::Solver::AMG::span< T, Extent >::const_reference = const T &

Definition at line 38 of file Util.h.

◆ difference_type

template<class T , std::size_t Extent = dynamic_extent>
using AMP::Solver::AMG::span< T, Extent >::difference_type = std::ptrdiff_t

Definition at line 34 of file Util.h.

◆ element_type

template<class T , std::size_t Extent = dynamic_extent>
using AMP::Solver::AMG::span< T, Extent >::element_type = T

Definition at line 31 of file Util.h.

◆ iterator

template<class T , std::size_t Extent = dynamic_extent>
using AMP::Solver::AMG::span< T, Extent >::iterator = T *

Definition at line 39 of file Util.h.

◆ pointer

template<class T , std::size_t Extent = dynamic_extent>
using AMP::Solver::AMG::span< T, Extent >::pointer = T *

Definition at line 35 of file Util.h.

◆ reference

template<class T , std::size_t Extent = dynamic_extent>
using AMP::Solver::AMG::span< T, Extent >::reference = T &

Definition at line 37 of file Util.h.

◆ reverse_iterator

template<class T , std::size_t Extent = dynamic_extent>
using AMP::Solver::AMG::span< T, Extent >::reverse_iterator = std::reverse_iterator<iterator>

Definition at line 40 of file Util.h.

◆ size_type

template<class T , std::size_t Extent = dynamic_extent>
using AMP::Solver::AMG::span< T, Extent >::size_type = std::size_t

Definition at line 33 of file Util.h.

◆ value_type

template<class T , std::size_t Extent = dynamic_extent>
using AMP::Solver::AMG::span< T, Extent >::value_type = typename std::remove_cv_t<T>

Definition at line 32 of file Util.h.

Constructor & Destructor Documentation

◆ span() [1/2]

template<class T , std::size_t Extent = dynamic_extent>
template<std::size_t E = Extent, class = typename std::enable_if_t<E == dynamic_extent || E == 0>>
AMP::Solver::AMG::span< T, Extent >::span ( )
inline

Definition at line 47 of file Util.h.

◆ span() [2/2]

template<class T , std::size_t Extent = dynamic_extent>
constexpr AMP::Solver::AMG::span< T, Extent >::span ( pointer  p,
size_type  s 
)
inlineconstexpr

Definition at line 51 of file Util.h.

Member Function Documentation

◆ back()

template<class T , std::size_t Extent = dynamic_extent>
constexpr reference AMP::Solver::AMG::span< T, Extent >::back ( ) const
inlineconstexpr

◆ begin()

template<class T , std::size_t Extent = dynamic_extent>
constexpr iterator AMP::Solver::AMG::span< T, Extent >::begin ( ) const
inlineconstexprnoexcept

◆ data()

template<class T , std::size_t Extent = dynamic_extent>
constexpr pointer AMP::Solver::AMG::span< T, Extent >::data ( ) const
inlineconstexprnoexcept

◆ empty()

template<class T , std::size_t Extent = dynamic_extent>
constexpr bool AMP::Solver::AMG::span< T, Extent >::empty ( ) const
inlineconstexprnoexcept

Definition at line 73 of file Util.h.

References AMP::Solver::AMG::span< T, Extent >::size().

◆ end()

template<class T , std::size_t Extent = dynamic_extent>
constexpr iterator AMP::Solver::AMG::span< T, Extent >::end ( ) const
inlineconstexprnoexcept

◆ first() [1/2]

template<class T , std::size_t Extent = dynamic_extent>
template<size_type Count>
constexpr span< T, Count > AMP::Solver::AMG::span< T, Extent >::first ( ) const
inlineconstexprnoexcept

Definition at line 76 of file Util.h.

References AMP::Solver::AMG::span< T, Extent >::b.

◆ first() [2/2]

template<class T , std::size_t Extent = dynamic_extent>
constexpr span< T, dynamic_extent > AMP::Solver::AMG::span< T, Extent >::first ( size_type  count) const
inlineconstexprnoexcept

Definition at line 81 of file Util.h.

References AMP::Solver::AMG::span< T, Extent >::data().

◆ front()

template<class T , std::size_t Extent = dynamic_extent>
constexpr reference AMP::Solver::AMG::span< T, Extent >::front ( ) const
inlineconstexpr

Definition at line 61 of file Util.h.

References AMP::Solver::AMG::span< T, Extent >::b.

◆ last() [1/2]

template<class T , std::size_t Extent = dynamic_extent>
template<size_type Count>
constexpr span< T, Count > AMP::Solver::AMG::span< T, Extent >::last ( ) const
inlineconstexprnoexcept

◆ last() [2/2]

template<class T , std::size_t Extent = dynamic_extent>
constexpr span< T, dynamic_extent > AMP::Solver::AMG::span< T, Extent >::last ( size_type  count) const
inlineconstexprnoexcept

◆ operator[]()

template<class T , std::size_t Extent = dynamic_extent>
constexpr reference AMP::Solver::AMG::span< T, Extent >::operator[] ( size_type  idx) const
inlineconstexpr

Definition at line 65 of file Util.h.

References AMP::Solver::AMG::span< T, Extent >::begin().

◆ rbegin()

template<class T , std::size_t Extent = dynamic_extent>
constexpr reverse_iterator AMP::Solver::AMG::span< T, Extent >::rbegin ( ) const
inlineconstexprnoexcept

Definition at line 57 of file Util.h.

References AMP::Solver::AMG::span< T, Extent >::end().

◆ rend()

template<class T , std::size_t Extent = dynamic_extent>
constexpr reverse_iterator AMP::Solver::AMG::span< T, Extent >::rend ( ) const
inlineconstexprnoexcept

Definition at line 59 of file Util.h.

References AMP::Solver::AMG::span< T, Extent >::begin().

◆ size()

template<class T , std::size_t Extent = dynamic_extent>
constexpr size_type AMP::Solver::AMG::span< T, Extent >::size ( ) const
inlineconstexprnoexcept

◆ size_bytes()

template<class T , std::size_t Extent = dynamic_extent>
constexpr size_type AMP::Solver::AMG::span< T, Extent >::size_bytes ( ) const
inlineconstexprnoexcept

Definition at line 71 of file Util.h.

References AMP::Solver::AMG::span< T, Extent >::size().

◆ subspan()

template<class T , std::size_t Extent = dynamic_extent>
constexpr span< T, dynamic_extent > AMP::Solver::AMG::span< T, Extent >::subspan ( size_t  offset,
size_t  count = dynamic_extent 
) const
inlineconstexprnoexcept

Member Data Documentation

◆ b

template<class T , std::size_t Extent = dynamic_extent>
pointer AMP::Solver::AMG::span< T, Extent >::b
protected

◆ ext

template<class T , std::size_t Extent = dynamic_extent>
extent_storage<Extent> AMP::Solver::AMG::span< T, Extent >::ext
protected

Definition at line 110 of file Util.h.

Referenced by AMP::Solver::AMG::span< T, Extent >::size().

◆ extent

template<class T , std::size_t Extent = dynamic_extent>
constexpr std::size_t AMP::Solver::AMG::span< T, Extent >::extent = Extent
staticconstexpr

Definition at line 42 of file Util.h.


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



Advanced Multi-Physics (AMP)
Oak Ridge National Laboratory
Idaho National Laboratory
Los Alamos National Laboratory
This page automatically produced from the
source code by doxygen
Last updated: Tue Mar 10 2026 13:06:45.
Comments on this page