Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
Actor Framework
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
cpp-libs
Actor Framework
Commits
7bc4547c
Commit
7bc4547c
authored
May 22, 2015
by
Dominik Charousset
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove unnecessary vararg parameters in type_list
parent
c0817b6b
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
25 additions
and
26 deletions
+25
-26
libcaf_core/caf/detail/type_list.hpp
libcaf_core/caf/detail/type_list.hpp
+25
-26
No files found.
libcaf_core/caf/detail/type_list.hpp
View file @
7bc4547c
...
@@ -20,9 +20,9 @@
...
@@ -20,9 +20,9 @@
#ifndef CAF_DETAIL_TYPE_LIST_HPP
#ifndef CAF_DETAIL_TYPE_LIST_HPP
#define CAF_DETAIL_TYPE_LIST_HPP
#define CAF_DETAIL_TYPE_LIST_HPP
#include <cstddef>
#include <typeinfo>
#include <typeinfo>
#include <type_traits>
#include <type_traits>
#include <cstddef>
#include "caf/unit.hpp"
#include "caf/unit.hpp"
...
@@ -61,13 +61,13 @@ struct is_type_list<type_list<Ts...>> {
...
@@ -61,13 +61,13 @@ struct is_type_list<type_list<Ts...>> {
template
<
class
List
>
template
<
class
List
>
struct
tl_head
;
struct
tl_head
;
template
<
template
<
class
...
>
class
List
>
template
<
>
struct
tl_head
<
L
ist
<>>
{
struct
tl_head
<
type_l
ist
<>>
{
using
type
=
void
;
using
type
=
void
;
};
};
template
<
t
emplate
<
class
...
>
class
List
,
t
ypename
T0
,
class
...
Ts
>
template
<
typename
T0
,
class
...
Ts
>
struct
tl_head
<
L
ist
<
T0
,
Ts
...
>>
{
struct
tl_head
<
type_l
ist
<
T0
,
Ts
...
>>
{
using
type
=
T0
;
using
type
=
T0
;
};
};
...
@@ -79,14 +79,14 @@ struct tl_head<List<T0, Ts...>> {
...
@@ -79,14 +79,14 @@ struct tl_head<List<T0, Ts...>> {
template
<
class
List
>
template
<
class
List
>
struct
tl_tail
;
struct
tl_tail
;
template
<
template
<
class
...
>
class
List
>
template
<
>
struct
tl_tail
<
L
ist
<>>
{
struct
tl_tail
<
type_l
ist
<>>
{
using
type
=
L
ist
<>
;
using
type
=
type_l
ist
<>
;
};
};
template
<
t
emplate
<
class
...
>
class
List
,
t
ypename
T0
,
class
...
Ts
>
template
<
typename
T0
,
class
...
Ts
>
struct
tl_tail
<
L
ist
<
T0
,
Ts
...
>>
{
struct
tl_tail
<
type_l
ist
<
T0
,
Ts
...
>>
{
using
type
=
L
ist
<
Ts
...
>
;
using
type
=
type_l
ist
<
Ts
...
>
;
};
};
// size_t size(type_list)
// size_t size(type_list)
...
@@ -97,13 +97,13 @@ struct tl_tail<List<T0, Ts...>> {
...
@@ -97,13 +97,13 @@ struct tl_tail<List<T0, Ts...>> {
template
<
class
List
>
template
<
class
List
>
struct
tl_size
;
struct
tl_size
;
template
<
template
<
class
...
>
class
List
,
class
...
Ts
>
template
<
class
...
Ts
>
struct
tl_size
<
L
ist
<
Ts
...
>>
{
struct
tl_size
<
type_l
ist
<
Ts
...
>>
{
static
constexpr
size_t
value
=
sizeof
...(
Ts
);
static
constexpr
size_t
value
=
sizeof
...(
Ts
);
};
};
template
<
template
<
class
...
>
class
List
,
class
...
Ts
>
template
<
class
...
Ts
>
constexpr
size_t
tl_size
<
L
ist
<
Ts
...
>>::
value
;
constexpr
size_t
tl_size
<
type_l
ist
<
Ts
...
>>::
value
;
// T back(type_list)
// T back(type_list)
...
@@ -113,18 +113,18 @@ constexpr size_t tl_size<List<Ts...>>::value;
...
@@ -113,18 +113,18 @@ constexpr size_t tl_size<List<Ts...>>::value;
template
<
class
List
>
template
<
class
List
>
struct
tl_back
;
struct
tl_back
;
template
<
template
<
class
...
>
class
List
>
template
<
>
struct
tl_back
<
L
ist
<>>
{
struct
tl_back
<
type_l
ist
<>>
{
using
type
=
unit_t
;
using
type
=
unit_t
;
};
};
template
<
t
emplate
<
class
...
>
class
List
,
t
ypename
T0
>
template
<
typename
T0
>
struct
tl_back
<
L
ist
<
T0
>>
{
struct
tl_back
<
type_l
ist
<
T0
>>
{
using
type
=
T0
;
using
type
=
T0
;
};
};
template
<
t
emplate
<
class
...
>
class
List
,
t
ypename
T0
,
typename
T1
,
class
...
Ts
>
template
<
typename
T0
,
typename
T1
,
class
...
Ts
>
struct
tl_back
<
L
ist
<
T0
,
T1
,
Ts
...
>>
{
struct
tl_back
<
type_l
ist
<
T0
,
T1
,
Ts
...
>>
{
// remaining arguments are forwarded as type_list to prevent
// remaining arguments are forwarded as type_list to prevent
// recursive instantiation of List class
// recursive instantiation of List class
using
type
=
typename
tl_back
<
type_list
<
T1
,
Ts
...
>>::
type
;
using
type
=
typename
tl_back
<
type_list
<
T1
,
Ts
...
>>::
type
;
...
@@ -363,14 +363,13 @@ struct tl_reverse {
...
@@ -363,14 +363,13 @@ struct tl_reverse {
template
<
class
List
,
template
<
class
>
class
Pred
,
int
Pos
=
0
>
template
<
class
List
,
template
<
class
>
class
Pred
,
int
Pos
=
0
>
struct
tl_find_impl
;
struct
tl_find_impl
;
template
<
template
<
class
...
>
class
TL
,
template
<
class
>
class
Pred
,
int
Pos
>
template
<
template
<
class
>
class
Pred
,
int
Pos
>
struct
tl_find_impl
<
TL
<>
,
Pred
,
Pos
>
{
struct
tl_find_impl
<
type_list
<>
,
Pred
,
Pos
>
{
static
constexpr
int
value
=
-
1
;
static
constexpr
int
value
=
-
1
;
};
};
template
<
template
<
class
...
>
class
List
,
template
<
class
>
class
Pred
,
template
<
template
<
class
>
class
Pred
,
int
Pos
,
class
T0
,
class
...
Ts
>
int
Pos
,
class
T0
,
class
...
Ts
>
struct
tl_find_impl
<
type_list
<
T0
,
Ts
...
>
,
Pred
,
Pos
>
{
struct
tl_find_impl
<
List
<
T0
,
Ts
...
>
,
Pred
,
Pos
>
{
// always use type_list for recursive calls to minimize instantiation costs
// always use type_list for recursive calls to minimize instantiation costs
static
constexpr
int
value
=
static
constexpr
int
value
=
Pred
<
T0
>::
value
?
Pos
Pred
<
T0
>::
value
?
Pos
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment