@@ -340,19 +340,19 @@ namespace jkj {
340
340
UINT64_C (0xe596b7b0c643c71a ), UINT64_C (0x8f7e32ce7bea5c70 ),
341
341
UINT64_C (0xb35dbf821ae4f38c ), UINT64_C (0xe0352f62a19e306f )};
342
342
343
- template <cache_type>
343
+ template <cache_type, class Dummy = void >
344
344
struct cache_holder ;
345
345
346
- template <>
347
- struct cache_holder <cache_type::full> {
346
+ template <class Dummy >
347
+ struct cache_holder <cache_type::full, Dummy > {
348
348
uint64_t get_cache (int k) const {
349
349
assert (k >= min_k && k <= max_k);
350
350
return cache[k - min_k];
351
351
}
352
352
};
353
353
354
- template <>
355
- struct cache_holder <cache_type::compact> {
354
+ template <class Dummy >
355
+ struct cache_holder <cache_type::compact, Dummy > {
356
356
static constexpr int compression_ratio = 13 ;
357
357
static constexpr int compressed_table_size =
358
358
(max_k - min_k + compression_ratio) / compression_ratio;
@@ -1132,19 +1132,19 @@ namespace jkj {
1132
1132
{UINT64_C (0xc5a05277621be293 ), UINT64_C (0xc7098b7305241886 )},
1133
1133
{UINT64_C (0xf70867153aa2db38 ), UINT64_C (0xb8cbee4fc66d1ea8 )}};
1134
1134
1135
- template <cache_type>
1135
+ template <cache_type, class Dummy = void >
1136
1136
struct cache_holder ;
1137
1137
1138
- template <>
1139
- struct cache_holder <cache_type::full> {
1138
+ template <class Dummy >
1139
+ struct cache_holder <cache_type::full, Dummy > {
1140
1140
constexpr uint128 get_cache (int k) const {
1141
1141
assert (k >= min_k && k <= max_k);
1142
1142
return cache[k - min_k];
1143
1143
}
1144
1144
};
1145
1145
1146
- template <>
1147
- struct cache_holder <cache_type::compact> {
1146
+ template <class Dummy >
1147
+ struct cache_holder <cache_type::compact, Dummy > {
1148
1148
static constexpr int compression_ratio = 27 ;
1149
1149
static constexpr int compressed_table_size =
1150
1150
(max_k - min_k + compression_ratio) / compression_ratio;
0 commit comments