File failed to load: https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.3/config/TeX-MML-AM_CHTML/MathJax.js
DGtal 2.0.0
DGtal::DefaultImageRange< TImage > Class Template Reference

Aim: model of CConstBidirectionalRangeFromPoint and CBidirectionalRangeWithWritableIteratorFromPoint that adapts the domain of an image in order to iterate over the values associated to its domain points (in a read-only as well as a write-only manner). More...

#include <DGtal/images/DefaultImageRange.h>

Inheritance diagram for DGtal::DefaultImageRange< TImage >:
[legend]

Public Types

typedef TImage::Domain Domain
typedef TImage::Point Point
typedef TImage::Value Value
typedef ConstIteratorAdapter< typename Domain::ConstIterator, TImage, ValueConstIterator
typedef boost::reverse_iterator< ConstIteratorConstReverseIterator
typedef SetValueIterator< TImage > OutputIterator
 output iterator types
typedef SetValueIterator< TImage, typename Domain::ConstReverseIteratorReverseOutputIterator

Public Member Functions

 BOOST_CONCEPT_ASSERT ((concepts::CTrivialImage< TImage >))
 BOOST_CONCEPT_ASSERT ((concepts::CDomain< Domain >))
 constant iterator types
 DefaultImageRange (TImage &aImage)
 DefaultImageRange (const DefaultImageRange &other)
DefaultImageRangeoperator= (const DefaultImageRange &other)
 ~DefaultImageRange ()
bool isValid () const
ConstIterator begin () const
ConstIterator begin (const Point &aPoint) const
ConstIterator end () const
ConstReverseIterator rbegin () const
ConstReverseIterator rbegin (const Point &aPoint) const
ConstReverseIterator rend () const
OutputIterator outputIterator () const
OutputIterator outputIterator (const Point &aPoint) const
ReverseOutputIterator routputIterator () const
ReverseOutputIterator routputIterator (const Point &aPoint) const

Private Attributes

TImage * myImagePtr

Detailed Description

template<typename TImage>
class DGtal::DefaultImageRange< TImage >

Aim: model of CConstBidirectionalRangeFromPoint and CBidirectionalRangeWithWritableIteratorFromPoint that adapts the domain of an image in order to iterate over the values associated to its domain points (in a read-only as well as a write-only manner).

Template Parameters
TImagea model of CImage mapping points to values

NB: the underlying image is stored as an aliasing pointer in order to avoid copies. As a consequence the pointed object must exist and must not be deleted during the use of any instance of this class.

TODO: inherits from DefaultConstImageRange

Definition at line 77 of file DefaultImageRange.h.

Member Typedef Documentation

◆ ConstIterator

template<typename TImage>
typedef ConstIteratorAdapter<typename Domain::ConstIterator,TImage,Value> DGtal::DefaultImageRange< TImage >::ConstIterator

Definition at line 91 of file DefaultImageRange.h.

◆ ConstReverseIterator

template<typename TImage>
typedef boost::reverse_iterator<ConstIterator> DGtal::DefaultImageRange< TImage >::ConstReverseIterator

Definition at line 92 of file DefaultImageRange.h.

◆ Domain

template<typename TImage>
typedef TImage::Domain DGtal::DefaultImageRange< TImage >::Domain

Definition at line 85 of file DefaultImageRange.h.

◆ OutputIterator

template<typename TImage>
typedef SetValueIterator<TImage> DGtal::DefaultImageRange< TImage >::OutputIterator

output iterator types

Definition at line 95 of file DefaultImageRange.h.

◆ Point

template<typename TImage>
typedef TImage::Point DGtal::DefaultImageRange< TImage >::Point

Definition at line 86 of file DefaultImageRange.h.

◆ ReverseOutputIterator

template<typename TImage>
typedef SetValueIterator<TImage, typename Domain::ConstReverseIterator> DGtal::DefaultImageRange< TImage >::ReverseOutputIterator

Definition at line 96 of file DefaultImageRange.h.

◆ Value

template<typename TImage>
typedef TImage::Value DGtal::DefaultImageRange< TImage >::Value

Definition at line 87 of file DefaultImageRange.h.

Constructor & Destructor Documentation

◆ DefaultImageRange() [1/2]

template<typename TImage>
DGtal::DefaultImageRange< TImage >::DefaultImageRange ( TImage & aImage)
inline

Standard constructor from an image.

Parameters
aImageany image.

Definition at line 105 of file DefaultImageRange.h.

106 : myImagePtr(&aImage) {}
Aim: model of CConstBidirectionalRangeFromPoint and CBidirectionalRangeWithWritableIteratorFromPoint ...

◆ DefaultImageRange() [2/2]

template<typename TImage>
DGtal::DefaultImageRange< TImage >::DefaultImageRange ( const DefaultImageRange< TImage > & other)
inline

Copy constructor.

Parameters
otherthe iterator to clone.

Definition at line 112 of file DefaultImageRange.h.

◆ ~DefaultImageRange()

template<typename TImage>
DGtal::DefaultImageRange< TImage >::~DefaultImageRange ( )
inline

Destructor. Does nothing.

Definition at line 132 of file DefaultImageRange.h.

132{}

Member Function Documentation

◆ begin() [1/2]

template<typename TImage>
ConstIterator DGtal::DefaultImageRange< TImage >::begin ( ) const
inline

Iterator service.

Returns
begin iterator

Definition at line 156 of file DefaultImageRange.h.

156 {
157 Domain d = myImagePtr->domain();
158 return ConstIterator( d.begin(), *myImagePtr );
159 }
ConstIterator begin() const
ConstIteratorAdapter< typename Domain::ConstIterator, TImage, Value > ConstIterator

Referenced by DGtal::DefaultImageRange< Self >::rend().

◆ begin() [2/2]

template<typename TImage>
ConstIterator DGtal::DefaultImageRange< TImage >::begin ( const Point & aPoint) const
inline

Iterator service.

Parameters
aPointany point
Returns
begin iterator

Definition at line 166 of file DefaultImageRange.h.

166 {
167 Domain d = myImagePtr->domain();
169 }

◆ BOOST_CONCEPT_ASSERT() [1/2]

template<typename TImage>
DGtal::DefaultImageRange< TImage >::BOOST_CONCEPT_ASSERT ( (concepts::CDomain< Domain >) )

constant iterator types

◆ BOOST_CONCEPT_ASSERT() [2/2]

template<typename TImage>
DGtal::DefaultImageRange< TImage >::BOOST_CONCEPT_ASSERT ( (concepts::CTrivialImage< TImage >) )

◆ end()

template<typename TImage>
ConstIterator DGtal::DefaultImageRange< TImage >::end ( ) const
inline

Iterator service.

Returns
end iterator

Definition at line 175 of file DefaultImageRange.h.

175 {
176 Domain d = myImagePtr->domain();
177 return ConstIterator( d.end(), *myImagePtr );
178 }
ConstIterator end() const

Referenced by DGtal::DefaultImageRange< Self >::rbegin().

◆ isValid()

template<typename TImage>
bool DGtal::DefaultImageRange< TImage >::isValid ( ) const
inline

Checks the validity/consistency of the object.

Returns
'true' if the object is valid, 'false' otherwise.

Definition at line 138 of file DefaultImageRange.h.

138{ return true; }

◆ operator=()

template<typename TImage>
DefaultImageRange & DGtal::DefaultImageRange< TImage >::operator= ( const DefaultImageRange< TImage > & other)
inline

Assignment.

Parameters
otherthe iterator to copy.
Returns
a reference on 'this'.

Definition at line 120 of file DefaultImageRange.h.

121 {
122 if ( this != &other )
123 {
125 }
126 return *this;
127 }

◆ outputIterator() [1/2]

template<typename TImage>
OutputIterator DGtal::DefaultImageRange< TImage >::outputIterator ( ) const
inline

Iterator service.

Returns
output iterator

Definition at line 215 of file DefaultImageRange.h.

215 {
216 Domain d = myImagePtr->domain();
217 return OutputIterator( d.begin(), *myImagePtr );
218 }
SetValueIterator< TImage > OutputIterator
output iterator types

◆ outputIterator() [2/2]

template<typename TImage>
OutputIterator DGtal::DefaultImageRange< TImage >::outputIterator ( const Point & aPoint) const
inline

Iterator service.

Parameters
aPointany point
Returns
output iterator

Definition at line 225 of file DefaultImageRange.h.

225 {
226 Domain d = myImagePtr->domain();
228 }

◆ rbegin() [1/2]

template<typename TImage>
ConstReverseIterator DGtal::DefaultImageRange< TImage >::rbegin ( ) const
inline

Iterator service.

Returns
rbegin iterator

Definition at line 184 of file DefaultImageRange.h.

184 {
185 return ConstReverseIterator(this->end());
186 }
boost::reverse_iterator< ConstIterator > ConstReverseIterator

◆ rbegin() [2/2]

template<typename TImage>
ConstReverseIterator DGtal::DefaultImageRange< TImage >::rbegin ( const Point & aPoint) const
inline

Iterator service.

Parameters
aPointany point
Returns
rbegin iterator

Definition at line 193 of file DefaultImageRange.h.

193 {
194 Domain d = myImagePtr->domain();
196 if ( itOnPts != d.end() ) ++itOnPts;
199 }

◆ rend()

template<typename TImage>
ConstReverseIterator DGtal::DefaultImageRange< TImage >::rend ( ) const
inline

Iterator service.

Returns
rend iterator

Definition at line 205 of file DefaultImageRange.h.

205 {
206 return ConstReverseIterator(this->begin());
207 }

◆ routputIterator() [1/2]

template<typename TImage>
ReverseOutputIterator DGtal::DefaultImageRange< TImage >::routputIterator ( ) const
inline

Iterator service.

Returns
reverse output iterator

Definition at line 234 of file DefaultImageRange.h.

234 {
235 Domain d = myImagePtr->domain();
237 }
SetValueIterator< TImage, typename Domain::ConstReverseIterator > ReverseOutputIterator
ConstReverseIterator rbegin() const

◆ routputIterator() [2/2]

template<typename TImage>
ReverseOutputIterator DGtal::DefaultImageRange< TImage >::routputIterator ( const Point & aPoint) const
inline

Iterator service.

Parameters
aPointany point
Returns
reverse output iterator

Definition at line 244 of file DefaultImageRange.h.

244 {
245 Domain d = myImagePtr->domain();
247 }

Field Documentation

◆ myImagePtr

template<typename TImage>
TImage* DGtal::DefaultImageRange< TImage >::myImagePtr
private

Aliasing pointer on the underlying image

Definition at line 147 of file DefaultImageRange.h.

Referenced by DGtal::DefaultImageRange< Self >::operator=().


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