# DGtal::CDomain< T > Struct Template Reference

Aim: This concept represents a digital domain, i.e. a non mutable subset of points of the given digital space. More...

`#include <CDomain.h>`

## Public Types

typedef T::Domain Domain
typedef T::Space Space
typedef T::Point Point
typedef T::Vector Vector
typedef T::Integer Integer
typedef T::Size Size
typedef T::Dimension Dimension
typedef T::ConstIterator ConstIterator
typedef T::Predicate Predicate

## Public Member Functions

BOOST_CONCEPT_USAGE (CDomain)

## Private Attributes

myT
Point myP
Predicate myPred
bool myBool
ConstIterator myIt

## Detailed Description

### template<typename T> struct DGtal::CDomain< T >

Aim: This concept represents a digital domain, i.e. a non mutable subset of points of the given digital space.

Description of concept 'CDomain'

Refinement of

Associated types :

• Domain : the type itself of the CDomain model.
• Space : the embedding digital space.
• Point : the point type of the space
• SizeType : the type used for counting elements of the space.
• Vector : the vector type of the space
• Predicate : the type of the predicate returning true for exactly the points of this domain.
• ConstIterator : the type used for iterating/visiting the points of the domain.

Notation

Definitions

Valid expressions and semantics

 Name Expression Type requirements Return type Precondition Semantics Postcondition Complexity Const Iterator `begin` it = x.begin() const ConstIterator & return the iterator pointing on the first element of the domain. O(1) Const Iterator `end` it = x.end() const ConstIterator & return the iterator pointing after the last element of the domain. O(1) lower bound x.lowerBound() const Point & return the infimum of all points of the domain. O(1) upper bound x.upperBound() const Point & return the supremum of all points of the domain. O(1) inside domain test x.isInside( p ) `bool` return 'true' whenever `p` is in the domain. inside domain predicate object x.predicate() const Predicate & return a reference to the predicate object equivalent to the isinside(p) test.

Invariants

Models
HyperRectDomain

Notes

Todo:
Complete domain checking.

## Member Typedef Documentation

template<typename T >
 typedef T::ConstIterator DGtal::CDomain< T >::ConstIterator
template<typename T >
 typedef T::Dimension DGtal::CDomain< T >::Dimension
template<typename T >
 typedef T::Domain DGtal::CDomain< T >::Domain
template<typename T >
 typedef T::Integer DGtal::CDomain< T >::Integer
template<typename T >
 typedef T::Point DGtal::CDomain< T >::Point
template<typename T >
 typedef T::Predicate DGtal::CDomain< T >::Predicate
template<typename T >
 typedef T::Size DGtal::CDomain< T >::Size
template<typename T >
 typedef T::Space DGtal::CDomain< T >::Space
template<typename T >
 typedef T::Vector DGtal::CDomain< T >::Vector

## Member Function Documentation

template<typename T >
 DGtal::CDomain< T >::BOOST_CONCEPT_USAGE ( CDomain< T > ) ` [inline]`

## Field Documentation

template<typename T >
 bool DGtal::CDomain< T >::myBool` [private]`
template<typename T >
 ConstIterator DGtal::CDomain< T >::myIt` [private]`
template<typename T >
 Point DGtal::CDomain< T >::myP` [private]`
template<typename T >
 Predicate DGtal::CDomain< T >::myPred` [private]`
template<typename T >
 T DGtal::CDomain< T >::myT` [private]`

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