| Home | Libraries | People | FAQ | More

##### boost::geometry::index::indexable

The function object extracting Indexable from Value.

###### Description

It translates Value object to Indexable object. By default, it can handle Values which are Indexables, std::pair<Indexable, T2>, boost::tuple<Indexable, ...> and std::tuple<Indexable, ...> if STD tuples and variadic templates are supported.

###### Header

`#include <boost/geometry/index/indexable.hpp>`

###### Synopsis

    template<typename Value>
    struct indexable
    {
      // ...
    };

###### Template parameter(s)

Parameter | Description
--- | ---
`Value` | The Value type which may be translated directly to the Indexable.

###### Typedef(s)

Type | Description
--- | ---
`result_type` | The type of result returned by function object. It should be const Indexable reference.

###### Member(s)

Modifier | Function | Description
--- | --- | ---
`const` | `operator()(Value const &)` | Return indexable extracted from the value.
`const` | `operator()(V const &)` | Return indexable extracted from the value. Overload for types compatible with Value but different yet holding referencable Indexable, e.g. tuple containing a reference.

###### operator()(Value const &)

Return indexable extracted from the value.

Synopsis

    result_type operator()(Value const & v)

Modifier(s)

    const

Parameter(s)

Type | Name | Description
--- | --- | ---
`Value const &` | `v` | The value.

Returns

The indexable.

###### operator()(V const &)

Return indexable extracted from the value. Overload for types compatible with Value but different yet holding referencable Indexable, e.g. tuple containing a reference.

Synopsis

    template<typename V>
    result_type operator()(V const & v)

Modifier(s)

    const

Parameter(s)

Type | Name | Description
--- | --- | ---
`V const &` | `v` | The value.

Returns

The indexable.