Boost logo

Boost :

Subject: Re: [boost] [variant] awkward recursion
From: Dave Abrahams (dave_at_[hidden])
Date: 2012-10-29 16:43:35

on Mon Oct 29 2012, Dave Abrahams <> wrote:

> I've been playing around with variant a bit and decided to try to build
> a data structure for storing json. I came up with several different
> approaches but none are super-satisfying. I'd like some feedback. (If
> you need a refresher on what's in json, the front page of
> tells all).

I got *some* answers to my questions by experimentation:


  size of objects: 48, 48, 48
  size of arrays: 24, 24, 24
  size of variants: 56, 16, 16

What I learned is that using either recursive_wrapper or
recursive_variant_ *does* seem to introduce an indirection even if one
isn't needed. I also learned that 8 bytes are used for a discriminant
on my x64 system, which I'll grudgingly admit might be the best we can
do. But only grudgingly.

Comments on other questions in that message are still appreciated.

Dave Abrahams
BoostPro Computing                  Software Development        Training             Clang/LLVM/EDG Compilers  C++  Boost

Boost list run by bdawes at, gregod at, cpdaniel at, john at