Modules | Alphabetical List | Class List | Directories | File List | GIL Home Page

# variant.hpp File Reference

## Detailed Description

Support for run-time instantiated types.

Author:
  Lubomir Bourdev and Hailin Jin
  Adobe Systems Incorporated

Date:
  2005-2007
  Last updated on September 18, 2007

`#include "../../gil_config.hpp"`
`#include "../../utilities.hpp"`
`#include <cstddef>`
`#include <cassert>`
`#include <algorithm>`
`#include <typeinfo>`
`#include <boost/bind.hpp>`
`#include <boost/mpl/transform.hpp>`
`#include <boost/mpl/size.hpp>`
`#include <boost/mpl/sizeof.hpp>`
`#include <boost/mpl/max.hpp>`
`#include <boost/mpl/at.hpp>`
`#include <boost/mpl/fold.hpp>`

Go to the source code of this file.

## Namespaces

namespace | boost
namespace | boost::gil
namespace | boost::gil::detail

## Classes

class | variant
| Represents a concrete instance of a run-time specified type from a set of types A concept is typically modeled by a collection of different types. They may be instantiations of a templated type with different template parameters or even completely unrelated types. More...

## Functions

template<typename T, typename Bits>
void | copy_construct_in_place (const T &t, Bits &bits)
template<typename Types>
void | swap (variant< Types > &x, variant< Types > &y)
template<typename Types>
bool | operator== (const variant< Types > &x, const variant< Types > &y)
template<typename C>
bool | operator!= (const variant< C > &x, const variant< C > &y)