ATLAS Offline Software
Loading...
Searching...
No Matches
VectorConvertView.h File Reference
Include dependency graph for VectorConvertView.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  columnar::detail::VectorConvertIterator< FunctionType, IteratorType >
 an iterator that does converts members using a passed in function More...
class  columnar::detail::VectorConvertView< FunctionType, ViewType >
 a range view that does converts members using a passed in function More...

Namespaces

namespace  columnar
namespace  columnar::detail

Functions

template<typename FunctionType, typename IteratorType>
 columnar::detail::VectorConvertIterator (FunctionType &&, IteratorType &&) -> VectorConvertIterator< std::remove_cv_t< FunctionType >, std::remove_cv_t< IteratorType > >
template<typename FunctionType, typename ViewType>
 columnar::detail::VectorConvertView (FunctionType &&, ViewType &&) -> VectorConvertView< std::remove_cv_t< FunctionType >, std::remove_cv_t< ViewType > >

Detailed Description

std::vector views and iterators that incorporate a type conversion

If the underlying column is an std::vector, but the access requires a type conversion (e.g. ElementLink or an enum), then I can't just use a std::span to access the data. Instead I rely on this view and iterator to handle the conversion on access. Presumably with C++23 this could be replaced with a range adaptor, but for now I need to do it manually.

Definition in file VectorConvertView.h.