LLVM
8.0.1
|
This file provides a collection of function (or more generally, callable) type erasure utilities supplementing those provided by the standard library in <function>
.
More...
#include "llvm/ADT/PointerIntPair.h"
#include "llvm/ADT/PointerUnion.h"
#include "llvm/Support/type_traits.h"
#include <memory>
Go to the source code of this file.
Classes | |
class | llvm::unique_function< FunctionT > |
class | llvm::unique_function< ReturnT(ParamTs...)> |
struct | llvm::unique_function< ReturnT(ParamTs...)>::StorageUnionT::OutOfLineStorageT |
Namespaces | |
llvm | |
This class represents lattice values for constants. | |
This file provides a collection of function (or more generally, callable) type erasure utilities supplementing those provided by the standard library in <function>
.
It provides unique_function
, which works like std::function
but supports move-only callable objects.
Future plans:
function
that provides const, volatile, and ref-qualified support, which doesn't work with std::function
.Note that LLVM's utilities are greatly simplified by not supporting allocators.
If the standard library ever begins to provide comparable facilities we can consider switching to those.
Definition in file FunctionExtras.h.