bsl::function

Forward declaration.

Synopsis

Declared in <bslstl_function.h>

template<class PROTOTYPE>
class function
    : public BloombergLP::bslstl::Function_Variadic<PROTOTYPE>

Base Classes

NameDescription
BloombergLP::bslstl::Function_Variadic<PROTOTYPE>This component-private class template contains the physical representation and provides the variadic interfaces for bsl::function.

Type Aliases

NameDescription
allocator_type Alias for the allocator type of the function representation.

Member Functions

NameDescription
function [constructor]Constructors
operator= Assignment operators
allocator Return get_allocator().mechanism(). Note that this function exists for BDE compatibility and is not part of the C++ Standard Library.
get_allocator Return (a copy of) the allocator used to supply memory for this function.
isInplace Return whether this object's target uses in-place storage.
swap Exchange the targets held by this function and the specified other.
target target overloads
target_type Return typeid(void) if this object is empty; otherwise typeid(FUNC) where FUNC is the type of the target object.
operator BloombergLP::bdef_Function<PROTOTYPE*>& Convert *this to a mutable bdef_Function reference by downcasting.
operator BloombergLP::bslmf::NestedTraitDeclaration<function, UsesAllocatorArgT> Nested trait declaration for bslmf::UsesAllocatorArgT.
operator BloombergLP::bslmf::NestedTraitDeclaration<function, UsesBslmaAllocator> Nested trait declaration for bslma::UsesBslmaAllocator.
operator BloombergLP::bslmf::NestedTraitDeclaration<function, is_nothrow_move_constructible> Nested trait declaration for is_nothrow_move_constructible.
operator bool Return whether this function currently holds a target.
operator BloombergLP::bdef_Function<PROTOTYPE*> const& Convert *this to a const bdef_Function reference by downcasting.

Using Declarations

NameDescription
operator() Invoke the target with the call arguments, or throw if empty.

Deduction Guides

NameDescription
function<PROTOTYPE> Deduce the template parameter PROTOTYPE from the signature of the operator() of the functor supplied to the constructor of function.
function<PROTOTYPE> Deduce the template parameter PROTOTYPE from the signature of the operator() of the functor supplied to the constructor of function.
function<RET(ARGS...)> Deduce the template parameter PROTOTYPE from the signature of the function supplied to the constructor of function.
function<RET(ARGS...)> Deduce the template parameter PROTOTYPE from the signature of the function supplied to the constructor of function.

Non-Member Functions

NameDescription
operator!=Return true if the specified function is not empty.
operator==Return true if the specified function is empty.
swapExchange the targets held by the specified a and b functions.