| Home | Libraries | People | FAQ | More

##### make_set

###### Description

Returns the result type of `make_set`.

###### Synopsis

    template <typename T0, typename T1,... typename TN>
    struct make_set;

The variadic function accepts `0` to `FUSION_MAX_VECTOR_SIZE` [12] 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
--- | --- | ---
`T0, T1,... TN` | Any type | The arguments to `make_set`

###### Expression Semantics

    result_of::make_set<T0, T1,... TN>::type

Return type: A `set` with elements of types converted following the rules for element conversion.

Semantics: Create a `set` from `T0, T1,... TN`.

Precondition: There may be no duplicate key types.

###### Header

    #include <boost/fusion/container/generation/make_set.hpp>
    #include <boost/fusion/include/make_set.hpp>

###### Example

    result_of::make_set<int, char, double>::type

[12] `set` is implemented in terms of the vector. That is why we reuse `FUSION_MAX_VECTOR_SIZE`