Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::geometry::compress_variant< Variant > Struct Template Reference

Meta-function that takes a boost::variant type and tries to minimize it by doing the following: More...

#include <compress_variant.hpp>

Inheritance diagram for boost::geometry::compress_variant< Variant >:
Collaboration diagram for boost::geometry::compress_variant< Variant >:

Public Types

typedef almost_type_::type type
 

Detailed Description

template<typename Variant>
struct boost::geometry::compress_variant< Variant >

Meta-function that takes a boost::variant type and tries to minimize it by doing the following:

  • if there's any duplicate types, remove them
  • if the result is a variant of one type, turn it into just that type
Example
typedef variant<int, float, int, long> variant_type;
typedef mpl::vector<int, float, long> result_types;
typedef variant<int, int, int> one_type_variant_type;
BOOST_MPL_ASSERT(( boost::equals<single_type, int> ));

Member Typedef Documentation

typedef almost_type_::type boost::mpl::if_< BOOST_MPL_AUX_NA_PARAM, BOOST_MPL_AUX_NA_PARAM, BOOST_MPL_AUX_NA_PARAM >::type
inherited

The documentation for this struct was generated from the following file: