BloombergLP::bslstl::Function_Rep

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

NameDescription
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

NameDescription
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).