File indexing completed on 2025-01-18 09:36:44
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 #ifndef BOOST_GEOMETRY_STRATEGIES_CONCEPTS_CENTROID_CONCEPT_HPP
0015 #define BOOST_GEOMETRY_STRATEGIES_CONCEPTS_CENTROID_CONCEPT_HPP
0016
0017
0018
0019 #include <boost/concept_check.hpp>
0020 #include <boost/core/ignore_unused.hpp>
0021
0022 namespace boost { namespace geometry { namespace concepts
0023 {
0024
0025
0026
0027
0028
0029
0030 template <typename Strategy>
0031 class CentroidStrategy
0032 {
0033 #ifndef DOXYGEN_NO_CONCEPT_MEMBERS
0034
0035
0036 typedef typename Strategy::state_type state_type;
0037
0038
0039 typedef typename Strategy::point_type point_type;
0040
0041
0042 typedef typename Strategy::segment_point_type spoint_type;
0043
0044 struct check_methods
0045 {
0046 static void apply()
0047 {
0048 Strategy *str = 0;
0049 state_type *st = 0;
0050
0051
0052
0053 spoint_type const* sp = 0;
0054 str->apply(*sp, *sp, *st);
0055
0056
0057
0058 point_type *c = 0;
0059 bool r = str->result(*st, *c);
0060
0061 boost::ignore_unused(str, r);
0062 }
0063 };
0064
0065 public :
0066 BOOST_CONCEPT_USAGE(CentroidStrategy)
0067 {
0068 check_methods::apply();
0069 }
0070 #endif
0071 };
0072
0073
0074 }}}
0075
0076
0077 #endif