Boost logo

Boost :

Subject: Re: [boost] [type_traits] Modularization proposal
From: Peter Dimov (lists_at_[hidden])
Date: 2014-09-17 06:29:53


Andrey Semashev wrote:
> What is the reason of having type_traits.hpp in the first place? If it's
> an "include all" header to simplify user's life then "all" means all,
> including common_type, IMHO.

I consider common_type a separate mini-library, and as such, it seems
defensible to me for type_traits.hpp to not include it. Stated differently,
I don't consider it part of "all".

> I think such libraries should be fixed instead (by replacing
> type_traits.hpp inclusion with more specific headers).

If we consider use of type_traits.hpp a defect to be fixed, it doesn't make
much sense to have it.

Either way, here's the list.

Inclusion report for <boost/type_traits.hpp> (in module type_traits):

    from convert:
        <boost/convert/detail/is.hpp>

    from detail:
        <boost/detail/numeric_traits.hpp>

    from geometry:
        <boost/geometry/algorithms/assign.hpp>
        <boost/geometry/algorithms/detail/as_range.hpp>
        <boost/geometry/algorithms/detail/assign_values.hpp>
        <boost/geometry/algorithms/detail/recalculate.hpp>
        <boost/geometry/algorithms/length.hpp>
        <boost/geometry/core/cs.hpp>
        <boost/geometry/core/reverse_dispatch.hpp>
        <boost/geometry/core/tag_cast.hpp>
        <boost/geometry/extensions/gis/geographic/strategies/distance_cross_track.hpp>
        <boost/geometry/io/wkt/read.hpp>
        <boost/geometry/policies/robustness/get_rescale_policy.hpp>
        <boost/geometry/policies/robustness/rescale_policy.hpp>
        <boost/geometry/policies/robustness/robust_type.hpp>
        <boost/geometry/strategies/cartesian/centroid_bashein_detmer.hpp>
        <boost/geometry/strategies/cartesian/distance_projected_point.hpp>
        <boost/geometry/strategies/cartesian/distance_projected_point_ax.hpp>
        <boost/geometry/strategies/cartesian/distance_pythagoras.hpp>
        <boost/geometry/strategies/cartesian/side_by_triangle.hpp>
        <boost/geometry/strategies/spherical/distance_cross_track.hpp>
        <boost/geometry/strategies/spherical/side_by_cross_track.hpp>
        <boost/geometry/strategies/spherical/ssf.hpp>
        <boost/geometry/util/bare_type.hpp>
        <boost/geometry/util/calculation_type.hpp>
        <boost/geometry/util/combine_if.hpp>
        <boost/geometry/util/parameter_type_of.hpp>
        <boost/geometry/util/promote_floating_point.hpp>
        <boost/geometry/util/select_calculation_type.hpp>
        <boost/geometry/util/select_most_precise.hpp>

    from gil:
        <boost/gil/channel_algorithm.hpp>
        <boost/gil/color_base.hpp>
        <boost/gil/color_base_algorithm.hpp>
        <boost/gil/device_n.hpp>
        <boost/gil/gil_concept.hpp>
        <boost/gil/gray.hpp>
        <boost/gil/metafunctions.hpp>
    <boost/gil/pixel.hpp>
    <boost/gil/utilities.hpp>

from graph:
    <boost/graph/adjacency_matrix.hpp>
    <boost/graph/boyer_myrvold_planar_test.hpp>
    <boost/graph/dijkstra_shortest_paths.hpp>
    <boost/graph/directed_graph.hpp>
    <boost/graph/named_function_params.hpp>
    <boost/graph/properties.hpp>
    <boost/graph/reverse_graph.hpp>
    <boost/graph/subgraph.hpp>
    <boost/graph/two_graphs_common_spanning_trees.hpp>
    <boost/graph/undirected_graph.hpp>
    <boost/pending/property.hpp>

from icl:
    <boost/icl/functors.hpp>

from iterator:
    <boost/iterator/new_iterator_tests.hpp>
    <boost/pending/iterator_tests.hpp>

from msm:
    <boost/msm/back/state_machine.hpp>
    <boost/msm/front/euml/container.hpp>
    <boost/msm/front/euml/operator.hpp>
    <boost/msm/mpl_graph/detail/incidence_list_graph.ipp>

from multi_array:
    <boost/multi_array.hpp>

from numeric~odeint:
    <boost/numeric/odeint/algebra/detail/macros.hpp>
    <boost/numeric/odeint/stepper/bulirsch_stoer_dense_out.hpp>

from numeric~ublas:
    <boost/numeric/ublas/traits.hpp>
    <boost/numeric/ublas/vector_of_vector.hpp>

from property_map:
    <boost/property_map/compose_property_map.hpp>
    <boost/property_map/function_property_map.hpp>
    <boost/property_map/parallel/unsafe_serialize.hpp>
    <boost/property_map/transform_value_property_map.hpp>
from python:
    <boost/python/detail/defaults_def.hpp>

from signals:
    <boost/signals/trackable.hpp>

from tr1:
    <boost/tr1/type_traits.hpp>


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk