diff options
Diffstat (limited to 'boost/geometry/iterators/detail/point_iterator/value_type.hpp')
-rw-r--r-- | boost/geometry/iterators/detail/point_iterator/value_type.hpp | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/boost/geometry/iterators/detail/point_iterator/value_type.hpp b/boost/geometry/iterators/detail/point_iterator/value_type.hpp new file mode 100644 index 0000000000..7cdf366391 --- /dev/null +++ b/boost/geometry/iterators/detail/point_iterator/value_type.hpp @@ -0,0 +1,47 @@ +// Boost.Geometry (aka GGL, Generic Geometry Library) + +// Copyright (c) 2014, Oracle and/or its affiliates. + +// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle + +// Licensed under the Boost Software License version 1.0. +// http://www.boost.org/users/license.html + +#ifndef BOOST_GEOMETRY_ITERATORS_DETAIL_POINT_ITERATOR_VALUE_TYPE_HPP +#define BOOST_GEOMETRY_ITERATORS_DETAIL_POINT_ITERATOR_VALUE_TYPE_HPP + +#include <boost/type_traits/is_const.hpp> +#include <boost/mpl/if.hpp> + +#include <boost/geometry/core/point_type.hpp> + + +namespace boost { namespace geometry +{ + + +#ifndef DOXYGEN_NO_DETAIL +namespace detail { namespace point_iterator +{ + + +template <typename Geometry> +struct value_type +{ + typedef typename boost::mpl::if_c + < + !boost::is_const<Geometry>::type::value, + typename geometry::point_type<Geometry>::type, + typename geometry::point_type<Geometry>::type const + >::type type; +}; + + +}} // namespace detail::point_iterator +#endif // DOXYGEN_NO_DETAIL + + +}} // namespace boost::geometry + + +#endif // BOOST_GEOMETRY_ITERATORS_DETAIL_POINT_ITERATOR_VALUE_TYPE_HPP |