#include <boost/variant.hpp>
#include "void.h"
#include "util.h"
#include "typelist.h"
#include "typelevel.h"
#include "detector.h"
Go to the source code of this file.
|
template<typename T > |
constexpr T | LeechCraft::Util::detail::Declval () |
|
template<typename R , typename... Args> |
decltype(auto) constexpr | LeechCraft::Util::detail::FixCommonType () |
|
template<typename... Vars, typename... Args, typename Common = std::common_type_t<std::result_of_t<detail::VisitorBase<Args...> (Vars&)>...>, typename Res = FixCommonType_t<Common, std::result_of_t<detail::VisitorBase<Args...> (Vars&)>...>> |
constexpr Res | LeechCraft::Util::detail::DetectCommonType (Typelist< Vars... >, Typelist< Args... >) |
|
template<typename... Vars, typename... Args> |
decltype(auto) | LeechCraft::Util::Visit (const boost::variant< Vars... > &v, Args &&... args) |
|
template<typename... Vars, typename... Args> |
decltype(auto) | LeechCraft::Util::Visit (boost::variant< Vars... > &v, Args &&... args) |
|
template<typename... Args> |
| LeechCraft::Util::Visitor (Args &&...) -> Visitor< Void, Args... > |
|
template<typename T , typename... Args> |
auto | LeechCraft::Util::InvokeOn (T &&t, Args &&... args) |
|