34 #if defined(PointVector_RECURSES)
35 #error Recursive header files inclusion detected in PointVector.h
36 #else // defined(PointVector_RECURSES)
38 #define PointVector_RECURSES
40 #if !defined PointVector_h
54 #include <boost/array.hpp>
59 #include "DGtal/base/Common.h"
60 #include "DGtal/base/CBidirectionalRange.h"
61 #include "DGtal/kernel/NumberTraits.h"
62 #include "DGtal/kernel/CEuclideanRing.h"
65 #include "DGtal/io/Color.h"
71 #define _HAS_MSVC_MAX_ true
75 #define _HAS_MSVC_MIN_ true
84 template<Dimension dim,
typename Container>
88 template<Dimension dim,
typename Container>
152 template < DGtal::Dimension dim,
typename TEucl
ideanRing >
183 typedef typename std::array<Component, dimension>::iterator
Iterator;
184 typedef typename std::array<Component, dimension>::const_iterator
ConstIterator;
185 typedef typename std::array<Component, dimension>::reverse_iterator
ReverseIterator;
188 typedef typename boost::array<Component, dimension>::iterator
Iterator;
189 typedef typename boost::array<Component, dimension>::const_iterator
ConstIterator;
190 typedef typename boost::array<Component, dimension>::reverse_iterator
ReverseIterator;
235 #ifdef CPP11_INITIALIZER_LIST
240 PointVector( std::initializer_list<Component> init );
241 #endif // CPP11_INITIALIZER_LIST
247 template<
typename Functor>
269 template <
typename OtherComponent>
281 #ifdef CPP11_INITIALIZER_LIST
292 std::initializer_list<Dimension> dimensions);
304 std::initializer_list<Dimension> dimensions);
316 const std::vector<Dimension> &dimensions);
328 const std::vector<Dimension> &dimensions);
338 const std::vector<Dimension> &dimensions )
const;
348 const std::vector<Dimension> &dimensions )
const;
611 template<
typename AnotherComponent>
794 std::array<Component, dimension>
myArray;
802 template<Dimension dim,
typename Component>
804 operator<<( std::ostream & out, const PointVector<dim, Component> & object );
806 template< Dimension dim,
typename Component>
812 #include "DGtal/kernel/PointVector.ih"
817 #endif // !defined PointVector_h
819 #undef PointVector_RECURSES
820 #endif // else defined(PointVector_RECURSES)