On Mon, Apr 29, 2019 at 4:08 PM Nikita Kniazev via Boost
There seems to be misunderstanding of what the thread is about.
The short sum-up of the changes: Nothing changed for users that does not use recursive variant. The changes were applied mainly for recursive_wrapper, and affect recursive variant indirectly.
Would your problems also be solved if there were a separate type, different from recursive_wrapper, that is similar but explicitly has an empty state (basically just a dynamic optional implementation, as described in the other thread)? I believe this solves the performance concerns without impacting existing users. The other suggestions on how to do what you want without violating the never empty guarantee or introducing a new valid state to recursive_wrapper would also be positive regardless, imo. -- -Matt Calabrese