Ion
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
variant.h File Reference
#include <cstring>
#include "ion/base/allocationmanager.h"
#include "ion/base/allocator.h"
#include "ion/base/invalid.h"
#include "ion/base/logging.h"
#include "ion/base/static_assert.h"
#include "ion/port/align.h"
Include dependency graph for variant.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  ion::base::internal_variant_utils::EmptyType< N >
 Taken from util/gtl/emptytype.h. More...
 
struct  ion::base::internal_variant_utils::TrueType
 
struct  ion::base::internal_variant_utils::FalseType
 
struct  ion::base::internal_variant_utils::is_emptytype< T >
 
struct  ion::base::internal_variant_utils::is_emptytype< EmptyType< N > >
 
class  ion::base::internal_variant_utils::ManualConstructor< Type >
 Simplification of util/gtl/manual_constructor.h. More...
 
class  ion::base::Variant< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40 >
 The Variant class is similar to boost::variant. More...
 
struct  ion::base::Variant< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40 >::ArrayAccessor
 ArrayAccessor lets callers use operator[] with a Variant in most simple cases, as opposed to using the SetValueAt(i) and GetValueAt(i) functions above. More...
 

Namespaces

 ion
 Copyright 2016 Google Inc.
 
 ion::base
 EnumHelper instantiations. These must be in the ion::base namespace.
 
 ion::base::internal_variant_utils