Google OR-Tools v9.14
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
util_intops::TransformView< ValueT, IndexT, ValueTransformT > Class Template Reference

#include <views.h>

Classes

struct  TransformViewIterator

Public Types

using value_type = const ValueT
using value_iterator = typename absl::Span<value_type>::iterator

Public Member Functions

 TransformView ()=default
template<typename ValueRangeT>
 TransformView (const ValueRangeT *values)
auto size () const
bool empty () const
decltype(auto) operator[] (IndexT index) const
TransformViewIterator begin () const
TransformViewIterator end () const
absl::Span< value_typebase () const

Detailed Description

template<typename ValueT, typename IndexT, typename ValueTransformT = NoTransform>
class util_intops::TransformView< ValueT, IndexT, ValueTransformT >

View applying stateless transformation to the values of a continugous container. Looping over this view is equivalent to:

for (IndexT i(0); i < IndexT(container.size()); ++i) { your_code(ValueTransformT()(values_[static_cast<size_t>(i)])); }

Definition at line 430 of file views.h.

Member Typedef Documentation

◆ value_iterator

template<typename ValueT, typename IndexT, typename ValueTransformT = NoTransform>
using util_intops::TransformView< ValueT, IndexT, ValueTransformT >::value_iterator = typename absl::Span<value_type>::iterator

Definition at line 433 of file views.h.

◆ value_type

template<typename ValueT, typename IndexT, typename ValueTransformT = NoTransform>
using util_intops::TransformView< ValueT, IndexT, ValueTransformT >::value_type = const ValueT

Definition at line 432 of file views.h.

Constructor & Destructor Documentation

◆ TransformView() [1/2]

template<typename ValueT, typename IndexT, typename ValueTransformT = NoTransform>
util_intops::TransformView< ValueT, IndexT, ValueTransformT >::TransformView ( )
default

◆ TransformView() [2/2]

template<typename ValueT, typename IndexT, typename ValueTransformT = NoTransform>
template<typename ValueRangeT>
util_intops::TransformView< ValueT, IndexT, ValueTransformT >::TransformView ( const ValueRangeT * values)
inline

Definition at line 454 of file views.h.

Member Function Documentation

◆ base()

template<typename ValueT, typename IndexT, typename ValueTransformT = NoTransform>
absl::Span< value_type > util_intops::TransformView< ValueT, IndexT, ValueTransformT >::base ( ) const
inline

Definition at line 469 of file views.h.

◆ begin()

template<typename ValueT, typename IndexT, typename ValueTransformT = NoTransform>
TransformViewIterator util_intops::TransformView< ValueT, IndexT, ValueTransformT >::begin ( ) const
inline

Definition at line 463 of file views.h.

◆ empty()

template<typename ValueT, typename IndexT, typename ValueTransformT = NoTransform>
bool util_intops::TransformView< ValueT, IndexT, ValueTransformT >::empty ( ) const
inline

Definition at line 458 of file views.h.

◆ end()

template<typename ValueT, typename IndexT, typename ValueTransformT = NoTransform>
TransformViewIterator util_intops::TransformView< ValueT, IndexT, ValueTransformT >::end ( ) const
inline

Definition at line 466 of file views.h.

◆ operator[]()

template<typename ValueT, typename IndexT, typename ValueTransformT = NoTransform>
decltype(auto) util_intops::TransformView< ValueT, IndexT, ValueTransformT >::operator[] ( IndexT index) const
inline

Definition at line 460 of file views.h.

◆ size()

template<typename ValueT, typename IndexT, typename ValueTransformT = NoTransform>
auto util_intops::TransformView< ValueT, IndexT, ValueTransformT >::size ( ) const
inline

Definition at line 457 of file views.h.


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