Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of Boost. Click here to view this page for the latest version.
PrevUpHomeNext
make_map
Description

Create a map from one or more key/data pairs.

Synopsis
template <
    typename K0, typename K1,... typename KN
  , typename T0, typename T1,... typename TN>
typename result_of::make_map<K0, K0,... KN, T0, T1,... TN>::type
make_map(T0 const& x0, T1 const& x1... TN const& xN);

The variadic function accepts 0 to FUSION_MAX_VECTOR_SIZE [10] elements, where FUSION_MAX_VECTOR_SIZE is a user definable predefined maximum that defaults to 10. You may define the preprocessor constant FUSION_MAX_VECTOR_SIZE before including any Fusion header to change the default. Example:

#define FUSION_MAX_VECTOR_SIZE 20
Parameters

Parameter

Requirement

Description

K0, K1,... KN

The key types

Keys associated with x0, x1,... xN

x0, x1,... xN

Instances of T0, T1,... TN

The arguments to make_map

Expression Semantics
make_map<K0, K1,... KN>(x0, x1,... xN);

Return type: result_of::make_map<K0, K0,... KN, T0, T1,... TN>::type

Semantics: Create a map from K0, K1,... KN keys and x0, x1,... xN data.

Precondition: There may be no duplicate key types.

Header
#include <boost/fusion/container/generation/make_map.hpp>
#include <boost/fusion/include/make_map.hpp>
Example
make_map(
    make_pair<int>('X')
  , make_pair<double>("Men"))
See also

boost::ref, fusion::pair



[10] map is implemented in terms of the vector. That is why we reuse FUSION_MAX_VECTOR_SIZE


PrevUpHomeNext