Medusa  1.1
Coordinate Free Mehless Method implementation
mm::Range< T, Allocator >::ConstRangeView Class Reference

#include <Range_fwd.hpp>

Detailed Description

template<class T, class Allocator = std::allocator<T>>
class mm::Range< T, Allocator >::ConstRangeView

This class represents a non contiguous view to a Range, allowing for read-only operations.

Definition at line 102 of file Range_fwd.hpp.

+ Collaboration diagram for mm::Range< T, Allocator >::ConstRangeView:

Public Member Functions

 ConstRangeView (ConstRangeView &)=delete
 Disallow copying. More...
 
 ConstRangeView (ConstRangeView &&)=delete
 Disallow moving. More...
 
ConstRangeViewoperator= (ConstRangeView &)=delete
 Disallow copying. More...
 
ConstRangeViewoperator= (ConstRangeView &&)=delete
 Disallow moving. More...
 
Range< T > asRange () const
 Cast to underlying container type. More...
 
const_reference operator[] (size_type i) const
 Read access to sub-container elements. More...
 
size_type size () const
 Size of the sub-container. More...
 

Friends

class Range
 
std::ostream & operator<< (std::ostream &os, const ConstRangeView &c)
 Output a ConstRangeView. More...
 

Private Member Functions

 ConstRangeView (const Range< T > &receiver_, const indexes_t &modifier_)
 Constructor. More...
 

Private Attributes

const Range< T > & receiver
 Reference to object we are viewing. More...
 
const indexes_tmodifier
 List of indexes of elements to modify. More...
 

Constructor & Destructor Documentation

◆ ConstRangeView() [1/3]

template<class T , class Allocator = std::allocator<T>>
mm::Range< T, Allocator >::ConstRangeView::ConstRangeView ( const Range< T > &  receiver_,
const indexes_t modifier_ 
)
inlineprivate

Constructor.

Definition at line 107 of file Range_fwd.hpp.

◆ ConstRangeView() [2/3]

template<class T , class Allocator = std::allocator<T>>
mm::Range< T, Allocator >::ConstRangeView::ConstRangeView ( ConstRangeView )
delete

Disallow copying.

◆ ConstRangeView() [3/3]

template<class T , class Allocator = std::allocator<T>>
mm::Range< T, Allocator >::ConstRangeView::ConstRangeView ( ConstRangeView &&  )
delete

Disallow moving.

Member Function Documentation

◆ asRange()

template<class T , class Allocator = std::allocator<T>>
Range<T> mm::Range< T, Allocator >::ConstRangeView::asRange ( ) const
inline

Cast to underlying container type.

Definition at line 117 of file Range_fwd.hpp.

◆ operator=() [1/2]

template<class T , class Allocator = std::allocator<T>>
ConstRangeView& mm::Range< T, Allocator >::ConstRangeView::operator= ( ConstRangeView &&  )
delete

Disallow moving.

◆ operator=() [2/2]

template<class T , class Allocator = std::allocator<T>>
ConstRangeView& mm::Range< T, Allocator >::ConstRangeView::operator= ( ConstRangeView )
delete

Disallow copying.

◆ operator[]()

template<class T , class Allocator = std::allocator<T>>
const_reference mm::Range< T, Allocator >::ConstRangeView::operator[] ( size_type  i) const
inline

Read access to sub-container elements.

Definition at line 125 of file Range_fwd.hpp.

◆ size()

template<class T , class Allocator = std::allocator<T>>
size_type mm::Range< T, Allocator >::ConstRangeView::size ( ) const
inline

Size of the sub-container.

Definition at line 128 of file Range_fwd.hpp.

Friends And Related Function Documentation

◆ operator<<

template<class T , class Allocator = std::allocator<T>>
std::ostream& operator<< ( std::ostream &  os,
const ConstRangeView c 
)
friend

Output a ConstRangeView.

Definition at line 133 of file Range_fwd.hpp.

Member Data Documentation

◆ modifier

template<class T , class Allocator = std::allocator<T>>
const indexes_t& mm::Range< T, Allocator >::ConstRangeView::modifier
private

List of indexes of elements to modify.

Definition at line 104 of file Range_fwd.hpp.

◆ receiver

template<class T , class Allocator = std::allocator<T>>
const Range<T>& mm::Range< T, Allocator >::ConstRangeView::receiver
private

Reference to object we are viewing.

Definition at line 103 of file Range_fwd.hpp.


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