/usr/include/boost/polygon/detail
NameSizeModeActions
boolean_op.hpp175800644editdlrm
boolean_op_45.hpp576180644editdlrm
iterator_compact_to_points.hpp22800644editdlrm
iterator_geometry_to_set.hpp120820644editdlrm
iterator_points_to_compact.hpp20750644editdlrm
max_cover.hpp116360644editdlrm
minkowski.hpp49430644editdlrm
polygon_45_formation.hpp902100644editdlrm
polygon_45_set_view.hpp171250644editdlrm
polygon_45_touch.hpp92840644editdlrm
polygon_90_set_view.hpp245700644editdlrm
polygon_90_touch.hpp175170644editdlrm
polygon_arbitrary_formation.hpp1352780644editdlrm
polygon_formation.hpp879520644editdlrm
polygon_set_view.hpp89430644editdlrm
polygon_simplify.hpp39380644editdlrm
polygon_sort_adaptor.hpp21960644editdlrm
property_merge.hpp231130644editdlrm
property_merge_45.hpp63430644editdlrm
rectangle_formation.hpp122860644editdlrm
scan_arbitrary.hpp1449250644editdlrm
voronoi_ctypes.hpp172640644editdlrm
voronoi_predicates.hpp627290644editdlrm
voronoi_robust_fpt.hpp148830644editdlrm
voronoi_structures.hpp111310644editdlrm
Edit: /usr/include/boost/polygon/detail/iterator_points_to_compact.hpp (2075B)
/* Copyright 2008 Intel Corporation Use, modification and distribution are 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). */ #ifndef BOOST_POLYGON_ITERATOR_POINTS_TO_COMPACT_HPP #define BOOST_POLYGON_ITERATOR_POINTS_TO_COMPACT_HPP namespace boost { namespace polygon{ template class iterator_points_to_compact { private: iT iter_, iterEnd_; orientation_2d orient_; mutable typename point_traits::coordinate_type coord_; public: typedef typename point_traits::coordinate_type coordinate_type; typedef std::forward_iterator_tag iterator_category; typedef coordinate_type value_type; typedef std::ptrdiff_t difference_type; typedef const coordinate_type* pointer; //immutable typedef const coordinate_type& reference; //immutable inline iterator_points_to_compact() : iter_(), iterEnd_(), orient_(), coord_() {} inline iterator_points_to_compact(iT iter, iT iterEnd) : iter_(iter), iterEnd_(iterEnd), orient_(HORIZONTAL), coord_() {} inline iterator_points_to_compact(const iterator_points_to_compact& that) : iter_(that.iter_), iterEnd_(that.iterEnd_), orient_(that.orient_), coord_(that.coord_) {} //use bitwise copy and assign provided by the compiler inline iterator_points_to_compact& operator++() { //iT tmp = iter_; ++iter_; //iT tmp2 = iter_; orient_.turn_90(); //while(tmp2 != iterEnd_ && get(*tmp2, orient_) == get(*tmp, orient_)) { // iter_ = tmp2; // ++tmp2; //} return *this; } inline const iterator_points_to_compact operator++(int) { iT tmp(*this); ++(*this); return tmp; } inline bool operator==(const iterator_points_to_compact& that) const { return (iter_ == that.iter_); } inline bool operator!=(const iterator_points_to_compact& that) const { return (iter_ != that.iter_); } inline reference operator*() const { coord_ = get(*iter_, orient_); return coord_; } }; } } #endif