Th libc++ SVN trunk is still seems to be missing the variant class. It would be great to have it included. Here's a my implementation of the variant class and test cases in case libc++ needs one and in case you want to use mine. I believe I did write it libc++ compatible way. Cheers!
Patch by Kaius Ruokonen.