File tree 1 file changed +13
-3
lines changed
1 file changed +13
-3
lines changed Original file line number Diff line number Diff line change 4
4
#include < msg/detail/rle_codec.hpp>
5
5
6
6
#include < stdx/compiler.hpp>
7
+ #include < stdx/utility.hpp>
8
+
9
+ #ifndef FWD
10
+ // TODO: remove when stdx contains a FWD() macro
11
+ #define FWD (x ) std::forward<decltype(x)>(x)
12
+ #else
13
+ #error "Remove the FWD() declaration in favour of the one from stdx"
14
+ #endif
7
15
8
16
namespace msg {
9
17
@@ -14,13 +22,15 @@ struct rle_indices : IndicesT... {
14
22
15
23
constexpr auto operator ()(auto const &data) const {
16
24
// proxy to allow intersection without materializing a full bitset.
17
- return detail::rle_intersect{std::forward<decltype (storage.decode (
18
- this ->IndicesT ::operator ()(data)))>(
19
- storage.decode (this ->IndicesT ::operator ()(data)))...};
25
+ return detail::rle_intersect{
26
+ FWD (storage.decode (this ->IndicesT ::operator ()(data)))...};
20
27
}
21
28
22
29
// index entries will map into this storage to decode RLE data
23
30
RleStorageT storage;
24
31
};
25
32
26
33
} // namespace msg
34
+
35
+ // TODO: remove when stdx contains a FWD() macro
36
+ #undef FWD
You can’t perform that action at this time.
0 commit comments