Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Classes | Namespaces | Functions
VectorConvertView.h File Reference
#include <ColumnarCore/ColumnAccessor.h>
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

 columnar
 
 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

<tt>std::vector</tt> 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.