Regina 7.0 Calculation Engine
regina::detail::CallableArg< Action, pos > Struct Template Reference

A traits class that deduces the type of the argument in a given position for a callable object. More...

Detailed Description

template<typename Action, int pos>
struct regina::detail::CallableArg< Action, pos >

A traits class that deduces the type of the argument in a given position for a callable object.

It can (amongst other things) work with function pointers, function references, member function pointers, std::function wrappers, and lambdas.

This struct provides a single member type alias, named type, which is the type of the argument to Action that appears in position pos.

If Action is a member function, then arguments will still be numbered according to the "real" arguments (i.e., the numbering ignores the object pointer this which is implicitly passed to every non-static member function).

If Action does not take enough arguments for the given pos, then this will almost certainly generate an error deep with in the standard library (most likely with std::tuple_element).

Template Parameters
Actionthe type of a callable object that takes at least one argument.
posthe index of the argument being requested. Positions are numbered from 0 upwards.

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

Copyright © 1999-2021, The Regina development team
This software is released under the GNU General Public License, with some additional permissions; see the source code for details.
For further information, or to submit a bug or other problem, please contact Ben Burton (bab@maths.uq.edu.au).