Boost logo

Boost :

Subject: [boost] [functional] How to avoid a dependency on functional?
From: Beman Dawes (bdawes_at_[hidden])
Date: 2015-01-09 14:42:50


Filesystem has a dependency on <boost/functional/hash_fwd.hpp> in
order to supply this:

  inline std::size_t hash_value(const path& x)
  {
# ifdef BOOST_WINDOWS_API
    std::size_t seed = 0;
    for(const path::value_type* it = x.c_str(); *it; ++it)
      hash_combine(seed, *it == '/' ? L'\\' : *it);
    return seed;
# else // BOOST_POSIX_API
    return hash_range(x.native().begin(), x.native().end());
# endif
  }

The problem with this is that functional is a heavy-weight dependency
for such relatively minor feature.

See http://www.pdimov.com/tmp/report-develop-3b5a9f4/module-weights.html

Is there any recommended way to avoid the functional dependency?

Thanks,

--Beman


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