Skip to content

Commit 51e109c

Browse files
committed
Simplify adaptor implementation with fold expression
1 parent 00866ab commit 51e109c

File tree

2 files changed

+4
-12
lines changed

2 files changed

+4
-12
lines changed

include/hexi/stream_adaptors.h

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,7 @@ class stream_read_adaptor final {
2424

2525
template<typename ...Ts>
2626
void operator()(Ts&&... args) {
27-
([&] {
28-
_stream >> args;
29-
} (), ...);
27+
(_stream >> ... >> args);
3028
}
3129

3230
template<typename ...Ts>
@@ -49,9 +47,7 @@ class stream_write_adaptor final {
4947

5048
template<typename ...Ts>
5149
void operator()(Ts&&... args) {
52-
([&] {
53-
_stream << args;
54-
} (), ...);
50+
(_stream << ... << args);
5551
}
5652

5753
template<typename ...Ts>

single_include/hexi.h

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -495,9 +495,7 @@ class stream_read_adaptor final {
495495

496496
template<typename ...Ts>
497497
void operator()(Ts&&... args) {
498-
([&] {
499-
_stream >> args;
500-
} (), ...);
498+
(_stream >> ... >> args);
501499
}
502500

503501
template<typename ...Ts>
@@ -520,9 +518,7 @@ class stream_write_adaptor final {
520518

521519
template<typename ...Ts>
522520
void operator()(Ts&&... args) {
523-
([&] {
524-
_stream << args;
525-
} (), ...);
521+
(_stream << ... << args);
526522
}
527523

528524
template<typename ...Ts>

0 commit comments

Comments
 (0)