Forward declaration.

Synopsis

Declared in <bslstl_function.h>

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

Base Classes

Name

Description

BloombergLP::bslstl::Function_Variadic<PROTOTYPE>

This component‐private class template contains the physical representation and provides the variadic interfaces for bsl::function.

Type Aliases

Name

Description

allocator_type

Alias for the allocator type of the function representation.

Member Functions

Name

Description

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

Name

Description

operator()

Invoke the target with the call arguments, or throw if empty.

Deduction Guides

Name

Description

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

Name

Description

operator!=

Return true if the specified function is not empty.

operator==

Return true if the specified function is empty.

swap

Exchange the targets held by the specified a and b functions.

Created with MrDocs