Fix indentation in named_param_helpers.h (no real changes)

This commit is contained in:
Mael Rouxel-Labbé 2022-04-20 15:37:26 +02:00
parent 13d78e8eec
commit f4012763a9
1 changed files with 364 additions and 387 deletions

View File

@ -10,36 +10,38 @@
#define CGAL_BOOST_GRAPH_NAMED_PARAMETERS_HELPERS_H #define CGAL_BOOST_GRAPH_NAMED_PARAMETERS_HELPERS_H
#include <CGAL/boost/graph/internal/initialized_index_maps_helpers.h> #include <CGAL/boost/graph/internal/initialized_index_maps_helpers.h>
#include <CGAL/Named_function_parameters.h>
#include <CGAL/boost/graph/properties.h> #include <CGAL/boost/graph/properties.h>
#include <CGAL/Dynamic_property_map.h> #include <CGAL/Dynamic_property_map.h>
#include <CGAL/iterator.h>
#include <CGAL/Kernel_traits.h> #include <CGAL/Kernel_traits.h>
#include <CGAL/Origin.h> #include <CGAL/Origin.h>
#include <CGAL/iterator.h> #include <CGAL/Named_function_parameters.h>
#include <CGAL/property_map.h> #include <CGAL/property_map.h>
#include <boost/mpl/if.hpp> #include <boost/mpl/if.hpp>
#include <boost/mpl/has_xxx.hpp> #include <boost/mpl/has_xxx.hpp>
#include <boost/type_traits/is_same.hpp> #include <boost/type_traits/is_same.hpp>
#include <fstream>
#include <iterator>
#include <type_traits> #include <type_traits>
namespace CGAL { namespace CGAL {
namespace parameters {
namespace parameters
{
template <class Parameter, class NamedParameters> template <class Parameter, class NamedParameters>
struct Is_default struct Is_default
{ {
typedef typename internal_np::Lookup_named_param_def < typedef typename internal_np::Lookup_named_param_def<Parameter,
Parameter,
NamedParameters, NamedParameters,
internal_np::Param_not_found>::type NP_type; internal_np::Param_not_found>::type NP_type;
static const bool value = boost::is_same<NP_type, internal_np::Param_not_found>::value; static const bool value = boost::is_same<NP_type, internal_np::Param_not_found>::value;
typedef CGAL::Boolean_tag<value> type; typedef CGAL::Boolean_tag<value> type;
}; };
} // end of parameters namespace
} // namespace parameters
// forward declarations to avoid dependency to Solver_interface // forward declarations to avoid dependency to Solver_interface
template <typename FT, unsigned int dim> template <typename FT, unsigned int dim>
@ -49,20 +51,19 @@ namespace CGAL {
struct Alpha_expansion_boost_adjacency_list_tag; struct Alpha_expansion_boost_adjacency_list_tag;
// //
//helper classes //helper classes
template<typename PolygonMesh, typename PropertyTag> template<typename PolygonMesh, typename PropertyTag>
class property_map_selector class property_map_selector
{ {
public: public:
typedef typename graph_has_property<PolygonMesh, PropertyTag>::type Has_internal_pmap; typedef typename graph_has_property<PolygonMesh, PropertyTag>::type Has_internal_pmap;
typedef typename boost::mpl::if_c< Has_internal_pmap::value typedef typename boost::mpl::if_c<Has_internal_pmap::value,
, typename boost::property_map<PolygonMesh, PropertyTag>::type typename boost::property_map<PolygonMesh, PropertyTag>::type,
, typename boost::cgal_no_property::type typename boost::cgal_no_property::type
>::type type; >::type type;
typedef typename boost::mpl::if_c< Has_internal_pmap::value typedef typename boost::mpl::if_c<Has_internal_pmap::value,
, typename boost::property_map<PolygonMesh, PropertyTag>::const_type typename boost::property_map<PolygonMesh, PropertyTag>::const_type,
, typename boost::cgal_no_property::const_type typename boost::cgal_no_property::const_type
>::type const_type; >::type const_type;
type get_pmap(const PropertyTag& p, PolygonMesh& pmesh) type get_pmap(const PropertyTag& p, PolygonMesh& pmesh)
@ -115,8 +116,10 @@ namespace CGAL {
// Shortcut for accessing the value type of the property map // Shortcut for accessing the value type of the property map
template <class Graph, class Property> template <class Graph, class Property>
class property_map_value { class property_map_value
{
typedef typename boost::property_map<Graph, Property>::const_type PMap; typedef typename boost::property_map<Graph, Property>::const_type PMap;
public: public:
typedef typename boost::property_traits<PMap>::value_type type; typedef typename boost::property_traits<PMap>::value_type type;
}; };
@ -129,25 +132,22 @@ namespace CGAL {
DefaultVPMap_const; DefaultVPMap_const;
typedef typename property_map_selector<PolygonMesh, boost::vertex_point_t>::type typedef typename property_map_selector<PolygonMesh, boost::vertex_point_t>::type
DefaultVPMap; DefaultVPMap;
public: public:
typedef typename internal_np::Lookup_named_param_def< typedef typename internal_np::Lookup_named_param_def<internal_np::vertex_point_t,
internal_np::vertex_point_t,
NamedParameters, NamedParameters,
DefaultVPMap DefaultVPMap>::type type;
> ::type type; typedef typename internal_np::Lookup_named_param_def<internal_np::vertex_point_t,
typedef typename internal_np::Lookup_named_param_def<
internal_np::vertex_point_t,
NamedParameters, NamedParameters,
DefaultVPMap_const DefaultVPMap_const>::type const_type;
> ::type const_type;
}; };
template<typename PolygonMesh, typename NamedParameters> template<typename PolygonMesh, typename NamedParameters>
class GetK class GetK
{ {
typedef typename boost::property_traits< typedef typename boost::property_traits<
typename GetVertexPointMap<PolygonMesh, NamedParameters>::type typename GetVertexPointMap<PolygonMesh, NamedParameters>::type>::value_type Point;
>::value_type Point;
public: public:
typedef typename CGAL::Kernel_traits<Point>::Kernel Kernel; typedef typename CGAL::Kernel_traits<Point>::Kernel Kernel;
}; };
@ -157,27 +157,23 @@ namespace CGAL {
typename NamedParametersVPM = NamedParametersGT> typename NamedParametersVPM = NamedParametersGT>
class GetGeomTraits class GetGeomTraits
{ {
typedef typename CGAL::graph_has_property<PolygonMesh, boost::vertex_point_t>::type typedef typename CGAL::graph_has_property<PolygonMesh, boost::vertex_point_t>::type Has_internal_pmap;
Has_internal_pmap;
typedef typename internal_np::Lookup_named_param_def < typedef typename internal_np::Lookup_named_param_def<internal_np::vertex_point_t,
internal_np::vertex_point_t,
NamedParametersVPM, NamedParametersVPM,
internal_np::Param_not_found internal_np::Param_not_found>::type NP_vpm;
> ::type NP_vpm;
struct Fake_GT {}; // to be used if there is no internal vertex_point_map in PolygonMesh struct Fake_GT {}; // to be used if there is no internal vertex_point_map in PolygonMesh
typedef typename boost::mpl::if_c<Has_internal_pmap::value || !boost::is_same<internal_np::Param_not_found, NP_vpm>::value, typedef typename boost::mpl::if_c<Has_internal_pmap::value ||
!boost::is_same<internal_np::Param_not_found, NP_vpm>::value,
typename GetK<PolygonMesh, NamedParametersVPM>::Kernel, typename GetK<PolygonMesh, NamedParametersVPM>::Kernel,
Fake_GT>::type DefaultKernel; Fake_GT>::type DefaultKernel;
public: public:
typedef typename internal_np::Lookup_named_param_def < typedef typename internal_np::Lookup_named_param_def<internal_np::geom_traits_t,
internal_np::geom_traits_t,
NamedParametersGT, NamedParametersGT,
DefaultKernel DefaultKernel>::type type;
> ::type type;
}; };
// Define the following structs: // Define the following structs:
@ -260,14 +256,15 @@ CGAL_DEF_GET_INITIALIZED_INDEX_MAP(face, typename boost::graph_traits<Graph>::fa
#undef CGAL_DEF_GET_INITIALIZED_INDEX_MAP #undef CGAL_DEF_GET_INITIALIZED_INDEX_MAP
namespace internal { namespace internal {
BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(Has_nested_type_iterator, iterator, false) BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(Has_nested_type_iterator, iterator, false)
}
} // namespace internal
template<typename PointRange, template<typename PointRange,
typename NamedParameters = parameters::Default_named_parameters, typename NamedParameters = parameters::Default_named_parameters,
bool has_nested_iterator = internal::Has_nested_type_iterator<PointRange>::value, bool has_nested_iterator = internal::Has_nested_type_iterator<PointRange>::value,
typename NP_TAG = internal_np::point_t typename NP_TAG = internal_np::point_t>
>
class GetPointMap class GetPointMap
{ {
typedef typename std::iterator_traits<typename PointRange::iterator>::value_type Point; typedef typename std::iterator_traits<typename PointRange::iterator>::value_type Point;
@ -275,17 +272,13 @@ CGAL_DEF_GET_INITIALIZED_INDEX_MAP(face, typename boost::graph_traits<Graph>::fa
typedef typename CGAL::Identity_property_map<const Point> DefaultConstPMap; typedef typename CGAL::Identity_property_map<const Point> DefaultConstPMap;
public: public:
typedef typename internal_np::Lookup_named_param_def< typedef typename internal_np::Lookup_named_param_def<NP_TAG,
NP_TAG,
NamedParameters, NamedParameters,
DefaultPMap DefaultPMap>::type type;
> ::type type;
typedef typename internal_np::Lookup_named_param_def< typedef typename internal_np::Lookup_named_param_def<NP_TAG,
NP_TAG,
NamedParameters, NamedParameters,
DefaultConstPMap DefaultConstPMap>::type const_type;
> ::type const_type;
}; };
// to please compiler instantiating non valid overloads // to please compiler instantiating non valid overloads
@ -293,6 +286,7 @@ CGAL_DEF_GET_INITIALIZED_INDEX_MAP(face, typename boost::graph_traits<Graph>::fa
class GetPointMap<PointRange, NamedParameters, false> class GetPointMap<PointRange, NamedParameters, false>
{ {
struct Dummy_point{}; struct Dummy_point{};
public: public:
typedef typename CGAL::Identity_property_map<Dummy_point> type; typedef typename CGAL::Identity_property_map<Dummy_point> type;
typedef typename CGAL::Identity_property_map<const Dummy_point> const_type; typedef typename CGAL::Identity_property_map<const Dummy_point> const_type;
@ -306,28 +300,26 @@ CGAL_DEF_GET_INITIALIZED_INDEX_MAP(face, typename boost::graph_traits<Graph>::fa
typedef CGAL::Identity_property_map<const Value_type> DefaultConstPMap; typedef CGAL::Identity_property_map<const Value_type> DefaultConstPMap;
typedef typename internal_np::Lookup_named_param_def<NP_TAG, typedef typename internal_np::Lookup_named_param_def<NP_TAG,
NamedParameters,DefaultPMap> ::type Point_map; // public NamedParameters,
DefaultPMap>::type Point_map;
typedef typename internal_np::Lookup_named_param_def<NP_TAG, typedef typename internal_np::Lookup_named_param_def<NP_TAG,
NamedParameters,DefaultConstPMap> ::type Const_point_map; // public NamedParameters,
DefaultConstPMap>::type Const_point_map;
typedef typename boost::property_traits<Point_map>::value_type Point; typedef typename boost::property_traits<Point_map>::value_type Point;
typedef typename Kernel_traits<Point>::Kernel Default_geom_traits; typedef typename Kernel_traits<Point>::Kernel Default_geom_traits;
typedef typename internal_np::Lookup_named_param_def < typedef typename internal_np::Lookup_named_param_def<internal_np::geom_traits_t,
internal_np::geom_traits_t,
NamedParameters, NamedParameters,
Default_geom_traits Default_geom_traits>::type Geom_traits;
> ::type Geom_traits; // public
typedef typename Geom_traits::FT FT; // public typedef typename Geom_traits::FT FT;
typedef Constant_property_map<Value_type, typename Geom_traits::Vector_3> DummyNormalMap; typedef Constant_property_map<Value_type, typename Geom_traits::Vector_3> DummyNormalMap;
typedef typename internal_np::Lookup_named_param_def< typedef typename internal_np::Lookup_named_param_def<internal_np::normal_t,
internal_np::normal_t,
NamedParameters, NamedParameters,
DummyNormalMap DummyNormalMap>::type Normal_map;
> ::type Normal_map; // public
static Point_map get_point_map(PointRange&, const NamedParameters& np) static Point_map get_point_map(PointRange&, const NamedParameters& np)
{ {
@ -367,6 +359,7 @@ CGAL_DEF_GET_INITIALIZED_INDEX_MAP(face, typename boost::graph_traits<Graph>::fa
}; };
namespace Point_set_processing_3 { namespace Point_set_processing_3 {
template <typename ValueType> template <typename ValueType>
struct Fake_point_range struct Fake_point_range
{ {
@ -388,43 +381,36 @@ CGAL_DEF_GET_INITIALIZED_INDEX_MAP(face, typename boost::graph_traits<Graph>::fa
typedef typename CGAL::Identity_property_map<const Plane> DefaultConstPMap; typedef typename CGAL::Identity_property_map<const Plane> DefaultConstPMap;
public: public:
typedef typename internal_np::Lookup_named_param_def< typedef typename internal_np::Lookup_named_param_def<internal_np::plane_t,
internal_np::plane_t,
NamedParameters, NamedParameters,
DefaultPMap DefaultPMap>::type type;
> ::type type;
typedef typename internal_np::Lookup_named_param_def< typedef typename internal_np::Lookup_named_param_def<internal_np::plane_t,
internal_np::plane_t,
NamedParameters, NamedParameters,
DefaultConstPMap DefaultConstPMap>::type const_type;
> ::type const_type;
}; };
template<typename NamedParameters> template<typename NamedParameters>
class GetPlaneIndexMap class GetPlaneIndexMap
{ {
typedef Constant_property_map<std::size_t, int> DummyPlaneIndexMap; typedef Constant_property_map<std::size_t, int> DummyPlaneIndexMap;
public: public:
typedef typename internal_np::Lookup_named_param_def < typedef typename internal_np::Lookup_named_param_def<internal_np::plane_index_t,
internal_np::plane_index_t,
NamedParameters, NamedParameters,
DummyPlaneIndexMap//default DummyPlaneIndexMap>::type type;
> ::type type;
}; };
template<typename PointRange, typename NamedParameters> template<typename PointRange, typename NamedParameters>
class GetIsConstrainedMap class GetIsConstrainedMap
{ {
typedef Static_boolean_property_map< typedef Static_boolean_property_map<
typename std::iterator_traits<typename PointRange::iterator>::value_type, typename std::iterator_traits<typename PointRange::iterator>::value_type, false> Default_map;
false> Default_map;
public: public:
typedef typename internal_np::Lookup_named_param_def < typedef typename internal_np::Lookup_named_param_def<internal_np::point_is_constrained_t,
internal_np::point_is_constrained_t,
NamedParameters, NamedParameters,
Default_map //default Default_map>::type type;
> ::type type;
}; };
template<typename PointRange, typename NamedParameters> template<typename PointRange, typename NamedParameters>
@ -432,11 +418,9 @@ CGAL_DEF_GET_INITIALIZED_INDEX_MAP(face, typename boost::graph_traits<Graph>::fa
{ {
public: public:
typedef Emptyset_iterator Empty; typedef Emptyset_iterator Empty;
typedef typename internal_np::Lookup_named_param_def < typedef typename internal_np::Lookup_named_param_def<internal_np::adjacencies_t,
internal_np::adjacencies_t,
NamedParameters, NamedParameters,
Empty//default Empty>::type type;
> ::type type;
}; };
} // namespace Point_set_processing_3 } // namespace Point_set_processing_3
@ -445,22 +429,18 @@ CGAL_DEF_GET_INITIALIZED_INDEX_MAP(face, typename boost::graph_traits<Graph>::fa
class GetSolver class GetSolver
{ {
public: public:
typedef typename internal_np::Lookup_named_param_def < typedef typename internal_np::Lookup_named_param_def<internal_np::sparse_linear_solver_t,
internal_np::sparse_linear_solver_t,
NamedParameters, NamedParameters,
DefaultSolver DefaultSolver>::type type;
> ::type type;
}; };
template<typename NamedParameters, typename FT, unsigned int dim = 3> template<typename NamedParameters, typename FT, unsigned int dim = 3>
class GetDiagonalizeTraits class GetDiagonalizeTraits
{ {
public: public:
typedef typename internal_np::Lookup_named_param_def < typedef typename internal_np::Lookup_named_param_def<internal_np::diagonalize_traits_t,
internal_np::diagonalize_traits_t,
NamedParameters, NamedParameters,
Default_diagonalize_traits<FT, dim> Default_diagonalize_traits<FT, dim> >::type type;
> ::type type;
}; };
template<typename NamedParameters> template<typename NamedParameters>
@ -477,8 +457,7 @@ CGAL_DEF_GET_INITIALIZED_INDEX_MAP(face, typename boost::graph_traits<Graph>::fa
public: public:
typedef DummySvdTraits NoTraits; typedef DummySvdTraits NoTraits;
typedef typename internal_np::Lookup_named_param_def < typedef typename internal_np::Lookup_named_param_def<internal_np::svd_traits_t,
internal_np::svd_traits_t,
NamedParameters, NamedParameters,
#if defined(CGAL_EIGEN3_ENABLED) #if defined(CGAL_EIGEN3_ENABLED)
Eigen_svd Eigen_svd
@ -494,11 +473,9 @@ CGAL_DEF_GET_INITIALIZED_INDEX_MAP(face, typename boost::graph_traits<Graph>::fa
class GetImplementationTag class GetImplementationTag
{ {
public: public:
typedef typename internal_np::Lookup_named_param_def < typedef typename internal_np::Lookup_named_param_def<internal_np::implementation_tag_t,
internal_np::implementation_tag_t,
NamedParameters, NamedParameters,
Alpha_expansion_boost_adjacency_list_tag Alpha_expansion_boost_adjacency_list_tag>::type type;
>::type type;
}; };
template<typename NP> template<typename NP>
@ -515,7 +492,7 @@ CGAL_DEF_GET_INITIALIZED_INDEX_MAP(face, typename boost::graph_traits<Graph>::fa
os.precision(precision); os.precision(precision);
} }
} }
} // namespace CGAL } // namespace CGAL
#endif // CGAL_BOOST_GRAPH_NAMED_PARAMETERS_HELPERS_H #endif // CGAL_BOOST_GRAPH_NAMED_PARAMETERS_HELPERS_H