boost::openmethod::method<Id, ReturnType(Parameters...), Registry> :: Boost.OpenMethod

# boost::openmethod::method<Id, ReturnType(Parameters...), Registry>

Method with a specific id, signature and return type

## Synopsis

Declared in `<boost/openmethod/core.hpp>`

    template<
        typename Id,
        typename... Parameters,
        typename ReturnType,
        class Registry>
    class method<Id, ReturnType(Parameters...), Registry>
        : public /* implementation-defined */

## Description

`method` implements an open‐method that takes a parameter list ‐ `Parameters` ‐ and returns a `ReturnType`.

`Parameters` must contain at least one virtual parameter, i.e. a parameter that has a type in the form `virtual_ptr<T, Registry>` or `virtual_<T>`. The dynamic types of the virtual arguments are taken into account to select the overrider to call.

## Base Classes

Name | Description
--- | ---
`/* implementation-defined */` |

## Types

Name | Description
`override` | Add overriders to method

## Member Functions

Name | Description
`operator()` | Call the method

## Static Member Functions

Name | Description
`has_next` | Check if a next most specialized overrider exists

## Static Data Members

Name | Description
`fn` | Method singleton
`next` | The next most specialized overrider

## Template Parameters

Name | Description
--- | ---
Id | A type representing the method's name
ReturnType | The return type of the method
Parameters | The types of the parameters
Registry | The registry of the method

## See Also

method

Created with MrDocs