This is a component‐private class. Do not use.

Synopsis

Declared in <bslstl_function_rep.h>

class Function_Rep;

Description

This class provides a non‐template representation for a bsl::function instance. It handles all of the object‐management parts of bsl::function that are not specific to the prototype (argument list and return type), e.g., storing, copying, and moving the function object, but not invoking the function (which requires knowledge of the prototype). These management methods are run‐time polymorphic, and therefore do not require that this class be a template (although several of the member functions are templates).

Type Aliases

Name

Description

GenericInvoker

A "generic" function type analogous to the data type void (though without the language support provided by void).

allocator_type

Alias for the allocator type held for allocator‐aware clients.

Member Functions

Name

Description

Function_Rep [constructor]

Create an empty object using the specified allocator to supply memory.

~Function_Rep [destructor]

Destroy this object and deallocate any non‐inplace target storage.

copyInit

Copy‐initialize this rep from the specified original rep.

get_allocator

Return the allocator used to supply memory for this object.

installFunc

Install func as the target and set the invoker, or leave empty.

invoker

Return a pointer the invoker function set using installFunc or a null pointer if this object is empty.

isEmpty

Return true if invoker() is a null pointer, indicating that this object has no target object.

isInplace

Return true if the target is allocated in place within the small‐object buffer of this object; otherwise return false.

makeEmpty

Make this object empty without changing its allocator.

moveInit

Move‐initialize this rep from the rep at the specified from.

swap

Exchange this object's target, manager, and invoker with other.

target

Return a modifiable pointer to the target if its type is TP.

targetRaw

Return a modifiable pointer to this object's target.

target_type

Return the type_info for the current target, or typeid(void).

Created with MrDocs