|
||||
File indexing completed on 2025-01-18 09:35:35
0001 // Boost.Geometry (aka GGL, Generic Geometry Library) 0002 0003 // Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. 0004 // Copyright (c) 2008-2012 Bruno Lalande, Paris, France. 0005 // Copyright (c) 2009-2012 Mateusz Loskot, London, UK. 0006 0007 // This file was modified by Oracle on 2020-2021. 0008 // Modifications copyright (c) 2020-2021 Oracle and/or its affiliates. 0009 // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle 0010 0011 // Parts of Boost.Geometry are redesigned from Geodan's Geographic Library 0012 // (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. 0013 0014 // Use, modification and distribution is subject to the Boost Software License, 0015 // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 0016 // http://www.boost.org/LICENSE_1_0.txt) 0017 0018 #ifndef BOOST_GEOMETRY_ITERATORS_DETAIL_ITERATOR_BASE_HPP 0019 #define BOOST_GEOMETRY_ITERATORS_DETAIL_ITERATOR_BASE_HPP 0020 0021 #include <type_traits> 0022 0023 #include <boost/iterator/iterator_adaptor.hpp> 0024 #include <boost/iterator/iterator_categories.hpp> 0025 0026 #ifndef DOXYGEN_NO_DETAIL 0027 namespace boost { namespace geometry { namespace detail { namespace iterators 0028 { 0029 0030 template 0031 < 0032 typename DerivedClass, 0033 typename Iterator, 0034 typename TraversalFlag = boost::bidirectional_traversal_tag 0035 > 0036 struct iterator_base 0037 : public boost::iterator_adaptor 0038 < 0039 DerivedClass, 0040 Iterator, 0041 boost::use_default, 0042 std::conditional_t 0043 < 0044 std::is_convertible 0045 < 0046 typename boost::iterator_traversal<Iterator>::type, 0047 boost::random_access_traversal_tag 0048 >::value, 0049 TraversalFlag, 0050 boost::use_default 0051 > 0052 > 0053 { 0054 // Define operator cast to Iterator to be able to write things like Iterator it = myit++ 0055 inline operator Iterator() const 0056 { 0057 return this->base(); 0058 } 0059 0060 /*inline bool operator==(Iterator const& other) const 0061 { 0062 return this->base() == other; 0063 } 0064 inline bool operator!=(Iterator const& other) const 0065 { 0066 return ! operator==(other); 0067 }*/ 0068 }; 0069 0070 }}}} // namespace boost::geometry::detail::iterators 0071 #endif 0072 0073 0074 #endif // BOOST_GEOMETRY_ITERATORS_DETAIL_ITERATOR_BASE_HPP
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |