1 #ifndef OSMIUM_THREAD_FUNCTION_WRAPPER_HPP 2 #define OSMIUM_THREAD_FUNCTION_WRAPPER_HPP 68 std::unique_ptr<impl_base>
impl;
76 m_functor(
std::forward<F>(functor)) {
90 template <
typename TFunction,
typename X =
typename std::enable_if<
91 !std::is_same<TFunction, function_wrapper>::value,
void>
::type>
94 impl(new
impl_type<TFunction>(
std::forward<TFunction>(f))) {
114 impl(std::move(other.impl)) {
118 impl = std::move(other.impl);
124 explicit operator bool()
const {
125 return static_cast<bool>(
impl);
134 #endif // OSMIUM_THREAD_FUNCTION_WRAPPER_HPP F m_functor
Definition: function_wrapper.hpp:73
impl_base & operator=(const impl_base &) noexcept=default
type
Definition: entity_bits.hpp:63
function_wrapper()=default
Definition: function_wrapper.hpp:50
Definition: location.hpp:550
impl_type(F &&functor)
Definition: function_wrapper.hpp:75
virtual ~impl_base() noexcept=default
std::unique_ptr< impl_base > impl
Definition: function_wrapper.hpp:68
Namespace for everything in the Osmium library.
Definition: assembler.hpp:53
~function_wrapper()=default
Definition: function_wrapper.hpp:71
function_wrapper & operator=(function_wrapper &&other) noexcept
Definition: function_wrapper.hpp:117
Definition: function_wrapper.hpp:48
function_wrapper(TFunction &&f)
Definition: function_wrapper.hpp:93
function_wrapper(int)
Definition: function_wrapper.hpp:100
bool operator()()
Definition: function_wrapper.hpp:104
function_wrapper(function_wrapper &&other) noexcept
Definition: function_wrapper.hpp:113
impl_base() noexcept=default
virtual bool call()
Definition: function_wrapper.hpp:62
bool call() override
Definition: function_wrapper.hpp:79