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 66 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 72 of file VectorConvertView.h.

74 {}
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 88 of file VectorConvertView.h.

89 {
90 return VectorConvertIterator (m_function, m_view.begin());
91 }
VectorConvertIterator(FunctionType &&, IteratorType &&) -> VectorConvertIterator< std::remove_cv_t< FunctionType >, std::remove_cv_t< IteratorType > >

◆ end()

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

Definition at line 93 of file VectorConvertView.h.

94 {
96 }

◆ operator[]()

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

Definition at line 81 of file VectorConvertView.h.

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

◆ size()

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

Definition at line 76 of file VectorConvertView.h.

77 {
78 return m_view.size();
79 }

Member Data Documentation

◆ m_function

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

Private Members

Definition at line 102 of file VectorConvertView.h.

◆ m_view

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

Definition at line 103 of file VectorConvertView.h.


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