LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
util::span_base Struct Reference

Non-templated base class for span. More...

#include "span.h"

Inheritance diagram for util::span_base:
util::span< BIter, EIter >

Public Types

template<typename Cont >
using get_begin_iterator = std::decay_t< decltype(get_begin(std::declval< Cont >()))>
 Type of begin iterator of Cont type. More...
 
template<typename Cont >
using get_end_iterator = std::decay_t< decltype(get_end(std::declval< Cont >()))>
 Type of end iterator of Cont type. More...
 
template<typename Cont >
using get_cbegin_iterator = std::decay_t< decltype(get_cbegin(std::declval< Cont >()))>
 Type of constant begin iterator of Cont type. More...
 
template<typename Cont >
using get_cend_iterator = std::decay_t< decltype(get_cend(std::declval< Cont >()))>
 Type of constant end iterator of Cont type. More...
 

Static Public Member Functions

template<typename Cont >
static decltype(auto) get_begin (Cont &cont)
 Returns the begin iterator of the specified container. More...
 
template<typename Cont >
static decltype(auto) get_end (Cont &cont)
 Returns the end iterator of the specified container. More...
 
template<typename Cont >
static decltype(auto) get_cbegin (Cont &cont)
 Returns the constant begin iterator of the specified container. More...
 
template<typename Cont >
static decltype(auto) get_cend (Cont &cont)
 Returns the constant end iterator of the specified container. More...
 

Detailed Description

Non-templated base class for span.

Definition at line 24 of file span.h.

Member Typedef Documentation

template<typename Cont >
using util::span_base::get_begin_iterator = std::decay_t<decltype(get_begin(std::declval<Cont>()))>

Type of begin iterator of Cont type.

Definition at line 44 of file span.h.

template<typename Cont >
using util::span_base::get_cbegin_iterator = std::decay_t<decltype(get_cbegin(std::declval<Cont>()))>

Type of constant begin iterator of Cont type.

Definition at line 68 of file span.h.

template<typename Cont >
using util::span_base::get_cend_iterator = std::decay_t<decltype(get_cend(std::declval<Cont>()))>

Type of constant end iterator of Cont type.

Definition at line 72 of file span.h.

template<typename Cont >
using util::span_base::get_end_iterator = std::decay_t<decltype(get_end(std::declval<Cont>()))>

Type of end iterator of Cont type.

Definition at line 48 of file span.h.

Member Function Documentation

template<typename Cont >
static decltype(auto) util::span_base::get_begin ( Cont &  cont)
inlinestatic

Returns the begin iterator of the specified container.

Definition at line 28 of file span.h.

References util::begin().

Referenced by util::make_adapted_span(), util::make_span(), and util::make_transformed_span().

29  {
30  using std::begin;
31  return begin(cont);
32  }
decltype(auto) constexpr begin(T &&obj)
ADL-aware version of std::begin.
Definition: StdUtils.h:69
template<typename Cont >
static decltype(auto) util::span_base::get_cbegin ( Cont &  cont)
inlinestatic

Returns the constant begin iterator of the specified container.

Definition at line 52 of file span.h.

References util::cbegin().

Referenced by util::make_adapted_const_span(), and util::make_const_span().

53  {
54  using std::cbegin;
55  return cbegin(cont);
56  }
decltype(auto) constexpr cbegin(T &&obj)
ADL-aware version of std::cbegin.
Definition: StdUtils.h:85
template<typename Cont >
static decltype(auto) util::span_base::get_cend ( Cont &  cont)
inlinestatic

Returns the constant end iterator of the specified container.

Definition at line 60 of file span.h.

References util::cend().

Referenced by util::make_adapted_const_span(), and util::make_const_span().

61  {
62  using std::cend;
63  return cend(cont);
64  }
decltype(auto) constexpr cend(T &&obj)
ADL-aware version of std::cend.
Definition: StdUtils.h:93
template<typename Cont >
static decltype(auto) util::span_base::get_end ( Cont &  cont)
inlinestatic

Returns the end iterator of the specified container.

Definition at line 36 of file span.h.

References util::end().

Referenced by util::make_adapted_span(), util::make_span(), and util::make_transformed_span().

37  {
38  using std::end;
39  return end(cont);
40  }
decltype(auto) constexpr end(T &&obj)
ADL-aware version of std::end.
Definition: StdUtils.h:77

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