DGtal  0.9.4beta
Data Structures | Typedefs | Functions
DGtal::detail Namespace Reference

Data Structures

struct  ComparatorAdapter
 
struct  ComparatorAdapter< Container, true, false, false >
 
struct  ComparatorAdapter< Container, true, false, true >
 
struct  ComparatorAdapter< Container, true, true, false >
 
struct  ComparatorAdapter< Container, true, true, true >
 
struct  CurvatureFromDCA
 
struct  CurvatureFromDCA< false >
 
class  CurvatureFromDSSBaseEstimator
 
struct  CurvatureFromDSSLength
 
struct  CurvatureFromDSSLengthAndWidth
 
struct  DistanceFromDCA
 
class  DSSDecorator
 
class  DSSDecorator4ConcavePart
 
class  DSSDecorator4ConvexPart
 
struct  EqualPredicateFromLessThanComparator
 
struct  EuclideanDivisionHelper
 
struct  EuclideanDivisionHelper< double >
 
struct  EuclideanDivisionHelper< float >
 
struct  EuclideanDivisionHelper< long double >
 
struct  FFTWComplexCast
 
struct  FFTWWrapper
 
struct  FFTWWrapper< double >
 
struct  FFTWWrapper< float >
 
struct  FFTWWrapper< long double >
 
struct  HasNestedTypeCategory
 
struct  HasNestedTypeType
 
struct  IsAssociativeContainerFromCategory
 
struct  IsCirculator
 
struct  IsCirculator< IC, true >
 
struct  IsCirculatorFromType
 
struct  IsCirculatorFromType< IC, CirculatorType >
 
struct  IsContainerFromCategory
 
struct  IsMultipleAssociativeContainerFromCategory
 
struct  IsOrderedAssociativeContainerFromCategory
 
struct  IsPairAssociativeContainerFromCategory
 
struct  IsSequenceContainerFromCategory
 
struct  IsSimpleAssociativeContainerFromCategory
 
struct  IsUniqueAssociativeContainerFromCategory
 
struct  IsUnorderedAssociativeContainerFromCategory
 
struct  IteratorCirculatorTypeImpl
 
struct  IteratorCirculatorTypeImpl< true >
 
struct  KeyComparatorForPairKeyData
 
struct  LabelledMapMemFunctor
 
struct  monomial_node
 
struct  NormalizedTangentVectorFromDSS
 
struct  NormalVectorFromDCA
 
class  PointValueCompare
 
class  PosDepScaleDepSCEstimator
 
class  PosDepScaleIndepSCEstimator
 
class  PosIndepScaleDepSCEstimator
 
class  PosIndepScaleIndepSCEstimator
 
struct  power_node
 
struct  SetFunctionsImpl
 
struct  SetFunctionsImpl< Container, false, true >
 
struct  SetFunctionsImpl< Container, true, false >
 
struct  SetFunctionsImpl< Container, true, true >
 
struct  TangentAngleFromDSS
 
struct  TangentVectorFromDCA
 
struct  TangentVectorFromDSS
 
struct  toCoordinateImpl
 
struct  top_node
 

Typedefs

typedef boost::variant< boost::recursive_wrapper< top_node >, monomial_nodeexpr_node
 

Functions

template<typename IC >
bool isNotEmpty (const IC &itb, const IC &ite, IteratorType)
 
template<typename IC >
bool isNotEmpty (const IC &c1, const IC &c2, CirculatorType)
 
template<typename IC >
void advanceIterator (IC &ic, typename IteratorCirculatorTraits< IC >::Difference n, ForwardCategory)
 
template<typename IC >
void advanceIterator (IC &ic, typename IteratorCirculatorTraits< IC >::Difference n, RandomAccessCategory)
 
template<typename I >
IteratorCirculatorTraits< I >::Difference rangeSize (const I &itb, const I &ite, IteratorType, ForwardCategory)
 
template<typename C >
IteratorCirculatorTraits< C >::Difference rangeSize (const C &cb, const C &ce, CirculatorType, ForwardCategory)
 
template<typename I >
IteratorCirculatorTraits< I >::Difference rangeSize (const I &itb, const I &ite, IteratorType, RandomAccessCategory)
 
template<typename C >
IteratorCirculatorTraits< C >::Difference rangeSize (const C &cb, const C &ce, CirculatorType, RandomAccessCategory)
 
template<typename I >
rangeMiddle (const I &itb, const I &ite, IteratorType, ForwardCategory)
 
template<typename C >
rangeMiddle (const C &cb, const C &ce, CirculatorType, ForwardCategory)
 
template<typename I >
rangeMiddle (const I &itb, const I &ite, IteratorType, BidirectionalCategory)
 
template<typename C >
rangeMiddle (const C &cb, const C &ce, CirculatorType, BidirectionalCategory)
 
template<typename I >
rangeMiddle (const I &itb, const I &ite, IteratorType, RandomAccessCategory)
 
template<typename C >
rangeMiddle (const C &cb, const C &ce, CirculatorType, RandomAccessCategory)
 
template<typename TData >
std::pair< unsigned int, unsigned int > argminLabelledMapMemoryUsageForGeometricDistribution (unsigned int L, double prob_no_data, double prob_one_data)
 

Detailed Description

detail namespace gathers internal classes and functions.

Typedef Documentation

typedef boost::variant< boost::recursive_wrapper<top_node>, monomial_node > DGtal::detail::expr_node

Part of the polynomial tree structure. Either a top_node or a monomial.

Definition at line 79 of file MPolynomialReader.h.

Function Documentation

template<typename IC >
void DGtal::detail::advanceIterator ( IC &  ic,
typename IteratorCirculatorTraits< IC >::Difference  n,
ForwardCategory   
)
inline

Moves ic at position @ it + n

Parameters
icany (circular)iterator
nany positive distance
Template Parameters
ICany iterator or circulator
template<typename IC >
void DGtal::detail::advanceIterator ( IC &  ic,
typename IteratorCirculatorTraits< IC >::Difference  n,
RandomAccessCategory   
)
inline

Moves ic at position @ it + n

Parameters
icany (circular)iterator
nany positive distance
Template Parameters
ICany iterator or circulator
template<typename TData >
std::pair< unsigned int, unsigned int > DGtal::detail::argminLabelledMapMemoryUsageForGeometricDistribution ( unsigned int  L,
double  prob_no_data,
double  prob_one_data 
)

Tries to find the best values N and M which will minimized the memory usage of a LabelledMap, for the distribution specified by the parameters.

Template Parameters
TDatathe type of data that will be stored.
Parameters
Lthe total number of labels.
prob_no_dataProbability that there is no data at this location.
prob_one_dataIf there is a possibility to have a data, this probability is used to define a geometric distribution that defines the number of data (ie valid labels) at this place. The smaller, the higher is the expectation. 0.5 means E(X) = 1.
Returns
the pair (N,M) that minimizes the memory usage of a LabelledMap for the given distribution.
template<typename IC >
bool DGtal::detail::isNotEmpty ( const IC &  itb,
const IC &  ite,
IteratorType   
)
inline
template<typename IC >
bool DGtal::detail::isNotEmpty ( const IC &  c1,
const IC &  c2,
CirculatorType   
)
inline

Checks if a circular range is not empty, ie. checks if the circulators are valid.

Parameters
c1begin iterator of the range
c2end iterator of the range
Template Parameters
ICiterator or circulator
template<typename I >
I DGtal::detail::rangeMiddle ( const I &  itb,
const I &  ite,
IteratorType  ,
ForwardCategory   
)
inline

Computes the middle of a given range [ itb , ite ).

Parameters
itbbegin iterator of the range
iteend iterator of the range
Returns
the middle iterator of the range [ itb , ite ) NB: in O(ite-itb)
Template Parameters
Iany iterator
template<typename C >
C DGtal::detail::rangeMiddle ( const C &  cb,
const C &  ce,
CirculatorType  ,
ForwardCategory   
)
inline

Computes the middle of a given range [ cb, ce ). Note that if cb = ce then [ cb, ce ) is assumed to be a whole range.

Parameters
cbbegin iterator of the range
ceend iterator of the range
Returns
the middle circulator of the range [ cb , ce ) NB: linear in the range size
Template Parameters
Cany circulator
template<typename I >
I DGtal::detail::rangeMiddle ( const I &  itb,
const I &  ite,
IteratorType  ,
BidirectionalCategory   
)
inline

Computes the middle of a given range [ itb , ite )

Parameters
itbbegin iterator of the range
iteend iterator of the range
Returns
the middle iterator of the range [ itb , ite ) NB: in O(ite-itb)
Template Parameters
Iany iterator
template<typename C >
C DGtal::detail::rangeMiddle ( const C &  cb,
const C &  ce,
CirculatorType  ,
BidirectionalCategory   
)
inline

Computes the middle of a given range [ cb, ce ). Note that if cb = ce then [ cb, ce ) is assumed to be a whole range.

Parameters
cbbegin iterator of the range
ceend iterator of the range
Returns
the middle circulator of the range [ cb , ce ) NB: linear in the range size
Template Parameters
Cany circulator
template<typename I >
I DGtal::detail::rangeMiddle ( const I &  itb,
const I &  ite,
IteratorType  ,
RandomAccessCategory   
)
inline

Computes the middle of a given range [ itb , ite )

Parameters
itbbegin iterator of the range
iteend iterator of the range
Returns
the middle iterator of the range [ itb , ite ) NB: in O(1)
Template Parameters
Iany iterator
template<typename C >
C DGtal::detail::rangeMiddle ( const C &  cb,
const C &  ce,
CirculatorType  ,
RandomAccessCategory   
)
inline

Computes the middle of a given range [ cb, ce ). Note that if cb = ce then [ cb, ce ) is assumed to be a whole range.

Parameters
cbbegin iterator of the range
ceend iterator of the range
Returns
the middle circulator of the range [ cb , ce ) NB: in O(1)
Template Parameters
Cany circulator
template<typename I >
IteratorCirculatorTraits<I>::Difference DGtal::detail::rangeSize ( const I &  itb,
const I &  ite,
IteratorType  ,
ForwardCategory   
)
inline

Computes the size of a given range [ itb , ite )

Parameters
itbbegin iterator of the range
iteend iterator of the range
Returns
the size NB: in O(ite-itb)
Template Parameters
Iany iterator
template<typename C >
IteratorCirculatorTraits<C>::Difference DGtal::detail::rangeSize ( const C &  cb,
const C &  ce,
CirculatorType  ,
ForwardCategory   
)
inline

Computes the size of a given range [ cb, ce ). Note that if cb = ce then [ cb, ce ) is assumed to be a whole range.

Parameters
cbbegin iterator of the range
ceend iterator of the range
Returns
the size NB: linear in the range size
Template Parameters
Cany circulator
template<typename I >
IteratorCirculatorTraits<I>::Difference DGtal::detail::rangeSize ( const I &  itb,
const I &  ite,
IteratorType  ,
RandomAccessCategory   
)
inline

Computes the size of a given range [ itb , ite )

Parameters
itbbegin iterator of the range
iteend iterator of the range
Returns
the size NB: in O(1)
Template Parameters
Iany iterator
template<typename C >
IteratorCirculatorTraits<C>::Difference DGtal::detail::rangeSize ( const C &  cb,
const C &  ce,
CirculatorType  ,
RandomAccessCategory   
)
inline

Computes the size of a given range [ cb, ce ). Note that if cb = ce then [ cb, ce ) is assumed to be a whole range.

Parameters
cbbegin iterator of the range
ceend iterator of the range
Returns
the size NB: in O(1)
Template Parameters
Cany circulator