summaryrefslogtreecommitdiff
path: root/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/iterator/counting_iterator.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/iterator/counting_iterator.hpp')
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/iterator/counting_iterator.hpp220
1 files changed, 0 insertions, 220 deletions
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/iterator/counting_iterator.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/iterator/counting_iterator.hpp
deleted file mode 100644
index d90980e11..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/iterator/counting_iterator.hpp
+++ /dev/null
@@ -1,220 +0,0 @@
-// Copyright David Abrahams 2003.
-// Distributed under 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)
-#ifndef COUNTING_ITERATOR_DWA200348_HPP
-# define COUNTING_ITERATOR_DWA200348_HPP
-
-# include <boost/iterator/iterator_adaptor.hpp>
-# include <boost/detail/numeric_traits.hpp>
-# include <boost/mpl/bool.hpp>
-# include <boost/mpl/if.hpp>
-# include <boost/mpl/identity.hpp>
-# include <boost/mpl/eval_if.hpp>
-
-namespace boost {
-namespace iterators {
-
-template <
- class Incrementable
- , class CategoryOrTraversal
- , class Difference
->
-class counting_iterator;
-
-namespace detail
-{
- // Try to detect numeric types at compile time in ways compatible
- // with the limitations of the compiler and library.
- template <class T>
- struct is_numeric_impl
- {
- // For a while, this wasn't true, but we rely on it below. This is a regression assert.
- BOOST_STATIC_ASSERT(::boost::is_integral<char>::value);
-
-# ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-
- BOOST_STATIC_CONSTANT(bool, value = std::numeric_limits<T>::is_specialized);
-
-# else
-
-# if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551))
- BOOST_STATIC_CONSTANT(
- bool, value = (
- boost::is_convertible<int,T>::value
- && boost::is_convertible<T,int>::value
- ));
-# else
- BOOST_STATIC_CONSTANT(bool, value = ::boost::is_arithmetic<T>::value);
-# endif
-
-# endif
- };
-
- template <class T>
- struct is_numeric
- : mpl::bool_<(::boost::iterators::detail::is_numeric_impl<T>::value)>
- {};
-
-# if defined(BOOST_HAS_LONG_LONG)
- template <>
- struct is_numeric< ::boost::long_long_type>
- : mpl::true_ {};
-
- template <>
- struct is_numeric< ::boost::ulong_long_type>
- : mpl::true_ {};
-# endif
-
- // Some compilers fail to have a numeric_limits specialization
- template <>
- struct is_numeric<wchar_t>
- : mpl::true_ {};
-
- template <class T>
- struct numeric_difference
- {
- typedef typename boost::detail::numeric_traits<T>::difference_type type;
- };
-
- BOOST_STATIC_ASSERT(is_numeric<int>::value);
-
- template <class Incrementable, class CategoryOrTraversal, class Difference>
- struct counting_iterator_base
- {
- typedef typename detail::ia_dflt_help<
- CategoryOrTraversal
- , mpl::eval_if<
- is_numeric<Incrementable>
- , mpl::identity<random_access_traversal_tag>
- , iterator_traversal<Incrementable>
- >
- >::type traversal;
-
- typedef typename detail::ia_dflt_help<
- Difference
- , mpl::eval_if<
- is_numeric<Incrementable>
- , numeric_difference<Incrementable>
- , iterator_difference<Incrementable>
- >
- >::type difference;
-
- typedef iterator_adaptor<
- counting_iterator<Incrementable, CategoryOrTraversal, Difference> // self
- , Incrementable // Base
- , Incrementable // Value
-# ifndef BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY
- const // MSVC won't strip this. Instead we enable Thomas'
- // criterion (see boost/iterator/detail/facade_iterator_category.hpp)
-# endif
- , traversal
- , Incrementable const& // reference
- , difference
- > type;
- };
-
- // Template class distance_policy_select -- choose a policy for computing the
- // distance between counting_iterators at compile-time based on whether or not
- // the iterator wraps an integer or an iterator, using "poor man's partial
- // specialization".
-
- template <bool is_integer> struct distance_policy_select;
-
- // A policy for wrapped iterators
- template <class Difference, class Incrementable1, class Incrementable2>
- struct iterator_distance
- {
- static Difference distance(Incrementable1 x, Incrementable2 y)
- {
- return y - x;
- }
- };
-
- // A policy for wrapped numbers
- template <class Difference, class Incrementable1, class Incrementable2>
- struct number_distance
- {
- static Difference distance(Incrementable1 x, Incrementable2 y)
- {
- return boost::detail::numeric_distance(x, y);
- }
- };
-}
-
-template <
- class Incrementable
- , class CategoryOrTraversal = use_default
- , class Difference = use_default
->
-class counting_iterator
- : public detail::counting_iterator_base<
- Incrementable, CategoryOrTraversal, Difference
- >::type
-{
- typedef typename detail::counting_iterator_base<
- Incrementable, CategoryOrTraversal, Difference
- >::type super_t;
-
- friend class iterator_core_access;
-
- public:
- typedef typename super_t::difference_type difference_type;
-
- counting_iterator() { }
-
- counting_iterator(counting_iterator const& rhs) : super_t(rhs.base()) {}
-
- counting_iterator(Incrementable x)
- : super_t(x)
- {
- }
-
-# if 0
- template<class OtherIncrementable>
- counting_iterator(
- counting_iterator<OtherIncrementable, CategoryOrTraversal, Difference> const& t
- , typename enable_if_convertible<OtherIncrementable, Incrementable>::type* = 0
- )
- : super_t(t.base())
- {}
-# endif
-
- private:
-
- typename super_t::reference dereference() const
- {
- return this->base_reference();
- }
-
- template <class OtherIncrementable>
- difference_type
- distance_to(counting_iterator<OtherIncrementable, CategoryOrTraversal, Difference> const& y) const
- {
- typedef typename mpl::if_<
- detail::is_numeric<Incrementable>
- , detail::number_distance<difference_type, Incrementable, OtherIncrementable>
- , detail::iterator_distance<difference_type, Incrementable, OtherIncrementable>
- >::type d;
-
- return d::distance(this->base(), y.base());
- }
-};
-
-// Manufacture a counting iterator for an arbitrary incrementable type
-template <class Incrementable>
-inline counting_iterator<Incrementable>
-make_counting_iterator(Incrementable x)
-{
- typedef counting_iterator<Incrementable> result_t;
- return result_t(x);
-}
-
-} // namespace iterators
-
-using iterators::counting_iterator;
-using iterators::make_counting_iterator;
-
-} // namespace boost
-
-#endif // COUNTING_ITERATOR_DWA200348_HPP