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

#include <FreemanChain.h>

Collaboration diagram for DGtal::FreemanChain< TInteger >::CodesRange:
Collaboration graph
[legend]

Public Types

typedef std::string::const_iterator ConstIterator
typedef
std::string::const_reverse_iterator 
ConstReverseIterator
typedef Circulator< ConstIteratorConstCirculator
typedef std::reverse_iterator
< ConstCirculator
ConstReverseCirculator

Public Member Functions

 CodesRange ()
 CodesRange (const std::string &aChain)
 CodesRange (const CodesRange &aOther)
CodesRangeoperator= (const CodesRange &other)
 ~CodesRange ()
std::string::size_type size () const
bool isValid () const
void selfDisplay (std::ostream &out) const
ConstIterator begin () const
ConstIterator end () const
ConstReverseIterator rbegin () const
ConstReverseIterator rend () const
ConstCirculator c () const
ConstReverseCirculator rc () const

Private Attributes

const std::string myChain

Friends

ostream & operator<< (ostream &out, const CodesRange &object)

Detailed Description

template<typename TInteger>
class DGtal::FreemanChain< TInteger >::CodesRange

Aim: model of CRange that provides services to (circularly)iterate over the letters of the freeman chain.

See also:
FreemanChain.h testFreemanChain.cpp

Definition at line 384 of file FreemanChain.h.


Member Typedef Documentation

template<typename TInteger>
typedef Circulator<ConstIterator> DGtal::FreemanChain< TInteger >::CodesRange::ConstCirculator

Definition at line 392 of file FreemanChain.h.

template<typename TInteger>
typedef std::string::const_iterator DGtal::FreemanChain< TInteger >::CodesRange::ConstIterator

Definition at line 390 of file FreemanChain.h.

template<typename TInteger>
typedef std::reverse_iterator<ConstCirculator> DGtal::FreemanChain< TInteger >::CodesRange::ConstReverseCirculator

Definition at line 393 of file FreemanChain.h.

template<typename TInteger>
typedef std::string::const_reverse_iterator DGtal::FreemanChain< TInteger >::CodesRange::ConstReverseIterator

Definition at line 391 of file FreemanChain.h.


Constructor & Destructor Documentation

template<typename TInteger>
DGtal::FreemanChain< TInteger >::CodesRange::CodesRange ( )
inline

Default Constructor.

Definition at line 400 of file FreemanChain.h.

{}
template<typename TInteger>
DGtal::FreemanChain< TInteger >::CodesRange::CodesRange ( const std::string &  aChain)
inline

Constructor.

Definition at line 405 of file FreemanChain.h.

: myChain(aChain){}
template<typename TInteger>
DGtal::FreemanChain< TInteger >::CodesRange::CodesRange ( const CodesRange aOther)
inline

Copy constructor.

Parameters:
otherthe iterator to clone.

Definition at line 411 of file FreemanChain.h.

: myChain( aOther.myChain ){}
template<typename TInteger>
DGtal::FreemanChain< TInteger >::CodesRange::~CodesRange ( )
inline

Destructor. Does nothing.

Definition at line 431 of file FreemanChain.h.

{}

Member Function Documentation

template<typename TInteger>
ConstIterator DGtal::FreemanChain< TInteger >::CodesRange::begin ( ) const
inline

Iterator service.

Returns:
begin iterator

Definition at line 485 of file FreemanChain.h.

References DGtal::FreemanChain< TInteger >::CodesRange::myChain.

Referenced by DGtal::FreemanChain< TInteger >::CodesRange::c(), and DGtal::FreemanChain< TInteger >::CodesRange::selfDisplay().

{
return myChain.begin();
}
template<typename TInteger>
ConstCirculator DGtal::FreemanChain< TInteger >::CodesRange::c ( ) const
inline

Circulator service.

Returns:
a circulator

Definition at line 517 of file FreemanChain.h.

References DGtal::FreemanChain< TInteger >::CodesRange::begin(), and DGtal::FreemanChain< TInteger >::CodesRange::end().

Referenced by DGtal::FreemanChain< TInteger >::CodesRange::rc().

{
return ConstCirculator( this->begin(), this->begin(), this->end() );
}
template<typename TInteger>
ConstIterator DGtal::FreemanChain< TInteger >::CodesRange::end ( ) const
inline

Iterator service.

Returns:
end iterator

Definition at line 493 of file FreemanChain.h.

References DGtal::FreemanChain< TInteger >::CodesRange::myChain.

Referenced by DGtal::FreemanChain< TInteger >::CodesRange::c(), and DGtal::FreemanChain< TInteger >::CodesRange::selfDisplay().

{
return myChain.end();
}
template<typename TInteger>
bool DGtal::FreemanChain< TInteger >::CodesRange::isValid ( ) const
inline

Checks the validity/consistency of the object.

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

Definition at line 445 of file FreemanChain.h.

{ return true; }
template<typename TInteger>
CodesRange& DGtal::FreemanChain< TInteger >::CodesRange::operator= ( const CodesRange other)
inline

Assignment.

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

Definition at line 419 of file FreemanChain.h.

References DGtal::FreemanChain< TInteger >::CodesRange::myChain.

{
if ( this != &other )
{
myChain = other.myChain;
}
return *this;
}
template<typename TInteger>
ConstReverseIterator DGtal::FreemanChain< TInteger >::CodesRange::rbegin ( ) const
inline

Iterator service.

Returns:
rbegin iterator

Definition at line 501 of file FreemanChain.h.

References DGtal::FreemanChain< TInteger >::CodesRange::myChain.

{
return myChain.rbegin();
}
template<typename TInteger>
ConstReverseCirculator DGtal::FreemanChain< TInteger >::CodesRange::rc ( ) const
inline

Circulator service.

Returns:
a reverse circulator

Definition at line 525 of file FreemanChain.h.

References DGtal::FreemanChain< TInteger >::CodesRange::c().

{
return ConstReverseCirculator( this->c() );
}
template<typename TInteger>
ConstReverseIterator DGtal::FreemanChain< TInteger >::CodesRange::rend ( ) const
inline

Iterator service.

Returns:
rend iterator

Definition at line 509 of file FreemanChain.h.

References DGtal::FreemanChain< TInteger >::CodesRange::myChain.

{
return myChain.rend();
}
template<typename TInteger>
void DGtal::FreemanChain< TInteger >::CodesRange::selfDisplay ( std::ostream &  out) const
inline

Writes/Displays the object on an output stream.

Parameters:
outthe output stream where the object is written.

Definition at line 452 of file FreemanChain.h.

References DGtal::FreemanChain< TInteger >::CodesRange::begin(), and DGtal::FreemanChain< TInteger >::CodesRange::end().

{
out << "[FreemanChainCodes]" << std::endl;
out << "\t";
std::copy( this->begin(), this->end(), ostream_iterator<Value>(out, "") );
out << std::endl;
}
template<typename TInteger>
std::string::size_type DGtal::FreemanChain< TInteger >::CodesRange::size ( ) const
inline
Returns:
the size of the range

Definition at line 436 of file FreemanChain.h.

References DGtal::FreemanChain< TInteger >::CodesRange::myChain.

{
return myChain.size();
}

Friends And Related Function Documentation

template<typename TInteger>
ostream& operator<< ( ostream &  out,
const CodesRange object 
)
friend

Overloads 'operator<<' for displaying objects of class 'CodesRange'.

Parameters:
outthe output stream where the object is written.
objectthe object of class 'CodesRange' to write.
Returns:
the output stream after the writing.

Definition at line 467 of file FreemanChain.h.

{
object.selfDisplay( out );
return out;
}

Field Documentation

template<typename TInteger>
const std::string DGtal::FreemanChain< TInteger >::CodesRange::myChain
private

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