12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- #ifndef BOOST_MULTI_ARRAY_EXTENT_RANGE_HPP
- #define BOOST_MULTI_ARRAY_EXTENT_RANGE_HPP
- #include <utility>
- namespace boost {
- namespace detail {
- namespace multi_array {
- template <typename Extent, typename SizeType>
- class extent_range : private std::pair<Extent,Extent> {
- typedef std::pair<Extent,Extent> super_type;
- public:
- typedef Extent index;
- typedef SizeType size_type;
- extent_range(index start, index finish) :
- super_type(start,finish) { }
- extent_range(index finish) :
- super_type(0,finish) { }
- extent_range() : super_type(0,0) { }
- index start() const { return super_type::first; }
- index finish() const { return super_type::second; }
- size_type size() const { return super_type::second - super_type::first; }
- };
- }
- }
- }
- #endif
|