$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: [boost] noncopyable && C++11
From: Ben Pope (benpope81_at_[hidden])
Date: 2012-07-06 03:26:59
Hi all,
boost::noncopyable interferes with the implicit generation of move 
construction and move assignment, so I was wondering if anybody had any 
thoughts on something like this:
    class noncopyable
    {
    protected:
       noncopyable() = default;
       noncopyable(noncopyable&&) = default;
       noncopyable& operator=(noncopyable&&) = default;
       noncopyable(noncopyable const&) = delete;
       noncopyable& operator=(noncopyable const&) = delete;
    };
Which would replace the existing technique when C++11 support is on.
I guess it could be argued that non copyable should imply non moveable.
However, you won't hear me defending that position; plenty of thought 
went into move semantics with the defaults chosen to have sa[f|n]e 
behaviour. The derived class will still be subject to that criteria, I'm 
just trying to prevent noncopyable from artificially inhibiting move 
semantics.
Would anybody want nonmovable? nonmoveable?
Any thoughts / comments / omissions gratefully received.
Ben