
on Mon Oct 29 2012, Mathias Gaunard <mathias.gaunard-AT-ens-lyon.org> wrote:
Keep in mind that instantiating a standard container with an incomplete type will yield undefined behavior, and that `variant` has to instantiate both `object` and `array` to know their size. In my own JSON attempt I have used Boost.Containers, which do guarantee defined behavior when instantiated with incomplete types.
I haven't instantiated anything at that point in the code, though.
According to the code you provided, you do instantiate the std::vector class template with an incomplete type in both the no_wrapper and wrapper cases.
You're right :-( -- Dave Abrahams BoostPro Computing Software Development Training http://www.boostpro.com Clang/LLVM/EDG Compilers C++ Boost