DGtal  0.6.devel
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Types | Public Member Functions | Private Attributes
DGtal::DefaultConstImageRange< TImage > Class Template Reference

#include <DefaultConstImageRange.h>

Public Types

typedef TImage::Domain Domain
typedef TImage::Point Point
typedef TImage::Value Value
typedef ConstIteratorAdapter
< typename
Domain::ConstIterator, TImage,
Value
ConstIterator
typedef std::reverse_iterator
< ConstIterator
ConstReverseIterator

Public Member Functions

 BOOST_CONCEPT_ASSERT ((CTrivialConstImage< TImage >))
 BOOST_CONCEPT_ASSERT ((CDomain< Domain >))
 DefaultConstImageRange (const TImage &aImage)
 DefaultConstImageRange (const DefaultConstImageRange &other)
DefaultConstImageRangeoperator= (const DefaultConstImageRange &other)
 ~DefaultConstImageRange ()
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

Private Attributes

const TImage * myImagePtr

Detailed Description

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

Aim: model of CConstBidirectionalRangeFromPoint 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 CConstImage 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.

Definition at line 75 of file DefaultConstImageRange.h.


Member Typedef Documentation

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

Definition at line 89 of file DefaultConstImageRange.h.

template<typename TImage >
typedef std::reverse_iterator<ConstIterator> DGtal::DefaultConstImageRange< TImage >::ConstReverseIterator

Definition at line 90 of file DefaultConstImageRange.h.

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

Definition at line 83 of file DefaultConstImageRange.h.

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

Definition at line 84 of file DefaultConstImageRange.h.

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

Definition at line 85 of file DefaultConstImageRange.h.


Constructor & Destructor Documentation

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

Standard constructor from an image.

Parameters:
aImageany image.

Definition at line 99 of file DefaultConstImageRange.h.

: myImagePtr(&aImage) {}
template<typename TImage >
DGtal::DefaultConstImageRange< TImage >::DefaultConstImageRange ( const DefaultConstImageRange< TImage > &  other)
inline

Copy constructor.

Parameters:
otherthe iterator to clone.

Definition at line 106 of file DefaultConstImageRange.h.

: myImagePtr(other.myImagePtr) {}
template<typename TImage >
DGtal::DefaultConstImageRange< TImage >::~DefaultConstImageRange ( )
inline

Destructor. Does nothing.

Definition at line 126 of file DefaultConstImageRange.h.

{}

Member Function Documentation

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

Iterator service.

Returns:
begin iterator

Definition at line 150 of file DefaultConstImageRange.h.

References DGtal::DefaultConstImageRange< TImage >::myImagePtr.

Referenced by DGtal::DefaultConstImageRange< TImage >::rend().

{
Domain d = myImagePtr->domain();
return ConstIterator( d.begin(), *myImagePtr );
}
template<typename TImage >
ConstIterator DGtal::DefaultConstImageRange< TImage >::begin ( const Point aPoint) const
inline

Iterator service.

Parameters:
aPointany point
Returns:
begin iterator

Definition at line 160 of file DefaultConstImageRange.h.

References DGtal::DefaultConstImageRange< TImage >::myImagePtr.

{
Domain d = myImagePtr->domain();
return ConstIterator( d.begin(aPoint), *myImagePtr );
}
template<typename TImage >
DGtal::DefaultConstImageRange< TImage >::BOOST_CONCEPT_ASSERT ( (CTrivialConstImage< TImage >)  )
template<typename TImage >
DGtal::DefaultConstImageRange< TImage >::BOOST_CONCEPT_ASSERT ( (CDomain< Domain >)  )

constant iterator types

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

Iterator service.

Returns:
end iterator

Definition at line 169 of file DefaultConstImageRange.h.

References DGtal::DefaultConstImageRange< TImage >::myImagePtr.

Referenced by DGtal::DefaultConstImageRange< TImage >::rbegin().

{
Domain d = myImagePtr->domain();
return ConstIterator( d.end(), *myImagePtr );
}
template<typename TImage >
bool DGtal::DefaultConstImageRange< TImage >::isValid ( ) const
inline

Checks the validity/consistency of the object.

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

Definition at line 132 of file DefaultConstImageRange.h.

{ return true; }
template<typename TImage >
DefaultConstImageRange& DGtal::DefaultConstImageRange< TImage >::operator= ( const DefaultConstImageRange< TImage > &  other)
inline

Assignment.

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

Definition at line 114 of file DefaultConstImageRange.h.

References DGtal::DefaultConstImageRange< TImage >::myImagePtr.

{
if ( this != &other )
{
}
return *this;
}
template<typename TImage >
ConstReverseIterator DGtal::DefaultConstImageRange< TImage >::rbegin ( ) const
inline

Iterator service.

Returns:
rbegin iterator

Definition at line 178 of file DefaultConstImageRange.h.

References DGtal::DefaultConstImageRange< TImage >::end().

{
return ConstReverseIterator(this->end());
}
template<typename TImage >
ConstReverseIterator DGtal::DefaultConstImageRange< TImage >::rbegin ( const Point aPoint) const
inline

Iterator service.

Parameters:
aPointany point
Returns:
rbegin iterator

Definition at line 187 of file DefaultConstImageRange.h.

References DGtal::DefaultConstImageRange< TImage >::myImagePtr.

{
Domain d = myImagePtr->domain();
typename Domain::ConstIterator itOnPts = d.begin(aPoint);
if ( itOnPts != d.end() ) ++itOnPts;
ConstIterator itOnVals( itOnPts, *myImagePtr );
return ConstReverseIterator( itOnVals );
}
template<typename TImage >
ConstReverseIterator DGtal::DefaultConstImageRange< TImage >::rend ( ) const
inline

Iterator service.

Returns:
rend iterator

Definition at line 199 of file DefaultConstImageRange.h.

References DGtal::DefaultConstImageRange< TImage >::begin().

{
return ConstReverseIterator(this->begin());
}

Field Documentation

template<typename TImage >
const TImage* DGtal::DefaultConstImageRange< TImage >::myImagePtr
private

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