Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Member Functions | Private Attributes | List of all members
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.

73  : m_function (val_function), m_view (val_view)
74  {}

Member Function Documentation

◆ begin()

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

Definition at line 88 of file VectorConvertView.h.

89  {
90  return VectorConvertIterator (m_function, m_view.begin());
91  }

◆ end()

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

Definition at line 93 of file VectorConvertView.h.

94  {
95  return VectorConvertIterator (m_function, m_view.end());
96  }

◆ operator[]()

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

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
inlinenoexcept

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:
index
Definition: index.py:1
columnar::detail::VectorConvertView::m_function
FunctionType m_function
Definition: VectorConvertView.h:102
unlikely
#define unlikely(x)
Definition: dictionary.h:41
columnar::detail::VectorConvertIterator
VectorConvertIterator(FunctionType &&, IteratorType &&) -> VectorConvertIterator< std::remove_cv_t< FunctionType >, std::remove_cv_t< IteratorType >>
columnar::detail::VectorConvertView::m_view
ViewType m_view
Definition: VectorConvertView.h:103