Mercurial > hg > vamp-build-and-test
diff DEPENDENCIES/generic/include/boost/multi_array/extent_range.hpp @ 16:2665513ce2d3
Add boost headers
author | Chris Cannam |
---|---|
date | Tue, 05 Aug 2014 11:11:38 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DEPENDENCIES/generic/include/boost/multi_array/extent_range.hpp Tue Aug 05 11:11:38 2014 +0100 @@ -0,0 +1,49 @@ +// Copyright 2002 The Trustees of Indiana University. + +// Use, modification and distribution is subject to the Boost Software +// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +// Boost.MultiArray Library +// Authors: Ronald Garcia +// Jeremy Siek +// Andrew Lumsdaine +// See http://www.boost.org/libs/multi_array for documentation. + +#ifndef BOOST_EXTENT_RANGE_RG071801_HPP +#define BOOST_EXTENT_RANGE_RG071801_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; } +}; + +} // namespace multi_array +} // namespace detail +} // namespace boost + + +#endif // BOOST_EXTENT_RANGE_RG071801_HPP