function2 improved and configurable drop-in replacement header to std::function that supports move only types, multiple overloads and more benefits and improvements over std::function: * const, volatile, reference and noexcept correct (qualifiers are part of the operator() signature) * convertible to and from std::function as well as other callable types * adaptable through fu2::function_base (internal capacity, copyable and exception guarantees) * overloadable with an arbitrary count of signatures (fu2::function) * full allocator support in contrast to std::function, which doesn't provide support anymore * covered by many unit tests and continuous integration services (GCC, Clang and MSVC) * header only, just copy and include function.hpp in your project * permissively licensed under the boost license