DGtal  1.4.beta
DGtal::concepts::CSpace< T > Struct Template Reference

Aim: Defines the concept describing a digital space, ie a cartesian product of integer lines. More...

#include <DGtal/kernel/CSpace.h>

Public Types

typedef T::Space Space
 
typedef T::Integer Integer
 
typedef T::Point Point
 
typedef T::Vector Vector
 
typedef T::Dimension Dimension
 
typedef T::Size Size
 
typedef T::RealPoint RealPoint
 
typedef T::RealVector RealVector
 

Public Member Functions

 BOOST_CONCEPT_ASSERT ((CUnsignedNumber< Dimension >))
 
 BOOST_CONCEPT_ASSERT ((CIntegralNumber< Dimension >))
 
 BOOST_CONCEPT_ASSERT ((CInteger< Integer >))
 
 BOOST_CONCEPT_ASSERT ((CUnsignedNumber< Size >))
 
 BOOST_CONCEPT_ASSERT ((CIntegralNumber< Size >))
 
 BOOST_CONCEPT_USAGE (CSpace)
 

Private Attributes

Dimension myDim
 

Detailed Description

template<typename T>
struct DGtal::concepts::CSpace< T >

Aim: Defines the concept describing a digital space, ie a cartesian product of integer lines.

Description of concept 'CSpace'

Refinement of

Provided types

  • Space: the type itself.
  • Integer: the type for the components or coordinates of the space. Must be a model of CInteger.
  • Point: the type for a point in this space.
  • Vector: the type for a vector in this space.
  • Dimension: the type for the dimension in this space. Must be a model of CUnsignedNumber and CIntegralNumber
  • Size: the type for measuring distances or counting elements in this space. Must be a model of CUnsignedNumber and CIntegralNumber
  • RealPoint: the type for a point in the real vector space of same dimension.
  • RealVector: the type for a Euclidean vector in the real vector space of same dimension.

Notation

  • X : A type that is a model of CSpace

Definitions

Valid expressions and semantics

Name Expression Type requirements Return type Precondition Semantics Post condition Complexity
dimension X::dimension X should have a static member dimension of type Dimension.

Invariants

Models

SpaceND is the usual model of CSpace.

Notes

Template Parameters
Tthe type that is checked. T should be a model of CSpace.

Definition at line 105 of file CSpace.h.

Member Typedef Documentation

◆ Dimension

template<typename T >
typedef T::Dimension DGtal::concepts::CSpace< T >::Dimension

Definition at line 113 of file CSpace.h.

◆ Integer

template<typename T >
typedef T::Integer DGtal::concepts::CSpace< T >::Integer

Definition at line 110 of file CSpace.h.

◆ Point

template<typename T >
typedef T::Point DGtal::concepts::CSpace< T >::Point

Definition at line 111 of file CSpace.h.

◆ RealPoint

template<typename T >
typedef T::RealPoint DGtal::concepts::CSpace< T >::RealPoint

Definition at line 115 of file CSpace.h.

◆ RealVector

template<typename T >
typedef T::RealVector DGtal::concepts::CSpace< T >::RealVector

Definition at line 116 of file CSpace.h.

◆ Size

template<typename T >
typedef T::Size DGtal::concepts::CSpace< T >::Size

Definition at line 114 of file CSpace.h.

◆ Space

template<typename T >
typedef T::Space DGtal::concepts::CSpace< T >::Space

Definition at line 109 of file CSpace.h.

◆ Vector

template<typename T >
typedef T::Vector DGtal::concepts::CSpace< T >::Vector

Definition at line 112 of file CSpace.h.

Member Function Documentation

◆ BOOST_CONCEPT_ASSERT() [1/5]

template<typename T >
DGtal::concepts::CSpace< T >::BOOST_CONCEPT_ASSERT ( (CInteger< Integer >)  )

◆ BOOST_CONCEPT_ASSERT() [2/5]

template<typename T >
DGtal::concepts::CSpace< T >::BOOST_CONCEPT_ASSERT ( (CIntegralNumber< Dimension >)  )

◆ BOOST_CONCEPT_ASSERT() [3/5]

template<typename T >
DGtal::concepts::CSpace< T >::BOOST_CONCEPT_ASSERT ( (CIntegralNumber< Size >)  )

◆ BOOST_CONCEPT_ASSERT() [4/5]

template<typename T >
DGtal::concepts::CSpace< T >::BOOST_CONCEPT_ASSERT ( (CUnsignedNumber< Dimension >)  )

◆ BOOST_CONCEPT_ASSERT() [5/5]

template<typename T >
DGtal::concepts::CSpace< T >::BOOST_CONCEPT_ASSERT ( (CUnsignedNumber< Size >)  )

◆ BOOST_CONCEPT_USAGE()

template<typename T >
DGtal::concepts::CSpace< T >::BOOST_CONCEPT_USAGE ( CSpace< T >  )
inline

Definition at line 123 of file CSpace.h.

124  {
125  //Should have a static dimension.
126  ConceptUtils::sameType( myDim, T::dimension );
127  }
void sameType(const T &, const T &)
Definition: ConceptUtils.h:117

References DGtal::concepts::CSpace< T >::myDim, and DGtal::concepts::ConceptUtils::sameType().

Field Documentation

◆ myDim

template<typename T >
Dimension DGtal::concepts::CSpace< T >::myDim
private

Definition at line 131 of file CSpace.h.

Referenced by DGtal::concepts::CSpace< T >::BOOST_CONCEPT_USAGE().


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