LeechCraft
0.6.70-14794-g33744ae6ce
Modular cross-platform feature rich live environment.
Loading...
Searching...
No Matches
overload.h
Go to the documentation of this file.
1
/**********************************************************************
2
* LeechCraft - modular cross-platform feature rich internet client.
3
* Copyright (C) 2006-2014 Georg Rudoy
4
*
5
* Distributed under the Boost Software License, Version 1.0.
6
* (See accompanying file LICENSE or copy at https://www.boost.org/LICENSE_1_0.txt)
7
**********************************************************************/
8
9
#pragma once
10
11
namespace
LC
12
{
13
namespace
Util
14
{
15
template
<
typename
... Args>
16
struct
OverloadBase
17
{
18
template
<
typename
R,
typename
C>
19
constexpr
auto
operator()
(R (C::*f) (Args...))
const
20
{
21
return
f;
22
}
23
24
template
<
typename
R,
typename
C>
25
constexpr
auto
operator()
(R (C::*f) (Args...)
const
)
const
26
{
27
return
f;
28
}
29
30
template
<
typename
R>
31
constexpr
auto
operator()
(R (*f) (Args...))
const
32
{
33
return
f;
34
}
35
};
36
37
template
<
typename
... Args>
38
constexpr
OverloadBase
<Args...>
Overload
{};
39
}
40
}
LC::Util::Overload
constexpr OverloadBase< Args... > Overload
Definition:
overload.h:38
LC
Definition:
constants.h:15
LC::Util::OverloadBase
Definition:
overload.h:17
LC::Util::OverloadBase::operator()
constexpr auto operator()(R(C::*f)(Args...)) const
Definition:
overload.h:19
src
util
sll
overload.h
Generated by
1.9.6