mirror of
https://github.com/red0124/ssp.git
synced 2025-01-23 13:05:20 +01:00
Merge pull request #23 from red0124/bugfix/single_header_include_update
Update ssp.hpp to handle issue fixed in the previous commit
This commit is contained in:
commit
304ca6ef0f
@ -109,10 +109,10 @@ struct get_matcher<Matcher, T, Ts...> {
|
||||
struct is_matcher : is_instance_of_matcher<U, Matcher> {};
|
||||
|
||||
static_assert(count_v<is_matcher, T, Ts...> <= 1,
|
||||
"the same matcher is cannot"
|
||||
"the same matcher cannot"
|
||||
"be defined multiple times");
|
||||
using type = std::conditional_t<is_matcher<T>::value, T,
|
||||
typename get_matcher<Matcher, Ts...>::type>;
|
||||
typename get_matcher<Matcher, Ts...>::type>;
|
||||
};
|
||||
|
||||
template <template <char...> class Matcher>
|
||||
@ -150,7 +150,7 @@ struct get_multiline;
|
||||
template <typename T, typename... Ts>
|
||||
struct get_multiline<T, Ts...> {
|
||||
using type = std::conditional_t<is_instance_of_multiline<T>::value, T,
|
||||
typename get_multiline<Ts...>::type>;
|
||||
typename get_multiline<Ts...>::type>;
|
||||
};
|
||||
|
||||
template <>
|
||||
|
14
ssp.hpp
14
ssp.hpp
@ -17,6 +17,7 @@
|
||||
#include <vector>
|
||||
#define SSP_DISABLE_FAST_FLOAT
|
||||
|
||||
|
||||
namespace ss {
|
||||
|
||||
////////////////
|
||||
@ -394,6 +395,7 @@ T to_object(U&& data) {
|
||||
|
||||
} /* trait */
|
||||
|
||||
|
||||
namespace ss {
|
||||
|
||||
////////////////
|
||||
@ -1380,6 +1382,7 @@ public:
|
||||
|
||||
} /* ss */
|
||||
|
||||
|
||||
#ifndef SSP_DISABLE_FAST_FLOAT
|
||||
#else
|
||||
#endif
|
||||
@ -1909,7 +1912,7 @@ private:
|
||||
////////////////
|
||||
|
||||
const split_data& resplit(line_ptr_type new_line, ssize_t new_size,
|
||||
const std::string& delim = default_delimiter) {
|
||||
const std::string& delim) {
|
||||
return splitter_.resplit(new_line, new_size, delim);
|
||||
}
|
||||
|
||||
@ -2198,6 +2201,7 @@ private:
|
||||
|
||||
} /* ss */
|
||||
|
||||
|
||||
namespace ss {
|
||||
|
||||
template <typename... Matchers>
|
||||
@ -2339,9 +2343,8 @@ public:
|
||||
template <bool get_object, typename T, typename... Ts>
|
||||
struct iterable {
|
||||
struct iterator {
|
||||
using value =
|
||||
std::conditional_t<get_object, T,
|
||||
no_void_validator_tup_t<T, Ts...>>;
|
||||
using value = std::conditional_t<get_object, T,
|
||||
no_void_validator_tup_t<T, Ts...>>;
|
||||
|
||||
iterator() : parser_{nullptr} {
|
||||
}
|
||||
@ -2812,7 +2815,8 @@ private:
|
||||
}
|
||||
}
|
||||
|
||||
next_line_converter_.resplit(next_line_buffer_, size);
|
||||
next_line_converter_.resplit(next_line_buffer_, size,
|
||||
delim_);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user