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::CSpace< T > Struct Template Reference

#include <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 ((CUnsignedInteger< Dimension >))
 BOOST_CONCEPT_ASSERT ((CInteger< Integer >))
 BOOST_CONCEPT_ASSERT ((CUnsignedInteger< Size >))
 BOOST_CONCEPT_USAGE (CSpace)

Private Attributes

Dimension myDim

Detailed Description

template<typename T>
struct DGtal::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 CUnsignedInteger
- Size: the type for measuring distances or counting elements in
  this space. Must be a model of CUnsignedInteger
- 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

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

Notes

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

Definition at line 106 of file CSpace.h.


Member Typedef Documentation

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

Definition at line 114 of file CSpace.h.

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

Definition at line 111 of file CSpace.h.

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

Definition at line 112 of file CSpace.h.

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

Definition at line 116 of file CSpace.h.

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

Definition at line 117 of file CSpace.h.

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

Definition at line 115 of file CSpace.h.

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

Definition at line 110 of file CSpace.h.

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

Definition at line 113 of file CSpace.h.


Member Function Documentation

template<typename T >
DGtal::CSpace< T >::BOOST_CONCEPT_ASSERT ( (CUnsignedInteger< Dimension >)  )
template<typename T >
DGtal::CSpace< T >::BOOST_CONCEPT_ASSERT ( (CInteger< Integer >)  )
template<typename T >
DGtal::CSpace< T >::BOOST_CONCEPT_ASSERT ( (CUnsignedInteger< Size >)  )
template<typename T >
DGtal::CSpace< T >::BOOST_CONCEPT_USAGE ( CSpace< T >  )
inline

Definition at line 122 of file CSpace.h.

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

{
//Should have a static dimension.
ConceptUtils::sameType( myDim, T::dimension );
}

Field Documentation

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

Definition at line 130 of file CSpace.h.

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


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