32 #if defined(HyperRectDomain_RECURSES)
33 #error Recursive header files inclusion detected in HyperRectDomain.h
34 #else // defined(HyperRectDomain_RECURSES)
36 #define HyperRectDomain_RECURSES
38 #if !defined HyperRectDomain_h
40 #define HyperRectDomain_h
46 #include "DGtal/base/Common.h"
47 #include "DGtal/kernel/CSpace.h"
48 #include "DGtal/kernel/BasicPointPredicates.h"
49 #include "DGtal/kernel/domains/CDomain.h"
50 #include "DGtal/kernel/domains/HyperRectDomain_Iterator.h"
51 #include "DGtal/kernel/NumberTraits.h"
52 #include "DGtal/base/CConstBidirectionalRange.h"
91 template<
typename TSpace>
109 typedef typename Space::Point
Point;
113 typedef typename Space::Size
Size;
230 const std::vector<Dimension> & permutation,
231 const Point & startingPoint)
237 std::copy(permutation.begin(),permutation.end(),
243 #ifdef CPP11_INITIALIZER_LIST
253 std::initializer_list<Dimension> permutation,
254 const Point & startingPoint)
260 for (
const unsigned int *c = permutation.begin();
261 c != permutation.end(); ++c )
279 const Point & startingPoint)
299 const Point & startingPoint)
321 const Point & startingPoint)
420 const Point & startingPoint)
const
431 const Point & startingPoint)
const
443 const Point & startingPoint)
const
444 {
return ConstSubRange(*
this, adim1, adim2, startingPoint); }
456 const Point & startingPoint)
const
457 {
return ConstSubRange(*
this, adim1, adim2, adim3, startingPoint); }
459 #ifdef CPP11_INITIALIZER_LIST
466 ConstSubRange
subRange(std::initializer_list<Dimension> permutation)
467 {
return ConstSubRange(*
this, permutation,
myLowerBound); }
477 ConstSubRange
subRange(std::initializer_list<Dimension> permutation,
478 const Point & startingPoint)
479 {
return ConstSubRange(*
this, permutation, startingPoint); }
503 for ( it = e.
begin(), itEnd = e.
end();
597 template<
typename TSpace>
599 operator<< ( std::ostream& out, const HyperRectDomain<TSpace> & object );
607 #include "DGtal/kernel/domains/HyperRectDomain.ih"
612 #endif // !defined HyperRectDomain_h
614 #undef HyperRectDomain_RECURSES
615 #endif // else defined(HyperRectDomain_RECURSES)