Boost logo

Boost :

Subject: Re: [boost] [type_traits][core] modularisation and moving stuff about (again)
From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2018-08-22 22:17:06

On Thu, Aug 23, 2018 at 12:57 AM, Peter Dimov via Boost
<boost_at_[hidden]> wrote:
> John Maddock wrote:
>> So radical suggestion - does type_traits just belong in core and lets be
>> done with it? What would happen to the file history if we moved it (can I
>> still "git blame")?
> That would be overkill. We could just allow use of type_traits in core. This
> will create a dependency cycle though, we need to get rid of the
> enable_if/noncopyable dependencies first.

Move enable_if to type traits?

For noncopyable, we could convert its detection from
is_base_and_derived to a dispatch based on SFINAE.

  // Boost.Core
  class noncopyable
    typedef void _is_boost_noncopyable;

  // Boost.TypeTraits
  template< typename T, typename = void >
  struct is_boost_noncopyable : false_type {};

  template< typename T >
  struct is_boost_noncopyable< T, typename T::_is_boost_noncopyable >
: true_type {};

Boost list run by bdawes at, gregod at, cpdaniel at, john at