ATLAS Offline Software
Loading...
Searching...
No Matches
columnar::detail::VectorConvertView< FunctionType, ViewType > Class Template Referencefinal

a range view that does converts members using a passed in function More...

#include <VectorConvertView.h>

Collaboration diagram for columnar::detail::VectorConvertView< FunctionType, ViewType >:

Public Member Functions

 VectorConvertView (const FunctionType &val_function, const ViewType &val_view) noexcept
std::size_t size () const noexcept
decltype(auto) operator[] (std::size_t index) const
auto begin () const noexcept
auto end () const noexcept

Private Attributes

FunctionType m_function
ViewType m_view

Detailed Description

template<typename FunctionType, typename ViewType>
class columnar::detail::VectorConvertView< FunctionType, ViewType >

a range view that does converts members using a passed in function

Definition at line 68 of file VectorConvertView.h.

Constructor & Destructor Documentation

◆ VectorConvertView()

template<typename FunctionType, typename ViewType>
columnar::detail::VectorConvertView< FunctionType, ViewType >::VectorConvertView ( const FunctionType & val_function,
const ViewType & val_view )
inlineexplicitnoexcept

Common Public Members

Definition at line 74 of file VectorConvertView.h.

76 {}
a range view that does converts members using a passed in function

Member Function Documentation

◆ begin()

template<typename FunctionType, typename ViewType>
auto columnar::detail::VectorConvertView< FunctionType, ViewType >::begin ( ) const
inlinenodiscardnoexcept

Definition at line 90 of file VectorConvertView.h.

91 {
92 return VectorConvertIterator (m_function, m_view.begin());
93 }
VectorConvertIterator(FunctionType &&, IteratorType &&) -> VectorConvertIterator< std::decay_t< FunctionType >, std::decay_t< IteratorType > >

◆ end()

template<typename FunctionType, typename ViewType>
auto columnar::detail::VectorConvertView< FunctionType, ViewType >::end ( ) const
inlinenodiscardnoexcept

Definition at line 95 of file VectorConvertView.h.

96 {
98 }

◆ operator[]()

template<typename FunctionType, typename ViewType>
decltype(auto) columnar::detail::VectorConvertView< FunctionType, ViewType >::operator[] ( std::size_t index) const
inlinenodiscard

Definition at line 83 of file VectorConvertView.h.

84 {
85 if (index >= m_view.size()) [[unlikely]]
86 throw std::out_of_range ("VectorConvertView::operator[]: index out of range");
87 return m_function (m_view[index]);
88 }

◆ size()

template<typename FunctionType, typename ViewType>
std::size_t columnar::detail::VectorConvertView< FunctionType, ViewType >::size ( ) const
inlinenodiscardnoexcept

Definition at line 78 of file VectorConvertView.h.

79 {
80 return m_view.size();
81 }

Member Data Documentation

◆ m_function

template<typename FunctionType, typename ViewType>
FunctionType columnar::detail::VectorConvertView< FunctionType, ViewType >::m_function
private

Private Members

Definition at line 104 of file VectorConvertView.h.

◆ m_view

template<typename FunctionType, typename ViewType>
ViewType columnar::detail::VectorConvertView< FunctionType, ViewType >::m_view
private

Definition at line 105 of file VectorConvertView.h.


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