Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:35:18

0001 // Boost.Geometry (aka GGL, Generic Geometry Library)
0002 
0003 // Copyright (c) 2007-2015 Barend Gehrels, Amsterdam, the Netherlands.
0004 // Copyright (c) 2008-2015 Bruno Lalande, Paris, France.
0005 // Copyright (c) 2009-2015 Mateusz Loskot, London, UK.
0006 
0007 // This file was modified by Oracle on 2015, 2017.
0008 // Modifications copyright (c) 2015-2017, Oracle and/or its affiliates.
0009 
0010 // Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle
0011 // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
0012 
0013 // Parts of Boost.Geometry are redesigned from Geodan's Geographic Library
0014 // (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands.
0015 
0016 // Use, modification and distribution is subject to the Boost Software License,
0017 // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
0018 // http://www.boost.org/LICENSE_1_0.txt)
0019 
0020 #ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_NOT_HPP
0021 #define BOOST_GEOMETRY_ALGORITHMS_DETAIL_NOT_HPP
0022 
0023 namespace boost { namespace geometry
0024 {
0025 
0026 #ifndef DOXYGEN_NO_DETAIL
0027 namespace detail
0028 {
0029 
0030 
0031 
0032 /*!
0033 \brief Structure negating the result of specified policy
0034 \tparam Geometry1 \tparam_geometry
0035 \tparam Geometry2 \tparam_geometry
0036 \tparam Policy
0037 \param geometry1 \param_geometry
0038 \param geometry2 \param_geometry
0039 \return Negation of the result of the policy
0040  */
0041 template <typename Policy>
0042 struct not_
0043 {
0044     template <typename Geometry1, typename Geometry2>
0045     static inline bool apply(Geometry1 const& geometry1,
0046                              Geometry2 const& geometry2)
0047     {
0048         return ! Policy::apply(geometry1, geometry2);
0049     }
0050 
0051     template <typename Geometry1, typename Geometry2, typename Strategy>
0052     static inline bool apply(Geometry1 const& geometry1,
0053                              Geometry2 const& geometry2,
0054                              Strategy const& strategy)
0055     {
0056         return ! Policy::apply(geometry1, geometry2, strategy);
0057     }
0058 };
0059 
0060 
0061 } // namespace detail
0062 #endif // DOXYGEN_NO_DETAIL
0063 
0064 }} // namespace boost::geometry
0065 
0066 #endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_NOT_HPP