LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
span.h File Reference

An object with a begin and end iterator. More...

#include "boost/iterator/transform_iterator.hpp"
#include <iterator>
#include <type_traits>
#include <utility>

Go to the source code of this file.

Classes

struct  util::span_base
 Non-templated base class for span. More...
 
struct  util::span< BIter, EIter >
 Simple class with a begin and an end. More...
 

Namespaces

 util
 Namespace for general, non-LArSoft-specific utilities.
 

Functions

template<typename IterB , typename IterE , typename Adaptor >
 util::span (IterB &&b, IterE &&e, Adaptor &&adaptor) -> span< decltype(adaptor(std::forward< IterB >(b))), decltype(adaptor(std::forward< IterE >(e))) >
 
Span helper functions
template<typename BIter , typename EIter >
auto util::make_span (BIter begin, EIter end)
 Creates a span from specified iterators (can use constructor instead). More...
 
template<typename Cont >
auto util::make_span (Cont &cont)
 Creates a span from a container type. More...
 
template<typename Cont >
auto util::make_const_span (Cont &cont)
 Creates a span with constant iterator access from a container type. More...
 
Adapted span helper functions
template<typename BIter , typename EIter , typename Adaptor >
auto util::make_adapted_span (BIter begin, EIter end, Adaptor &&adaptor)
 
template<typename Cont , typename Adaptor >
auto util::make_adapted_span (Cont &cont, Adaptor &&adaptor)
 Creates a span from specified collection via an adaptor. More...
 
template<typename Cont , typename Adaptor >
auto util::make_adapted_const_span (Cont &cont, Adaptor &&adaptor)
 Creates constant iteration span from specified collection via an adaptor. More...
 
Transformed span helper functions
template<typename BIter , typename EIter , typename Op >
auto util::make_transformed_span (BIter begin, EIter end, Op &&op)
 
template<typename Cont , typename Op >
auto util::make_transformed_span (Cont &cont, Op &&op)
 Creates a span from specified collection via an adaptor. More...
 
template<typename Cont , typename Op >
auto util::make_transformed_const_span (Cont &cont, Op &&op)
 

Detailed Description

An object with a begin and end iterator.

Author
Gianluca Petrillo (petri.nosp@m.llo@.nosp@m.slac..nosp@m.stan.nosp@m.ford..nosp@m.edu)
Date
January 29, 2019

This library is header only.

Definition in file span.h.