Interesting. I take it that boost::noncopyable is like a policy class to forbid assignment and copy construction? So I guess there could be at least two reasons to derive privately, huh?
I like the idea of wrapping that into a policy class instead of declaring those two functions private and not defining them. If anything, the clarity alone seems to be worth it.