On Tue, Oct 22, 2019 at 2:53 PM Gavin Lambert via Boost
It's not a good reason for not using it as a private member, to avoid reimplementing the variant-storage concept. (Though there may be other good reasons for that.)
I didn't reimplement the variant-storage concept, I used a union. This does away with all the unnecessary baggage of having to support arbitrary types with arbitrary exception specifications. In my case the notional "variant" is always instantiated with the same types, thus avoiding bulk in the headers. A goal of this JSON library is to have very fast compilations, I have avoided templates wherever possible (especially in the vocabulary types) and when there are member function templates I have used techniques to reduce the number and size of instantiations. Thanks