Regina 7.3 Calculation Engine
regina::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::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 position pos, then type will be void.

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-2023, 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).