|
DGtal
0.6.devel
|
#include <CIncrementalSegmentComputer.h>


Public Member Functions | |
| BOOST_CONCEPT_USAGE (CIncrementalSegmentComputer) | |
Public Member Functions inherited from DGtal::CSegmentFactory< T > | |
| BOOST_STATIC_ASSERT ((boost::is_same< T, Self >::value)) | |
| BOOST_CONCEPT_USAGE (CSegmentFactory) | |
Public Member Functions inherited from DGtal::CSegment< T > | |
| BOOST_CONCEPT_USAGE (CSegment) | |
Private Attributes | |
| T | myX |
| T::ConstIterator | myI |
| bool | myB |
Additional Inherited Members | |
Public Types inherited from DGtal::CSegmentFactory< T > | |
| typedef T::Self | Self |
| typedef T::Reverse | Reverse |
Public Types inherited from DGtal::CSegment< T > | |
| typedef T::ConstIterator | ConstIterator |
Aim: Defines the concept describing an incremental segment computer, ie. a model of CSegmentFactory that can, in addition, incrementally check whether or not an implicit predicate P is true. In other words, it can control its own extension from a range of one element (in the direction that is relative to the underlying iterator) so that an implicit predicate P remains true.
Description of concept 'CIncrementalSegmentComputer'
the same as CSegmentFactory
| Name | Expression | Type requirements | Return type | Precondition | Semantics | Postcondition | Complexity |
| initialization | x.init(i) | void | set a segment to i | x is valid and P is true | O(1) | ||
| extension test | x.isExtendableForward() | bool | x is valid and P is true | checks whether x can be extended to x.end() or not | x is valid and P is true | ||
| extension | x.extendForward() | bool | x is valid and P is true | check whether x can be extended to x.end() or not, only extend if true | x is valid and P is true |
Models of CIncrementalSegmentComputer garantee that for each iterator it from s.begin() to s.end(), the range [s.begin(), it) is a segment such that P is true.
| T | the type that should be a model of CIncrementalSegmentComputer. |
Definition at line 145 of file CIncrementalSegmentComputer.h.
|
inline |
Definition at line 151 of file CIncrementalSegmentComputer.h.
References DGtal::CIncrementalSegmentComputer< T >::myB, DGtal::CIncrementalSegmentComputer< T >::myI, DGtal::CIncrementalSegmentComputer< T >::myX, and DGtal::ConceptUtils::sameType().
|
private |
Reimplemented in DGtal::CBidirectionalSegmentComputer< T >, DGtal::CDynamicSegmentComputer< T >, and DGtal::CDynamicBidirectionalSegmentComputer< T >.
Definition at line 163 of file CIncrementalSegmentComputer.h.
Referenced by DGtal::CIncrementalSegmentComputer< T >::BOOST_CONCEPT_USAGE().
|
private |
Definition at line 162 of file CIncrementalSegmentComputer.h.
Referenced by DGtal::CIncrementalSegmentComputer< T >::BOOST_CONCEPT_USAGE().
|
private |
Reimplemented from DGtal::CSegment< T >.
Reimplemented in DGtal::CBidirectionalSegmentComputer< T >, DGtal::CDynamicSegmentComputer< T >, and DGtal::CDynamicBidirectionalSegmentComputer< T >.
Definition at line 161 of file CIncrementalSegmentComputer.h.
Referenced by DGtal::CIncrementalSegmentComputer< T >::BOOST_CONCEPT_USAGE().
1.8.1.1