any
any copied to clipboard
Add a template flag which forces the assigned object to be allocated within the any object
Add a templated parameter to the basic_any class which, if true, results of a compile-time error if the basic_any is assigned a too large object.
Example struct Small{int x;}; struct Big{int x, y, z, w;}; auto a = boost::small_any<4, 4, true>{}; a = Small{}; a = Big{}; // static_assert(sizeof(T) <= OptimizeForSize) breaks the compilation
I think it should be a separate data type. PRs are welcome