libqi-api
2.8.7.4
|
#include <type_traits>
#include <boost/function.hpp>
#include <boost/bind.hpp>
#include <boost/weak_ptr.hpp>
#include <boost/function_types/result_type.hpp>
Go to the source code of this file.
Namespaces | |
qi | |
Deprecated in 2.5. Use int8_t from <cstdint>. | |
qi::detail | |
Macros | |
#define | _QI_DETAIL_TRACKABLE_HXX_ |
Typedefs | |
template<typename T > | |
using | qi::detail::BindTransform = BindTransformImpl< typename std::decay< T >::type, std::is_base_of< TrackableBase, typename std::remove_pointer< typename std::decay< T >::type >::type >::value > |
Functions | |
template<typename T > | |
T | qi::detail::defaultConstruct () |
template<> | |
void | qi::detail::defaultConstruct< void > () |
void | qi::detail::throwPointerLockException () |
template<typename RF , typename AF , typename Arg0 , typename... Args> | |
std::enable_if < std::is_function< RF > ::value, boost::function< RF > >::type | qi::bindWithFallback (boost::function< void()> onFail, AF &&fun, Arg0 &&arg0, Args &&...args) |
template<typename RF , typename AF , typename Arg0 , typename... Args> | |
std::enable_if < std::is_function< RF > ::value, boost::function< RF > >::type | qi::bindSilent (AF &&fun, Arg0 &&arg0, Args &&...args) |
template<typename RF , typename AF , typename Arg0 , typename... Args> | |
std::enable_if < std::is_function< RF > ::value, boost::function< RF > >::type | qi::bind (AF &&fun, Arg0 &&arg0, Args &&...args) |
template<typename AF , typename Arg0 , typename... Args> | |
auto | qi::bindWithFallback (boost::function< void()> onFail, AF &&fun, Arg0 &&arg0, Args &&...args) -> typename detail::BindTransform< Arg0 >::template wrap_type< typename detail::WorkaroundVS2015< AF, Arg0, Args...>::type > |
template<typename AF , typename Arg0 , typename... Args> | |
auto | qi::bindSilent (AF &&fun, Arg0 &&arg0, Args &&...args) -> decltype(bindWithFallback( |
template<typename AF , typename Arg0 , typename... Args> | |
auto | qi::bind (AF &&fun, Arg0 &&arg0, Args &&...args) -> decltype(bindWithFallback(detail::throwPointerLockException, std::forward< AF >(fun), std::forward< Arg0 >(arg0), std::forward< Args >(args)...)) |
template<typename R , typename T , typename Instance , typename... Args0, typename... Args1> | |
auto | qi::bind (R(T::*fun)(Args0...), Instance &&instance, Args1 &&...args1) -> decltype(bindWithFallback(detail::throwPointerLockException, fun, std::forward< Instance >(instance), std::forward< Args1 >(args1)...)) |
template<typename R , typename AF , typename Arg0 , typename... Args> | |
auto | qi::bindWithFallback (boost::function< void()> onFail, AF &&fun, Arg0 &&arg0, Args &&...args) -> typename std::enable_if<!std::is_function< R >::value, typename detail::BindTransform< Arg0 >::template wrap_type< decltype(boost::bind< R >(std::forward< AF >(fun), detail::BindTransform< Arg0 >::transform(arg0), std::forward< Args >(args)...))>>::type |
template<typename R , typename AF , typename Arg0 , typename... Args> | |
auto | qi::bindSilent (AF &&fun, Arg0 &&arg0, Args &&...args) -> typename std::enable_if<!std::is_function< R >::value, decltype(bindWithFallback< R >( |
template<typename R , typename AF , typename Arg0 , typename... Args> | |
auto | qi::bind (AF &&fun, Arg0 &&arg0, Args &&...args) -> typename std::enable_if<!std::is_function< R >::value, decltype(bindWithFallback< R >(detail::throwPointerLockException, std::forward< AF >(fun), std::forward< Arg0 >(arg0), std::forward< Args >(args)...))>::type |
template<typename F , typename T > | |
auto | qi::trackWithFallback (boost::function< void()> onFail, F &&f, T &&toTrack) -> decltype(detail::BindTransform< T >::wrap(std::forward< T >(toTrack), std::forward< F >(f), std::move(onFail))) |
template<typename F , typename T > | |
auto | qi::track (F &&f, T &&toTrack) -> decltype(trackWithFallback(detail::throwPointerLockException, std::forward< F >(f), std::forward< T >(toTrack))) |
template<typename F , typename T > | |
auto | qi::trackSilent (F &&f, T &&toTrack) -> decltype(trackWithFallback( |
template<typename F , typename T > | |
boost::function< F > | qi::trackWithFallback (boost::function< void()> onFail, boost::function< F > f, const T &toTrack) |
template<typename F , typename T > | |
boost::function< F > | qi::trackSilent (boost::function< F > f, const T &toTrack) |
template<typename F , typename T > | |
boost::function< F > | qi::track (boost::function< F > f, const T &toTrack) |
#define _QI_DETAIL_TRACKABLE_HXX_ |
Definition at line 9 of file trackable.hxx.