LLVM: llvm::callable_detail::Callable< T, bool > Class Template Reference (original) (raw)
Templated storage wrapper for a callable. More...
#include "[llvm/ADT/STLExtras.h](STLExtras%5F8h%5Fsource.html)"
| Public Member Functions | |
|---|---|
| Callable ()=default | |
| Callable (T const &O) | |
| Callable (Callable const &Other)=default | |
| Callable (Callable &&Other)=default | |
| Callable & | operator= (Callable const &Other) |
| Callable & | operator= (Callable &&Other) |
| template<typename... Pn, std::enable_if_t< std::is_invocable_v< T, Pn... >, int > = 0> | |
| decltype(auto) | operator() (Pn &&...Params) |
| template<typename... Pn, std::enable_if_t< std::is_invocable_v< T const, Pn... >, int > = 0> | |
| decltype(auto) | operator() (Pn &&...Params) const |
| bool | valid () const |
| bool | reset () |
| operator reference () | |
| operator const_reference () const |
template<typename T, bool = std::is_function_v<std::remove_pointer_t<remove_cvref_t>>>
class llvm::callable_detail::Callable< T, bool >
Templated storage wrapper for a callable.
This class is consistently default constructible, copy / move constructible / assignable.
Supported callable types:
Definition at line 188 of file STLExtras.h.
◆ Callable() [1/4]
template<typename T, bool = std::is_function_v<std::remove_pointer_t<remove_cvref_t>>>
◆ Callable() [2/4]
template<typename T, bool = std::is_function_v<std::remove_pointer_t<remove_cvref_t>>>
◆ Callable() [3/4]
template<typename T, bool = std::is_function_v<std::remove_pointer_t<remove_cvref_t>>>
◆ Callable() [4/4]
template<typename T, bool = std::is_function_v<std::remove_pointer_t<remove_cvref_t>>>
◆ operator const_reference()
template<typename T, bool = std::is_function_v<std::remove_pointer_t<remove_cvref_t>>>
◆ operator reference()
template<typename T, bool = std::is_function_v<std::remove_pointer_t<remove_cvref_t>>>
◆ operator()() [1/2]
template<typename T, bool = std::is_function_v<std::remove_pointer_t<remove_cvref_t>>>
template<typename... Pn, std::enable_if_t< std::is_invocable_v< T, Pn... >, int > = 0>
◆ operator()() [2/2]
template<typename T, bool = std::is_function_v<std::remove_pointer_t<remove_cvref_t>>>
template<typename... Pn, std::enable_if_t< std::is_invocable_v< T const, Pn... >, int > = 0>
◆ operator=() [1/2]
template<typename T, bool = std::is_function_v<std::remove_pointer_t<remove_cvref_t>>>
◆ operator=() [2/2]
template<typename T, bool = std::is_function_v<std::remove_pointer_t<remove_cvref_t>>>
◆ reset()
template<typename T, bool = std::is_function_v<std::remove_pointer_t<remove_cvref_t>>>
◆ valid()
template<typename T, bool = std::is_function_v<std::remove_pointer_t<remove_cvref_t>>>
The documentation for this class was generated from the following file:
- include/llvm/ADT/STLExtras.h