LLVM 23.0.0git
llvm::unique_function< R(P...)> Class Template Reference

#include "llvm/ADT/FunctionExtras.h"

Inheritance diagram for llvm::unique_function< R(P...)>:
[legend]

Public Member Functions

 unique_function ()=default
 unique_function (std::nullptr_t)
 unique_function (unique_function &&)=default
 unique_function (const unique_function &)=delete
unique_functionoperator= (unique_function &&)=default
unique_functionoperator= (const unique_function &)=delete
template<typename CallableT>
 unique_function (CallableT Callable, detail::EnableUnlessSameType< CallableT, unique_function > *=nullptr, detail::EnableIfCallable< CallableT, R, P... > *=nullptr)
operator() (P... Params)
Public Member Functions inherited from llvm::detail::UniqueFunctionBase< R, P... >
 operator bool () const

Additional Inherited Members

Protected Types inherited from llvm::detail::UniqueFunctionBase< R, P... >
using AdjustedParamT
using CallPtrT
using DestroyMovePtrT
Protected Member Functions inherited from llvm::detail::UniqueFunctionBase< R, P... >
 UniqueFunctionBase (CallableT Callable, CalledAs< CalledAsT >)
 ~UniqueFunctionBase ()
 UniqueFunctionBase (UniqueFunctionBase &&RHS) noexcept
UniqueFunctionBaseoperator= (UniqueFunctionBase &&RHS) noexcept
 UniqueFunctionBase ()=default
Protected Attributes inherited from llvm::detail::UniqueFunctionBase< R, P... >
union llvm::detail::UniqueFunctionBase::StorageT Storage
CallPtrT CallPtr
DestroyMovePtrT DestroyMovePtr
Static Protected Attributes inherited from llvm::detail::UniqueFunctionBase< R, P... >
static constexpr size_t InlineStorageSize
static constexpr size_t InlineStorageAlign

Detailed Description

template<typename R, typename... P>
class llvm::unique_function< R(P...)>

Definition at line 239 of file FunctionExtras.h.

Constructor & Destructor Documentation

◆ unique_function() [1/5]

template<typename R, typename... P>
llvm::unique_function< R(P...)>::unique_function ( )
default

◆ unique_function() [2/5]

template<typename R, typename... P>
llvm::unique_function< R(P...)>::unique_function ( std::nullptr_t )
inline

Definition at line 244 of file FunctionExtras.h.

◆ unique_function() [3/5]

template<typename R, typename... P>
llvm::unique_function< R(P...)>::unique_function ( unique_function< R(P...)> && )
default

References unique_function().

◆ unique_function() [4/5]

template<typename R, typename... P>
llvm::unique_function< R(P...)>::unique_function ( const unique_function< R(P...)> & )
delete

References unique_function().

◆ unique_function() [5/5]

template<typename R, typename... P>
template<typename CallableT>
llvm::unique_function< R(P...)>::unique_function ( CallableT Callable,
detail::EnableUnlessSameType< CallableT, unique_function< R(P...)> > * = nullptr,
detail::EnableIfCallable< CallableT, R, P... > * = nullptr )
inline

Definition at line 251 of file FunctionExtras.h.

Member Function Documentation

◆ operator()()

template<typename R, typename... P>
R llvm::unique_function< R(P...)>::operator() ( P... Params)
inline

Definition at line 258 of file FunctionExtras.h.

References llvm::detail::UniqueFunctionBase< R, P... >::CallPtr, and P.

◆ operator=() [1/2]

template<typename R, typename... P>
unique_function & llvm::unique_function< R(P...)>::operator= ( const unique_function< R(P...)> & )
delete

References unique_function().

◆ operator=() [2/2]

template<typename R, typename... P>
unique_function & llvm::unique_function< R(P...)>::operator= ( unique_function< R(P...)> && )
default

References unique_function().


The documentation for this class was generated from the following file: