From cd264faa70b4d88483bcab3f01f0240e1c9ec4df Mon Sep 17 00:00:00 2001 From: ado <adnan.abd0124@gmail.com> Date: Sun, 10 Jan 2021 23:51:20 +0100 Subject: [PATCH 01/20] add buffer to converter --- include/ss/converter.hpp | 143 ++++++++++++++++++++++++++++++++++++--- include/ss/parser.hpp | 53 ++++++++++----- test/makefile | 6 +- test/test_converter | Bin 0 -> 900216 bytes test/test_converter.cpp | 118 +++++++++++++++++++++++++++++++- test/test_parser.cpp | 4 +- 6 files changed, 290 insertions(+), 34 deletions(-) create mode 100755 test/test_converter diff --git a/include/ss/converter.hpp b/include/ss/converter.hpp index 4c6c0c9..9adc536 100644 --- a/include/ss/converter.hpp +++ b/include/ss/converter.hpp @@ -1,5 +1,17 @@ #pragma once +// TODO remove +#include <iostream> +#ifndef DBG +void log(const std::string& log) { + std::cout << log << std::endl; +} +#else +void log(const std::string&) { +} +#endif +// +// #include "extract.hpp" #include "function_traits.hpp" #include "restrictions.hpp" @@ -8,6 +20,10 @@ #include <type_traits> #include <vector> +constexpr auto space = '_'; +constexpr auto escaping = true; +constexpr auto quote = '"'; + namespace ss { INIT_HAS_METHOD(tied); INIT_HAS_METHOD(ss_valid); @@ -21,7 +37,7 @@ INIT_HAS_METHOD(error); // eg. no_validator_tup_t<int, ss::nx<char, 'A', 'B'>> <=> std::tuple<int, char> // where ss::nx<char, 'A', 'B'> is a validator '(n)one e(x)cept' which // checks if the returned character is either 'A' or 'B', returns error if not -// additionaly if one element is left in the pack, it will be unwraped from +// additionally if one element is left in the pack, it will be unwrapped from // the tuple eg. no_void_validator_tup_t<int> <=> int instead of std::tuple<int> template <typename T, typename U = void> struct no_validator; @@ -139,6 +155,12 @@ public: return to_object<T>(convert<Ts...>(elems)); } + // same as above, but uses cached split line + template <typename T, typename... Ts> + T convert_object() { + return to_object<T>(convert<Ts...>()); + } + // parses already split line, returns either a tuple of objects with // parsed values (returns raw element (no tuple) if Ts is empty), or if // one argument is given which is a class which has a tied @@ -162,6 +184,12 @@ public: } } + // same as above, but uses cached split line + template <typename T, typename... Ts> + no_void_validator_tup_t<T, Ts...> convert() { + return convert<T, Ts...>(input_); + } + bool valid() const { return (error_mode_ == error_mode::error_string) ? string_error_.empty() : bool_error_ == false; @@ -176,7 +204,7 @@ public: } // 'splits' string by given delimiter, returns vector of pairs which - // contain the beginings and the ends of each column of the string + // contain the beginnings and the ends of each column of the string const split_input& split(const char* const line, const std::string& delim = "") { input_.clear(); @@ -215,6 +243,24 @@ private: return error; } + void set_error_invalid_quotation() { + if (error_mode_ == error_mode::error_string) { + string_error_.clear(); + string_error_.append("invalid quotation"); + } else { + bool_error_ = true; + } + } + + void set_error_unterminated_quote() { + if (error_mode_ == error_mode::error_string) { + string_error_.clear(); + string_error_.append("unterminated quote"); + } else { + bool_error_ = true; + } + } + void set_error_invalid_conversion(const string_range msg, size_t pos) { if (error_mode_ == error_mode::error_string) { string_error_.clear(); @@ -277,30 +323,107 @@ private: template <typename Delim> const split_input& split_impl(const char* const line, Delim delim, size_t delim_size = 1) { - auto range = substring(line, delim); + auto [range, begin] = substring(line, delim); input_.push_back(range); while (range.second[0] != '\0') { - range = substring(range.second + delim_size, delim); + if constexpr (quote != '\0') { + if (*begin == quote) { + ++begin; + } + if (*begin == '\0') { + break; + } + } + + std::tie(range, begin) = substring(begin + delim_size, delim); + log("-> " + std::string{range.first, range.second}); input_.push_back(range); } return input_; } - bool no_match(const char* end, char delim) const { - return *end != delim; + size_t match(const char* begin, char delim) const { + const char* p = begin; + if constexpr (space == '\0') { + if (*p == delim) { + return 1; + } + } else { + while (*p == space) { + ++p; + } + if (*p == '\0') { + return p - begin; + } + if (*p != delim) { + return 0; + } + do + ++p; + while (*p == space); + return p - begin; + } } - bool no_match(const char* end, const std::string& delim) const { + size_t match(const char* end, const std::string& delim) const { + // TODO + log("ahamm"); return strncmp(end, delim.c_str(), delim.size()) != 0; } template <typename Delim> - string_range substring(const char* const begin, Delim delim) const { + std::tuple<string_range, const char*> substring(const char* begin, + Delim delim) { const char* end; - for (end = begin; *end != '\0' && no_match(end, delim); ++end) + const char* i; + for (i = begin; *i != '\0'; ++i) ; + log(">> " + std::string{begin, i}); + if constexpr (quote != '\0') { + if (*begin == quote) { + ++begin; - return string_range{begin, end}; + for (end = begin; true; ++end) { + + if (*end == '\0') { + log("error"); + set_error_unterminated_quote(); + return {string_range{begin, end}, end}; + } + + if constexpr (escaping) { + if (end[-1] == '\\') { + continue; + } + } + + if (*end == quote) { + break; + } + } + + // end is not \0 + size_t to_ignore = match(end + 1, delim); + log(std::to_string(to_ignore)); + if (to_ignore != 0) { + return {string_range{begin, end}, end + to_ignore}; + } + + log("error"); + set_error_invalid_quotation(); + return {string_range{begin, end}, end}; + } + } + + for (end = begin; *end != '\0'; ++end) { + size_t to_ignore = match(end, delim); + log(std::to_string(to_ignore)); + if (to_ignore != 0) { + return {string_range{begin, end}, end + to_ignore}; + } + } + + return {string_range{begin, end}, end}; } //////////////// diff --git a/include/ss/parser.hpp b/include/ss/parser.hpp index 20385d5..adb35c0 100644 --- a/include/ss/parser.hpp +++ b/include/ss/parser.hpp @@ -3,9 +3,9 @@ #include "converter.hpp" #include "extract.hpp" #include "restrictions.hpp" +#include <cstdlib> #include <cstring> #include <optional> -#include <cstdlib> #include <string> #include <vector> @@ -39,7 +39,7 @@ public: void set_error_mode(error_mode mode) { error_mode_ = mode; - converter_.set_error_mode(mode); + buff_.set_error_mode(mode); } const std::string& error_msg() const { @@ -68,10 +68,9 @@ public: return {}; } - split_input_ = converter_.split(buff_.get(), delim_); - auto value = converter_.convert<T, Ts...>(split_input_); + auto value = buff_.get_converter().convert<T, Ts...>(); - if (!converter_.valid()) { + if (!buff_.get_converter().valid()) { set_error_invalid_conversion(); } @@ -134,7 +133,7 @@ public: composite<Ts..., T> composite_with(T&& new_value) { auto merged_values = std::tuple_cat(std::move(values_), - std::tuple{parser_.valid() + std::tuple<T>{parser_.valid() ? std::forward<T>(new_value) : std::nullopt}); return {std::move(merged_values), parser_}; @@ -160,8 +159,8 @@ public: no_void_validator_tup_t<U, Us...> try_same() { parser_.clear_error(); auto value = - parser_.converter_.convert<U, Us...>(parser_.split_input_); - if (!parser_.converter_.valid()) { + parser_.buff_.get_converter().template convert<U, Us...>(); + if (!parser_.buff_.get_converter().valid()) { parser_.set_error_invalid_conversion(); } return value; @@ -249,37 +248,57 @@ private: class buffer { char* buffer_{nullptr}; - char* new_buffer_{nullptr}; + char* next_line_buffer_{nullptr}; + + converter converter_; + converter next_line_converter_; + size_t size_{0}; + const std::string& delim_; public: + buffer(const std::string& delimiter) : delim_{delimiter} { + } + ~buffer() { free(buffer_); - free(new_buffer_); + free(next_line_buffer_); } bool read(FILE* file) { - ssize_t size = getline(&new_buffer_, &size_, file); + ssize_t size = getline(&next_line_buffer_, &size_, file); size_t string_end = size - 1; if (size == -1) { return false; } - if (size >= 2 && new_buffer_[size - 2] == '\r') { + if (size >= 2 && next_line_buffer_[size - 2] == '\r') { string_end--; } - new_buffer_[string_end] = '\0'; + next_line_buffer_[string_end] = '\0'; + next_line_converter_.split(next_line_buffer_, delim_); + return true; } + void set_error_mode(error_mode mode) { + converter_.set_error_mode(mode); + next_line_converter_.set_error_mode(mode); + } + + converter& get_converter() { + return converter_; + } + const char* get() const { return buffer_; } void update() { - std::swap(buffer_, new_buffer_); + std::swap(buffer_, next_line_buffer_); + std::swap(converter_, next_line_converter_); } }; @@ -324,7 +343,7 @@ private: .append(" ") .append(std::to_string(line_number_)) .append(": ") - .append(converter_.error_msg()) + .append(buff_.get_converter().error_msg()) .append(": \"") .append(buff_.get()) .append("\""); @@ -342,10 +361,8 @@ private: std::string string_error_; bool bool_error_{false}; error_mode error_mode_{error_mode::error_bool}; - converter converter_; - converter::split_input split_input_; FILE* file_{nullptr}; - buffer buff_; + buffer buff_{delim_}; size_t line_number_{0}; bool eof_{false}; }; diff --git a/test/makefile b/test/makefile index 9bbe159..2652fca 100644 --- a/test/makefile +++ b/test/makefile @@ -1,6 +1,6 @@ -CXX=clang++ -CXXFLAGS=-Wall -Wextra -std=c++17 -lstdc++fs -TESTS=test_parser test_converter test_extractions +CXX=clang++-9 +CXXFLAGS=-Wall -Wextra -std=c++17 -O0 -lstdc++fs +TESTS=test_converter all: $(TESTS) diff --git a/test/test_converter b/test/test_converter new file mode 100755 index 0000000000000000000000000000000000000000..a24c1b7390ef46e18a95889e3ceb806f6b43a1d6 GIT binary patch literal 900216 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 literal 0 HcmV?d00001 diff --git a/test/test_converter.cpp b/test/test_converter.cpp index 82dc020..cf469fb 100644 --- a/test/test_converter.cpp +++ b/test/test_converter.cpp @@ -1,8 +1,123 @@ +#include <iostream> #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN #include "../include/ss/converter.hpp" #include "doctest.h" #include <algorithm> +/* TODO +TEST_CASE("testing quoting with escaping") { + std::vector<std::string> values{"10", "he\\\"llo", "\\\"", + "\\\"a,a\\\"", "3.33", "a\\\""}; + + // with quote + ss::converter c; + for (size_t i = 0; i < values.size() * values.size(); ++i) { + std::string input1; + std::string input2; + for (size_t j = 0; j < values.size(); ++j) { + if (i & (1 << j) && j != 2 && j != 3) { + input1.append(values[j]); + input2.append(values.at(values.size() - 1 - j)); + } else { + input1.append("\"" + values[j] + "\""); + input2.append("\"" + values.at(values.size() - 1 - j) + "\""); + } + input1.push_back(','); + input2.push_back(','); + } + input1.pop_back(); + input2.pop_back(); + input1.append("\0\""); + input2.append("\0\""); + + auto tup1 = c.convert<int, std::string, std::string, std::string, + double, std::string>(input1.c_str(), ","); + if (!c.valid()) { + FAIL("invalid: " + input1); + } else { + auto [a, b, c, d, e, f] = tup1; + CHECK(a == 10); + CHECK(b == "he\"llo"); + CHECK(c == "\""); + CHECK(d == "\"a,a\""); + CHECK(e == 3.33); + CHECK(f == "a\""); + std::cout << a << ' ' << b << ' ' << c << ' ' << d << ' ' << e + << ' ' << f << std::endl; + CHECK(tup1 == + std::make_tuple(10, "he\"llo", "\"", "\"a,a\"", 3.33, "a\"")); + } + + auto tup2 = c.convert<std::string, double, std::string, std::string, + std::string, int>(input2.c_str(), ","); + if (!c.valid()) { + FAIL("invalid: " + input2); + } else { + CHECK(tup2 == + std::make_tuple("a\"", 3.33, "\"a,a\"", "\"", "he\"llo", 10)); + } + } +} +*/ + +TEST_CASE("testing quoting without escaping") { + std::vector<std::string> values{"10", "hello", ",", "a,a", "3.33", "a"}; + + // with quote + ss::converter c; + for (size_t i = 0; i < values.size() * values.size(); ++i) { + std::string input1; + std::string input2; + for (size_t j = 0; j < values.size(); ++j) { + if (i & (1 << j) && j != 2 && j != 3) { + input1.append(values[j]); + input2.append(values.at(values.size() - 1 - j)); + } else { + input1.append("\"" + values[j] + "\""); + input2.append("\"" + values.at(values.size() - 1 - j) + "\""); + } + input1.append("__"); + input1.push_back(','); + input1.append("__"); + input2.push_back(','); + } + input1.pop_back(); + input1.pop_back(); + input1.pop_back(); + input2.pop_back(); + input1.append("\0\""); + input2.append("\0\""); + + auto tup1 = c.convert<int, std::string, std::string, std::string, + double, char>(input1.c_str(), ","); + if (!c.valid()) { + FAIL("invalid: " + input1); + } else { + auto [a, b, c, d, e, f] = tup1; + CHECK(a == 10); + CHECK(b == "hello"); + CHECK(c == ","); + CHECK(d == "a,a"); + CHECK(e == 3.33); + CHECK(f == 'a'); + } + + auto tup2 = c.convert<char, double, std::string, std::string, + std::string, int>(input2.c_str(), ","); + if (!c.valid()) { + FAIL("invalid: " + input2); + } else { + auto [f, e, d, c, b, a] = tup2; + CHECK(a == 10); + CHECK(b == "hello"); + CHECK(c == ","); + CHECK(d == "a,a"); + CHECK(e == 3.33); + CHECK(f == 'a'); + } + } +} + TEST_CASE("testing split") { ss::converter c; for (const auto& [s, expected, delim] : @@ -48,7 +163,8 @@ TEST_CASE("testing valid conversions") { CHECK(tup == 5); } { - auto tup = c.convert<void, int, void>("junk 5 junk", " "); + // TODO make \t -> ' ' + auto tup = c.convert<void, int, void>("junk\t5\tjunk", "\t"); REQUIRE(c.valid()); CHECK(tup == 5); } diff --git a/test/test_parser.cpp b/test/test_parser.cpp index 4f87622..341a453 100644 --- a/test/test_parser.cpp +++ b/test/test_parser.cpp @@ -481,8 +481,8 @@ TEST_CASE("testing the moving of parsed values") { TEST_CASE("testing the moving of parsed composite values") { // to compile is enough return; - ss::parser* p; - p->try_next<my_string, my_string, my_string>() + ss::parser p{"", ""}; + p.try_next<my_string, my_string, my_string>() .or_else<my_string, my_string, my_string, my_string>([](auto&&) {}) .or_else<my_string>([](auto&) {}) .or_else<xyz>([](auto&&) {}) From 69d6df12be27ce5723f38c7f1446532d7d7a0ae9 Mon Sep 17 00:00:00 2001 From: ado <adnan.abd0124@gmail.com> Date: Sun, 17 Jan 2021 00:46:05 +0100 Subject: [PATCH 02/20] add splitter, update converter and parser, update unit tests --- include/ss/converter.hpp | 511 +++++++++++++++++++++++++++------------ include/ss/parser.hpp | 6 +- test/makefile | 6 +- test/test_converter | Bin 900216 -> 0 bytes test/test_converter.cpp | 227 ++++++++--------- test/test_parser.cpp | 1 + 6 files changed, 478 insertions(+), 273 deletions(-) delete mode 100755 test/test_converter diff --git a/include/ss/converter.hpp b/include/ss/converter.hpp index 9adc536..f2e0433 100644 --- a/include/ss/converter.hpp +++ b/include/ss/converter.hpp @@ -1,17 +1,4 @@ #pragma once - -// TODO remove -#include <iostream> -#ifndef DBG -void log(const std::string& log) { - std::cout << log << std::endl; -} -#else -void log(const std::string&) { -} -#endif -// -// #include "extract.hpp" #include "function_traits.hpp" #include "restrictions.hpp" @@ -20,10 +7,6 @@ void log(const std::string&) { #include <type_traits> #include <vector> -constexpr auto space = '_'; -constexpr auto escaping = true; -constexpr auto quote = '"'; - namespace ss { INIT_HAS_METHOD(tied); INIT_HAS_METHOD(ss_valid); @@ -122,29 +105,368 @@ constexpr bool tied_class_v = tied_class<Ts...>::value; // the error can be set inside a string, or a bool enum class error_mode { error_string, error_bool }; +//////////////////////////////////////////////////////// +//////////////////////////////////////////////////////// +//////////////////////////////////////////////////////// +//////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////////////////////////// +template <char... Cs> +struct matcher { +private: + template <char X, char... Xs> + static bool match_impl(char c) { + if constexpr (sizeof...(Xs) != 0) { + return (c == X) || match_impl<Xs...>(c); + } + return (c == X); + } + +public: + static bool match(char c) { + return match_impl<Cs...>(c); + } + constexpr static bool enabled = true; +}; + +template <> +class matcher<'\0'> { +public: + constexpr static bool enabled = false; + static bool match(char c) = delete; +}; + +//////////////// +// is instance of +//////////////// + +template <typename T, template <char...> class Template> +struct is_instance_of_char { + constexpr static bool value = false; +}; + +template <char... Ts, template <char...> class Template> +struct is_instance_of_char<Template<Ts...>, Template> { + constexpr static bool value = true; +}; + +/////////////////////////////////////////////////// + +template <char... Cs> +struct quote : matcher<Cs...> {}; + +template <char... Cs> +struct trim : matcher<Cs...> {}; + +template <char... Cs> +struct escape : matcher<Cs...> {}; + +///////////////////////////////////////////////// +// -> type traits +template <bool B, typename T, typename U> +struct if_then_else; + +template <typename T, typename U> +struct if_then_else<true, T, U> { + using type = T; +}; + +template <typename T, typename U> +struct if_then_else<false, T, U> { + using type = U; +}; + +////////////////////////////////////////////// +template <template <char...> class Matcher, typename... Ts> +struct get_matcher; + +template <template <char...> class Matcher, typename T, typename... Ts> +struct get_matcher<Matcher, T, Ts...> { + using type = + typename if_then_else<is_instance_of_char<T, Matcher>::value, T, + typename get_matcher<Matcher, Ts...>::type>::type; +}; + +template <template <char...> class Matcher> +struct get_matcher<Matcher> { + using type = Matcher<'\0'>; +}; + +/////////////////////////////////////////////// +// TODO add restriction +template <typename... Ts> +struct setup { + using quote = typename get_matcher<quote, Ts...>::type; + using trim = typename get_matcher<trim, Ts...>::type; + using escape = typename get_matcher<escape, Ts...>::type; +}; + +template <typename... Ts> +struct setup<setup<Ts...>> : setup<Ts...> {}; + +///////////////////////////////////////////////////////////////////////////// + +enum class State { finished, begin, reading, quoting }; +using range = std::pair<const char*, const char*>; + +using string_range = std::pair<const char*, const char*>; +using split_input = std::vector<string_range>; + +template <typename... Ts> +class splitter { + using Setup = setup<Ts...>; + using quote = typename Setup::quote; + using trim = typename Setup::trim; + using escape = typename Setup::escape; + + bool match(const char* end_i, char delim) { + return *end_i == delim; + }; + + bool match(const char* end_i, const std::string& delim) { + return strncmp(end_i, delim.c_str(), delim.size()) == 0; + }; + + size_t delimiter_size(char) { + return 1; + } + size_t delimiter_size(const std::string& delim) { + return delim.size(); + } + + void trim_if_enabled(char*& curr) { + if constexpr (trim::enabled) { + while (trim::match(*curr)) { + ++curr; + } + } + } + + void shift_if_escaped(char*& curr_i) { + if constexpr (escape::enabled) { + if (escape::match(*curr_i)) { + *curr = end[1]; + ++end; + } + } + } + + void shift() { + *curr = *end; + ++end; + ++curr; + } + + void shift(size_t n) { + memcpy(curr, end, n); + end += n; + curr += n; + } + + template <typename Delim> + std::tuple<size_t, bool> match_delimiter(char* begin, const Delim& delim) { + char* end_i = begin; + + trim_if_enabled(end_i); + + // just spacing + if (*end_i == '\0') { + return {0, false}; + } + + // not a delimiter + if (!match(end_i, delim)) { + shift_if_escaped(end_i); + return {1 + end_i - begin, false}; + } + + end_i += delimiter_size(delim); + trim_if_enabled(end_i); + + // delimiter + return {end_i - begin, true}; + } + +public: + bool valid() { + return error_.empty(); + } + + split_input& split(char* new_line, const std::string& d = ",") { + line = new_line; + output_.clear(); + switch (d.size()) { + case 0: + // set error + return output_; + case 1: + return split_impl(d[0]); + default: + return split_impl(d); + } + } + + template <typename Delim> + std::vector<range>& split_impl(const Delim& delim) { + state = State::begin; + begin = line; + + trim_if_enabled(begin); + + while (state != State::finished) { + curr = end = begin; + switch (state) { + case (State::begin): + state_begin(); + break; + case (State::reading): + state_reading(delim); + break; + case (State::quoting): + state_quoting(delim); + break; + default: + break; + }; + } + + return output_; + } + + void state_begin() { + if constexpr (quote::enabled) { + if (quote::match(*begin)) { + ++begin; + state = State::quoting; + return; + } + } + state = State::reading; + } + + template <typename Delim> + void state_reading(const Delim& delim) { + while (true) { + auto [width, valid] = match_delimiter(end, delim); + + // not a delimiter + if (!valid) { + if (width == 0) { + // eol + output_.emplace_back(begin, curr); + state = State::finished; + break; + } else { + shift(width); + continue; + } + } + + // found delimiter + push_and_start_next(width); + break; + } + } + + template <typename Delim> + void state_quoting(const Delim& delim) { + if constexpr (quote::enabled) { + while (true) { + if (quote::match(*end)) { + // double quote + // eg: ...,"hel""lo,... -> hel"lo + if (quote::match(end[1])) { + ++end; + shift(); + continue; + } + + auto [width, valid] = match_delimiter(end + 1, delim); + + // not a delimiter + if (!valid) { + if (width == 0) { + // eol + // eg: ...,"hello" \0 -> hello + // eg no trim: ...,"hello"\0 -> hello + output_.emplace_back(begin, curr); + } else { + // missmatched quote + // eg: ...,"hel"lo,... -> error + } + state = State::finished; + break; + } + + // delimiter + push_and_start_next(width + 1); + break; + } + + if constexpr (escape::enabled) { + if (escape::match(*end)) { + ++end; + shift(); + continue; + } + } + + // unterminated error + // eg: ..."hell\0 -> quote not terminated + if (*end == '\0') { + *curr = '\0'; + state = State::finished; + break; + } + shift(); + } + } else { + // set error impossible scenario + state = State::finished; + } + } + + void push_and_start_next(size_t n) { + output_.emplace_back(begin, curr); + begin = end + n; + state = State::begin; + } + +private: + std::vector<range> output_; + std::string error_ = ""; + State state; + char* curr; + char* end; + char* begin; + char* line; +}; + +//////////////////////////////////////////////////////// +//////////////////////////////////////////////////////// +//////////////////////////////////////////////////////// + //////////////// // converter //////////////// +template <typename... Matchers> class converter { - using string_range = std::pair<const char*, const char*>; - constexpr static auto default_delimiter = ','; + constexpr static auto default_delimiter = ","; public: - using split_input = std::vector<string_range>; - // parses line with given delimiter, returns a 'T' object created with // extracted values of type 'Ts' template <typename T, typename... Ts> - T convert_object(const char* const line, const std::string& delim = "") { + T convert_object(char* line, const std::string& delim = default_delimiter) { return to_object<T>(convert<Ts...>(line, delim)); } // parses line with given delimiter, returns tuple of objects with // extracted values of type 'Ts' template <typename... Ts> - no_void_validator_tup_t<Ts...> convert(const char* const line, - const std::string& delim = "") { + no_void_validator_tup_t<Ts...> convert( + char* line, const std::string& delim = default_delimiter) { input_ = split(line, delim); return convert<Ts...>(input_); } @@ -205,21 +527,15 @@ public: // 'splits' string by given delimiter, returns vector of pairs which // contain the beginnings and the ends of each column of the string - const split_input& split(const char* const line, - const std::string& delim = "") { + const split_input& split(char* line, + const std::string& delim = default_delimiter) { input_.clear(); if (line[0] == '\0') { return input_; } - switch (delim.size()) { - case 0: - return split_impl(line, ','); - case 1: - return split_impl(line, delim[0]); - default: - return split_impl(line, delim, delim.size()); - }; + input_ = splitter_.split(line, delim); + return input_; } private: @@ -316,116 +632,6 @@ private: return convert_impl<Ts...>(elems); } - //////////////// - // substring - //////////////// - - template <typename Delim> - const split_input& split_impl(const char* const line, Delim delim, - size_t delim_size = 1) { - auto [range, begin] = substring(line, delim); - input_.push_back(range); - while (range.second[0] != '\0') { - if constexpr (quote != '\0') { - if (*begin == quote) { - ++begin; - } - if (*begin == '\0') { - break; - } - } - - std::tie(range, begin) = substring(begin + delim_size, delim); - log("-> " + std::string{range.first, range.second}); - input_.push_back(range); - } - return input_; - } - - size_t match(const char* begin, char delim) const { - const char* p = begin; - if constexpr (space == '\0') { - if (*p == delim) { - return 1; - } - } else { - while (*p == space) { - ++p; - } - if (*p == '\0') { - return p - begin; - } - if (*p != delim) { - return 0; - } - do - ++p; - while (*p == space); - return p - begin; - } - } - - size_t match(const char* end, const std::string& delim) const { - // TODO - log("ahamm"); - return strncmp(end, delim.c_str(), delim.size()) != 0; - } - - template <typename Delim> - std::tuple<string_range, const char*> substring(const char* begin, - Delim delim) { - const char* end; - const char* i; - for (i = begin; *i != '\0'; ++i) - ; - log(">> " + std::string{begin, i}); - if constexpr (quote != '\0') { - if (*begin == quote) { - ++begin; - - for (end = begin; true; ++end) { - - if (*end == '\0') { - log("error"); - set_error_unterminated_quote(); - return {string_range{begin, end}, end}; - } - - if constexpr (escaping) { - if (end[-1] == '\\') { - continue; - } - } - - if (*end == quote) { - break; - } - } - - // end is not \0 - size_t to_ignore = match(end + 1, delim); - log(std::to_string(to_ignore)); - if (to_ignore != 0) { - return {string_range{begin, end}, end + to_ignore}; - } - - log("error"); - set_error_invalid_quotation(); - return {string_range{begin, end}, end}; - } - } - - for (end = begin; *end != '\0'; ++end) { - size_t to_ignore = match(end, delim); - log(std::to_string(to_ignore)); - if (to_ignore != 0) { - return {string_range{begin, end}, end + to_ignore}; - } - } - - return {string_range{begin, end}, end}; - } - //////////////// // conversion //////////////// @@ -437,6 +643,11 @@ private: return; } + if constexpr (std::is_same_v<T, std::string>) { + extract(msg.first, msg.second, dst); + return; + } + if (!extract(msg.first, msg.second, dst)) { set_error_invalid_conversion(msg, pos); return; @@ -494,17 +705,7 @@ private: std::string string_error_; bool bool_error_; enum error_mode error_mode_ { error_mode::error_bool }; + splitter<Matchers...> splitter_; }; -template <> -inline void converter::extract_one<std::string>(std::string& dst, - const string_range msg, - size_t) { - if (!valid()) { - return; - } - - extract(msg.first, msg.second, dst); -} - } /* ss */ diff --git a/include/ss/parser.hpp b/include/ss/parser.hpp index adb35c0..c48d115 100644 --- a/include/ss/parser.hpp +++ b/include/ss/parser.hpp @@ -250,8 +250,8 @@ private: char* buffer_{nullptr}; char* next_line_buffer_{nullptr}; - converter converter_; - converter next_line_converter_; + converter<> converter_; + converter<> next_line_converter_; size_t size_{0}; const std::string& delim_; @@ -288,7 +288,7 @@ private: next_line_converter_.set_error_mode(mode); } - converter& get_converter() { + converter<>& get_converter() { return converter_; } diff --git a/test/makefile b/test/makefile index 2652fca..9bbe159 100644 --- a/test/makefile +++ b/test/makefile @@ -1,6 +1,6 @@ -CXX=clang++-9 -CXXFLAGS=-Wall -Wextra -std=c++17 -O0 -lstdc++fs -TESTS=test_converter +CXX=clang++ +CXXFLAGS=-Wall -Wextra -std=c++17 -lstdc++fs +TESTS=test_parser test_converter test_extractions all: $(TESTS) diff --git a/test/test_converter b/test/test_converter deleted file mode 100755 index a24c1b7390ef46e18a95889e3ceb806f6b43a1d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 900216 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 diff --git a/test/test_converter.cpp b/test/test_converter.cpp index cf469fb..f9f7631 100644 --- a/test/test_converter.cpp +++ b/test/test_converter.cpp @@ -4,13 +4,29 @@ #include "doctest.h" #include <algorithm> -/* TODO -TEST_CASE("testing quoting with escaping") { - std::vector<std::string> values{"10", "he\\\"llo", "\\\"", - "\\\"a,a\\\"", "3.33", "a\\\""}; +class buffer { + constexpr static auto buff_size = 1024; + char data_[buff_size]; +public: + char* operator()(const char* data) { + memset(data_, '\0', buff_size); + strcpy(data_, data); + return data_; + } +}; + +buffer buff; + +TEST_CASE("testing splitter with escaping") { + std::vector<std::string> values{"10", "he\\\"llo", + "\\\"", "\\\"a\\,a\\\"", + "3.33", "a\\\""}; + + char buff[128]; // with quote - ss::converter c; + ss::splitter<ss::quote<'"'>, ss::escape<'\\'>> s; + std::string delim = ","; for (size_t i = 0; i < values.size() * values.size(); ++i) { std::string input1; std::string input2; @@ -22,44 +38,25 @@ TEST_CASE("testing quoting with escaping") { input1.append("\"" + values[j] + "\""); input2.append("\"" + values.at(values.size() - 1 - j) + "\""); } - input1.push_back(','); - input2.push_back(','); + input1.append(delim); + input2.append(delim); } input1.pop_back(); input2.pop_back(); input1.append("\0\""); input2.append("\0\""); - auto tup1 = c.convert<int, std::string, std::string, std::string, - double, std::string>(input1.c_str(), ","); - if (!c.valid()) { - FAIL("invalid: " + input1); - } else { - auto [a, b, c, d, e, f] = tup1; - CHECK(a == 10); - CHECK(b == "he\"llo"); - CHECK(c == "\""); - CHECK(d == "\"a,a\""); - CHECK(e == 3.33); - CHECK(f == "a\""); - std::cout << a << ' ' << b << ' ' << c << ' ' << d << ' ' << e - << ' ' << f << std::endl; - CHECK(tup1 == - std::make_tuple(10, "he\"llo", "\"", "\"a,a\"", 3.33, "a\"")); - } + memcpy(buff, input1.c_str(), input1.size() + 1); + auto tup1 = s.split(buff, delim); + CHECK(tup1.size() == 6); - auto tup2 = c.convert<std::string, double, std::string, std::string, - std::string, int>(input2.c_str(), ","); - if (!c.valid()) { - FAIL("invalid: " + input2); - } else { - CHECK(tup2 == - std::make_tuple("a\"", 3.33, "\"a,a\"", "\"", "he\"llo", 10)); - } + memcpy(buff, input2.c_str(), input2.size() + 1); + auto tup2 = s.split(buff, delim); + CHECK(tup2.size() == 6); } } -*/ +/* TEST_CASE("testing quoting without escaping") { std::vector<std::string> values{"10", "hello", ",", "a,a", "3.33", "a"}; @@ -117,6 +114,7 @@ TEST_CASE("testing quoting without escaping") { } } } +*/ TEST_CASE("testing split") { ss::converter c; @@ -124,13 +122,12 @@ TEST_CASE("testing split") { // clang-format off {std::tuple{"a,b,c,d", std::vector{"a", "b", "c", "d"}, ","}, {"", {}, " "}, - {"a,b,c", {"a", "b", "c"}, ""}, {" x x x x | x ", {" x x x x ", " x "}, "|"}, {"a::b::c::d", {"a", "b", "c", "d"}, "::"}, {"x\t-\ty", {"x", "y"}, "\t-\t"}, {"x", {"x"}, ","}} // clang-format on ) { - auto split = c.split(s, delim); + auto split = c.split(buff(s), delim); CHECK(split.size() == expected.size()); for (size_t i = 0; i < split.size(); ++i) { auto s = std::string(split[i].first, split[i].second); @@ -143,84 +140,85 @@ TEST_CASE("testing valid conversions") { ss::converter c; { - auto tup = c.convert<int>("5"); + auto tup = c.convert<int>(buff("5")); REQUIRE(c.valid()); CHECK(tup == 5); } { - auto tup = c.convert<int, void>("5,junk"); + auto tup = c.convert<int, void>(buff("5,junk")); REQUIRE(c.valid()); CHECK(tup == 5); } { - auto tup = c.convert<void, int>("junk,5"); + auto tup = c.convert<void, int>(buff("junk,5")); REQUIRE(c.valid()); CHECK(tup == 5); } { - auto tup = c.convert<int, void, void>("5\njunk\njunk", "\n"); + auto tup = c.convert<int, void, void>(buff("5\njunk\njunk"), "\n"); REQUIRE(c.valid()); CHECK(tup == 5); } { // TODO make \t -> ' ' - auto tup = c.convert<void, int, void>("junk\t5\tjunk", "\t"); + auto tup = c.convert<void, int, void>(buff("junk\t5\tjunk"), "\t"); REQUIRE(c.valid()); CHECK(tup == 5); } { - auto tup = c.convert<void, void, int>("junk\tjunk\t5", "\t"); + auto tup = c.convert<void, void, int>(buff("junk\tjunk\t5"), "\t"); REQUIRE(c.valid()); CHECK(tup == 5); } { auto tup = - c.convert<void, void, std::optional<int>>("junk\tjunk\t5", "\t"); + c.convert<void, void, std::optional<int>>(buff("junk\tjunk\t5"), + "\t"); REQUIRE(c.valid()); REQUIRE(tup.has_value()); CHECK(tup == 5); } { - auto tup = c.convert<int, double, void>("5,6.6,junk"); + auto tup = c.convert<int, double, void>(buff("5,6.6,junk")); REQUIRE(c.valid()); CHECK(tup == std::tuple{5, 6.6}); } { - auto tup = c.convert<int, void, double>("5,junk,6.6"); + auto tup = c.convert<int, void, double>(buff("5,junk,6.6")); REQUIRE(c.valid()); CHECK(tup == std::tuple{5, 6.6}); } { - auto tup = c.convert<void, int, double>("junk;5;6.6", ";"); + auto tup = c.convert<void, int, double>(buff("junk;5;6.6"), ";"); REQUIRE(c.valid()); CHECK(tup == std::tuple{5, 6.6}); } { auto tup = - c.convert<void, std::optional<int>, double>("junk;5;6.6", ";"); + c.convert<void, std::optional<int>, double>(buff("junk;5;6.6"), + ";"); REQUIRE(c.valid()); REQUIRE(std::get<0>(tup).has_value()); CHECK(tup == std::tuple{5, 6.6}); } { auto tup = - c.convert<void, std::optional<int>, double>("junk;5.4;6.6", ";"); + c.convert<void, std::optional<int>, double>(buff("junk;5.4;6.6"), + ";"); REQUIRE(c.valid()); REQUIRE(!std::get<0>(tup).has_value()); CHECK(tup == std::tuple{std::nullopt, 6.6}); } { - auto tup = - c.convert<void, std::variant<int, double>, double>("junk;5;6.6", - ";"); + auto tup = c.convert<void, std::variant<int, double>, + double>(buff("junk;5;6.6"), ";"); REQUIRE(c.valid()); REQUIRE(std::holds_alternative<int>(std::get<0>(tup))); CHECK(tup == std::tuple{std::variant<int, double>{5}, 6.6}); } { - auto tup = - c.convert<void, std::variant<int, double>, double>("junk;5.5;6.6", - ";"); + auto tup = c.convert<void, std::variant<int, double>, + double>(buff("junk;5.5;6.6"), ";"); REQUIRE(c.valid()); REQUIRE(std::holds_alternative<double>(std::get<0>(tup))); CHECK(tup == std::tuple{std::variant<int, double>{5.5}, 6.6}); @@ -230,60 +228,63 @@ TEST_CASE("testing valid conversions") { TEST_CASE("testing invalid conversions") { ss::converter c; - c.convert<int>(""); + c.convert<int>(buff("")); REQUIRE(!c.valid()); - c.convert<int, void>(""); + c.convert<int, void>(buff("")); REQUIRE(!c.valid()); - c.convert<int, void>(",junk"); + c.convert<int, void>(buff(",junk")); REQUIRE(!c.valid()); - c.convert<void, int>("junk,"); + c.convert<void, int>(buff("junk,")); REQUIRE(!c.valid()); - c.convert<int>("x"); + c.convert<int>(buff("x")); REQUIRE(!c.valid()); - c.convert<int, void>("x"); + c.convert<int, void>(buff("x")); REQUIRE(!c.valid()); - c.convert<int, void>("x,junk"); + c.convert<int, void>(buff("x,junk")); REQUIRE(!c.valid()); - c.convert<void, int>("junk,x"); + c.convert<void, int>(buff("junk,x")); REQUIRE(!c.valid()); - c.convert<void, std::variant<int, double>, double>("junk;.5.5;6", ";"); + c.convert<void, std::variant<int, double>, double>(buff("junk;.5.5;6"), + ";"); REQUIRE(!c.valid()); } TEST_CASE("testing ss:ax restriction (all except)") { ss::converter c; - c.convert<ss::ax<int, 0>>("0"); + c.convert<ss::ax<int, 0>>(buff("0")); REQUIRE(!c.valid()); - c.convert<ss::ax<int, 0, 1, 2>>("1"); + c.convert<ss::ax<int, 0, 1, 2>>(buff("1")); REQUIRE(!c.valid()); - c.convert<void, char, ss::ax<int, 0, 1, 2>>("junk,c,1"); + c.convert<void, char, ss::ax<int, 0, 1, 2>>(buff("junk,c,1")); REQUIRE(!c.valid()); - c.convert<ss::ax<int, 1>, char>("1,c"); + c.convert<ss::ax<int, 1>, char>(buff("1,c")); REQUIRE(!c.valid()); { - int tup = c.convert<ss::ax<int, 1>>("3"); + int tup = c.convert<ss::ax<int, 1>>(buff("3")); REQUIRE(c.valid()); CHECK(tup == 3); } { - std::tuple<char, int> tup = c.convert<char, ss::ax<int, 1>>("c,3"); + std::tuple<char, int> tup = + c.convert<char, ss::ax<int, 1>>(buff("c,3")); REQUIRE(c.valid()); CHECK(tup == std::tuple{'c', 3}); } { - std::tuple<int, char> tup = c.convert<ss::ax<int, 1>, char>("3,c"); + std::tuple<int, char> tup = + c.convert<ss::ax<int, 1>, char>(buff("3,c")); REQUIRE(c.valid()); CHECK(tup == std::tuple{3, 'c'}); } @@ -292,32 +293,33 @@ TEST_CASE("testing ss:ax restriction (all except)") { TEST_CASE("testing ss:nx restriction (none except)") { ss::converter c; - c.convert<ss::nx<int, 1>>("3"); + c.convert<ss::nx<int, 1>>(buff("3")); REQUIRE(!c.valid()); - c.convert<char, ss::nx<int, 1, 2, 69>>("c,3"); + c.convert<char, ss::nx<int, 1, 2, 69>>(buff("c,3")); REQUIRE(!c.valid()); - c.convert<ss::nx<int, 1>, char>("3,c"); + c.convert<ss::nx<int, 1>, char>(buff("3,c")); REQUIRE(!c.valid()); { - auto tup = c.convert<ss::nx<int, 3>>("3"); + auto tup = c.convert<ss::nx<int, 3>>(buff("3")); REQUIRE(c.valid()); CHECK(tup == 3); } { - auto tup = c.convert<ss::nx<int, 0, 1, 2>>("2"); + auto tup = c.convert<ss::nx<int, 0, 1, 2>>(buff("2")); REQUIRE(c.valid()); CHECK(tup == 2); } { - auto tup = c.convert<char, void, ss::nx<int, 0, 1, 2>>("c,junk,1"); + auto tup = + c.convert<char, void, ss::nx<int, 0, 1, 2>>(buff("c,junk,1")); REQUIRE(c.valid()); CHECK(tup == std::tuple{'c', 1}); } { - auto tup = c.convert<ss::nx<int, 1>, char>("1,c"); + auto tup = c.convert<ss::nx<int, 1>, char>(buff("1,c")); REQUIRE(c.valid()); CHECK(tup == std::tuple{1, 'c'}); } @@ -326,32 +328,32 @@ TEST_CASE("testing ss:nx restriction (none except)") { TEST_CASE("testing ss:ir restriction (in range)") { ss::converter c; - c.convert<ss::ir<int, 0, 2>>("3"); + c.convert<ss::ir<int, 0, 2>>(buff("3")); REQUIRE(!c.valid()); - c.convert<char, ss::ir<int, 4, 69>>("c,3"); + c.convert<char, ss::ir<int, 4, 69>>(buff("c,3")); REQUIRE(!c.valid()); - c.convert<ss::ir<int, 1, 2>, char>("3,c"); + c.convert<ss::ir<int, 1, 2>, char>(buff("3,c")); REQUIRE(!c.valid()); { - auto tup = c.convert<ss::ir<int, 1, 5>>("3"); + auto tup = c.convert<ss::ir<int, 1, 5>>(buff("3")); REQUIRE(c.valid()); CHECK(tup == 3); } { - auto tup = c.convert<ss::ir<int, 0, 2>>("2"); + auto tup = c.convert<ss::ir<int, 0, 2>>(buff("2")); REQUIRE(c.valid()); CHECK(tup == 2); } { - auto tup = c.convert<char, void, ss::ir<int, 0, 1>>("c,junk,1"); + auto tup = c.convert<char, void, ss::ir<int, 0, 1>>(buff("c,junk,1")); REQUIRE(c.valid()); CHECK(tup == std::tuple{'c', 1}); } { - auto tup = c.convert<ss::ir<int, 1, 20>, char>("1,c"); + auto tup = c.convert<ss::ir<int, 1, 20>, char>(buff("1,c")); REQUIRE(c.valid()); CHECK(tup == std::tuple{1, 'c'}); } @@ -360,32 +362,32 @@ TEST_CASE("testing ss:ir restriction (in range)") { TEST_CASE("testing ss:oor restriction (out of range)") { ss::converter c; - c.convert<ss::oor<int, 1, 5>>("3"); + c.convert<ss::oor<int, 1, 5>>(buff("3")); REQUIRE(!c.valid()); - c.convert<ss::oor<int, 0, 2>>("2"); + c.convert<ss::oor<int, 0, 2>>(buff("2")); REQUIRE(!c.valid()); - c.convert<char, ss::oor<int, 0, 1>, void>("c,1,junk"); + c.convert<char, ss::oor<int, 0, 1>, void>(buff("c,1,junk")); REQUIRE(!c.valid()); - c.convert<ss::oor<int, 1, 20>, char>("1,c"); + c.convert<ss::oor<int, 1, 20>, char>(buff("1,c")); REQUIRE(!c.valid()); { - auto tup = c.convert<ss::oor<int, 0, 2>>("3"); + auto tup = c.convert<ss::oor<int, 0, 2>>(buff("3")); REQUIRE(c.valid()); CHECK(tup == 3); } { - auto tup = c.convert<char, void, ss::oor<int, 4, 69>>("c,junk,3"); + auto tup = c.convert<char, void, ss::oor<int, 4, 69>>(buff("c,junk,3")); REQUIRE(c.valid()); CHECK(tup == std::tuple{'c', 3}); } { - auto tup = c.convert<ss::oor<int, 1, 2>, char>("3,c"); + auto tup = c.convert<ss::oor<int, 1, 2>, char>(buff("3,c")); REQUIRE(c.valid()); CHECK(tup == std::tuple{3, 'c'}); } @@ -407,33 +409,34 @@ inline bool ss::extract(const char* begin, const char* end, TEST_CASE("testing ss:ne restriction (not empty)") { ss::converter c; - c.convert<ss::ne<std::string>>(""); + c.convert<ss::ne<std::string>>(buff("")); REQUIRE(!c.valid()); - c.convert<int, ss::ne<std::string>>("3,"); + c.convert<int, ss::ne<std::string>>(buff("3,")); REQUIRE(!c.valid()); - c.convert<ss::ne<std::string>, int>(",3"); + c.convert<ss::ne<std::string>, int>(buff(",3")); REQUIRE(!c.valid()); - c.convert<void, ss::ne<std::string>, int>("junk,,3"); + c.convert<void, ss::ne<std::string>, int>(buff("junk,,3")); REQUIRE(!c.valid()); - c.convert<ss::ne<std::vector<int>>>(""); + c.convert<ss::ne<std::vector<int>>>(buff("")); REQUIRE(!c.valid()); { - auto tup = c.convert<ss::ne<std::string>>("s"); + auto tup = c.convert<ss::ne<std::string>>(buff("s")); REQUIRE(c.valid()); CHECK(tup == "s"); } { - auto tup = c.convert<std::optional<int>, ss::ne<std::string>>("1,s"); + auto tup = + c.convert<std::optional<int>, ss::ne<std::string>>(buff("1,s")); REQUIRE(c.valid()); CHECK(tup == std::tuple{1, "s"}); } { - auto tup = c.convert<ss::ne<std::vector<int>>>("{1 2 3}"); + auto tup = c.convert<ss::ne<std::vector<int>>>(buff("{1 2 3}")); REQUIRE(c.valid()); CHECK(tup == extracted_vector); } @@ -442,56 +445,56 @@ TEST_CASE("testing ss:ne restriction (not empty)") { TEST_CASE("testing ss:lt ss::lte ss::gt ss::gte restriction (in range)") { ss::converter c; - c.convert<ss::lt<int, 3>>("3"); + c.convert<ss::lt<int, 3>>(buff("3")); REQUIRE(!c.valid()); - c.convert<ss::lt<int, 2>>("3"); + c.convert<ss::lt<int, 2>>(buff("3")); REQUIRE(!c.valid()); - c.convert<ss::gt<int, 3>>("3"); + c.convert<ss::gt<int, 3>>(buff("3")); REQUIRE(!c.valid()); - c.convert<ss::gt<int, 4>>("3"); + c.convert<ss::gt<int, 4>>(buff("3")); REQUIRE(!c.valid()); - c.convert<ss::lte<int, 2>>("3"); + c.convert<ss::lte<int, 2>>(buff("3")); REQUIRE(!c.valid()); - c.convert<ss::gte<int, 4>>("3"); + c.convert<ss::gte<int, 4>>(buff("3")); REQUIRE(!c.valid()); { - auto tup = c.convert<ss::lt<int, 4>>("3"); + auto tup = c.convert<ss::lt<int, 4>>(buff("3")); REQUIRE(c.valid()); CHECK(tup == 3); } { - auto tup = c.convert<ss::gt<int, 2>>("3"); + auto tup = c.convert<ss::gt<int, 2>>(buff("3")); REQUIRE(c.valid()); CHECK(tup == 3); } { - auto tup = c.convert<ss::lte<int, 4>>("3"); + auto tup = c.convert<ss::lte<int, 4>>(buff("3")); REQUIRE(c.valid()); CHECK(tup == 3); } { - auto tup = c.convert<ss::lte<int, 3>>("3"); + auto tup = c.convert<ss::lte<int, 3>>(buff("3")); REQUIRE(c.valid()); CHECK(tup == 3); } { - auto tup = c.convert<ss::gte<int, 2>>("3"); + auto tup = c.convert<ss::gte<int, 2>>(buff("3")); REQUIRE(c.valid()); CHECK(tup == 3); } { - auto tup = c.convert<ss::gte<int, 3>>("3"); + auto tup = c.convert<ss::gte<int, 3>>(buff("3")); REQUIRE(c.valid()); CHECK(tup == 3); } @@ -500,12 +503,12 @@ TEST_CASE("testing ss:lt ss::lte ss::gt ss::gte restriction (in range)") { TEST_CASE("testing error mode") { ss::converter c; - c.convert<int>("junk"); + c.convert<int>(buff("junk")); CHECK(!c.valid()); CHECK(c.error_msg().empty()); c.set_error_mode(ss::error_mode::error_string); - c.convert<int>("junk"); + c.convert<int>(buff("junk")); CHECK(!c.valid()); CHECK(!c.error_msg().empty()); } diff --git a/test/test_parser.cpp b/test/test_parser.cpp index 341a453..bbfe3b5 100644 --- a/test/test_parser.cpp +++ b/test/test_parser.cpp @@ -56,6 +56,7 @@ TEST_CASE("testing parser") { make_and_write(f.name, data); { ss::parser p{f.name, ","}; + p.set_error_mode(ss::error_mode::error_string); std::vector<X> i; while (!p.eof()) { From 263dba762615e0d86b935a9e9eee5d4aa6fc5940 Mon Sep 17 00:00:00 2001 From: ado <adnan.abd0124@gmail.com> Date: Sun, 17 Jan 2021 02:15:06 +0100 Subject: [PATCH 03/20] create seperate header for the splitter, move splitter tests to different cpp file --- include/ss/converter.hpp | 342 +------------------------------------- include/ss/splitter.hpp | 345 +++++++++++++++++++++++++++++++++++++++ test/makefile | 2 +- test/test_converter.cpp | 100 +----------- test/test_splitter.cpp | 43 +++++ 5 files changed, 391 insertions(+), 441 deletions(-) create mode 100644 include/ss/splitter.hpp create mode 100644 test/test_splitter.cpp diff --git a/include/ss/converter.hpp b/include/ss/converter.hpp index f2e0433..1d5af37 100644 --- a/include/ss/converter.hpp +++ b/include/ss/converter.hpp @@ -2,6 +2,7 @@ #include "extract.hpp" #include "function_traits.hpp" #include "restrictions.hpp" +#include "splitter.hpp" #include "type_traits.hpp" #include <string> #include <type_traits> @@ -105,347 +106,6 @@ constexpr bool tied_class_v = tied_class<Ts...>::value; // the error can be set inside a string, or a bool enum class error_mode { error_string, error_bool }; -//////////////////////////////////////////////////////// -//////////////////////////////////////////////////////// -//////////////////////////////////////////////////////// -//////////////////////////////////////////////////////// - -/////////////////////////////////////////////////////////////////////////////// -template <char... Cs> -struct matcher { -private: - template <char X, char... Xs> - static bool match_impl(char c) { - if constexpr (sizeof...(Xs) != 0) { - return (c == X) || match_impl<Xs...>(c); - } - return (c == X); - } - -public: - static bool match(char c) { - return match_impl<Cs...>(c); - } - constexpr static bool enabled = true; -}; - -template <> -class matcher<'\0'> { -public: - constexpr static bool enabled = false; - static bool match(char c) = delete; -}; - -//////////////// -// is instance of -//////////////// - -template <typename T, template <char...> class Template> -struct is_instance_of_char { - constexpr static bool value = false; -}; - -template <char... Ts, template <char...> class Template> -struct is_instance_of_char<Template<Ts...>, Template> { - constexpr static bool value = true; -}; - -/////////////////////////////////////////////////// - -template <char... Cs> -struct quote : matcher<Cs...> {}; - -template <char... Cs> -struct trim : matcher<Cs...> {}; - -template <char... Cs> -struct escape : matcher<Cs...> {}; - -///////////////////////////////////////////////// -// -> type traits -template <bool B, typename T, typename U> -struct if_then_else; - -template <typename T, typename U> -struct if_then_else<true, T, U> { - using type = T; -}; - -template <typename T, typename U> -struct if_then_else<false, T, U> { - using type = U; -}; - -////////////////////////////////////////////// -template <template <char...> class Matcher, typename... Ts> -struct get_matcher; - -template <template <char...> class Matcher, typename T, typename... Ts> -struct get_matcher<Matcher, T, Ts...> { - using type = - typename if_then_else<is_instance_of_char<T, Matcher>::value, T, - typename get_matcher<Matcher, Ts...>::type>::type; -}; - -template <template <char...> class Matcher> -struct get_matcher<Matcher> { - using type = Matcher<'\0'>; -}; - -/////////////////////////////////////////////// -// TODO add restriction -template <typename... Ts> -struct setup { - using quote = typename get_matcher<quote, Ts...>::type; - using trim = typename get_matcher<trim, Ts...>::type; - using escape = typename get_matcher<escape, Ts...>::type; -}; - -template <typename... Ts> -struct setup<setup<Ts...>> : setup<Ts...> {}; - -///////////////////////////////////////////////////////////////////////////// - -enum class State { finished, begin, reading, quoting }; -using range = std::pair<const char*, const char*>; - -using string_range = std::pair<const char*, const char*>; -using split_input = std::vector<string_range>; - -template <typename... Ts> -class splitter { - using Setup = setup<Ts...>; - using quote = typename Setup::quote; - using trim = typename Setup::trim; - using escape = typename Setup::escape; - - bool match(const char* end_i, char delim) { - return *end_i == delim; - }; - - bool match(const char* end_i, const std::string& delim) { - return strncmp(end_i, delim.c_str(), delim.size()) == 0; - }; - - size_t delimiter_size(char) { - return 1; - } - size_t delimiter_size(const std::string& delim) { - return delim.size(); - } - - void trim_if_enabled(char*& curr) { - if constexpr (trim::enabled) { - while (trim::match(*curr)) { - ++curr; - } - } - } - - void shift_if_escaped(char*& curr_i) { - if constexpr (escape::enabled) { - if (escape::match(*curr_i)) { - *curr = end[1]; - ++end; - } - } - } - - void shift() { - *curr = *end; - ++end; - ++curr; - } - - void shift(size_t n) { - memcpy(curr, end, n); - end += n; - curr += n; - } - - template <typename Delim> - std::tuple<size_t, bool> match_delimiter(char* begin, const Delim& delim) { - char* end_i = begin; - - trim_if_enabled(end_i); - - // just spacing - if (*end_i == '\0') { - return {0, false}; - } - - // not a delimiter - if (!match(end_i, delim)) { - shift_if_escaped(end_i); - return {1 + end_i - begin, false}; - } - - end_i += delimiter_size(delim); - trim_if_enabled(end_i); - - // delimiter - return {end_i - begin, true}; - } - -public: - bool valid() { - return error_.empty(); - } - - split_input& split(char* new_line, const std::string& d = ",") { - line = new_line; - output_.clear(); - switch (d.size()) { - case 0: - // set error - return output_; - case 1: - return split_impl(d[0]); - default: - return split_impl(d); - } - } - - template <typename Delim> - std::vector<range>& split_impl(const Delim& delim) { - state = State::begin; - begin = line; - - trim_if_enabled(begin); - - while (state != State::finished) { - curr = end = begin; - switch (state) { - case (State::begin): - state_begin(); - break; - case (State::reading): - state_reading(delim); - break; - case (State::quoting): - state_quoting(delim); - break; - default: - break; - }; - } - - return output_; - } - - void state_begin() { - if constexpr (quote::enabled) { - if (quote::match(*begin)) { - ++begin; - state = State::quoting; - return; - } - } - state = State::reading; - } - - template <typename Delim> - void state_reading(const Delim& delim) { - while (true) { - auto [width, valid] = match_delimiter(end, delim); - - // not a delimiter - if (!valid) { - if (width == 0) { - // eol - output_.emplace_back(begin, curr); - state = State::finished; - break; - } else { - shift(width); - continue; - } - } - - // found delimiter - push_and_start_next(width); - break; - } - } - - template <typename Delim> - void state_quoting(const Delim& delim) { - if constexpr (quote::enabled) { - while (true) { - if (quote::match(*end)) { - // double quote - // eg: ...,"hel""lo,... -> hel"lo - if (quote::match(end[1])) { - ++end; - shift(); - continue; - } - - auto [width, valid] = match_delimiter(end + 1, delim); - - // not a delimiter - if (!valid) { - if (width == 0) { - // eol - // eg: ...,"hello" \0 -> hello - // eg no trim: ...,"hello"\0 -> hello - output_.emplace_back(begin, curr); - } else { - // missmatched quote - // eg: ...,"hel"lo,... -> error - } - state = State::finished; - break; - } - - // delimiter - push_and_start_next(width + 1); - break; - } - - if constexpr (escape::enabled) { - if (escape::match(*end)) { - ++end; - shift(); - continue; - } - } - - // unterminated error - // eg: ..."hell\0 -> quote not terminated - if (*end == '\0') { - *curr = '\0'; - state = State::finished; - break; - } - shift(); - } - } else { - // set error impossible scenario - state = State::finished; - } - } - - void push_and_start_next(size_t n) { - output_.emplace_back(begin, curr); - begin = end + n; - state = State::begin; - } - -private: - std::vector<range> output_; - std::string error_ = ""; - State state; - char* curr; - char* end; - char* begin; - char* line; -}; - -//////////////////////////////////////////////////////// -//////////////////////////////////////////////////////// -//////////////////////////////////////////////////////// - //////////////// // converter //////////////// diff --git a/include/ss/splitter.hpp b/include/ss/splitter.hpp new file mode 100644 index 0000000..70867f7 --- /dev/null +++ b/include/ss/splitter.hpp @@ -0,0 +1,345 @@ +#pragma once +#include "type_traits.hpp" +#include <cstdlib> +#include <cstring> +#include <string> +#include <vector> + +namespace ss { +template <char... Cs> +struct matcher { +private: + template <char X, char... Xs> + static bool match_impl(char c) { + if constexpr (sizeof...(Xs) != 0) { + return (c == X) || match_impl<Xs...>(c); + } + return (c == X); + } + +public: + static bool match(char c) { + return match_impl<Cs...>(c); + } + constexpr static bool enabled = true; +}; + +template <> +class matcher<'\0'> { +public: + constexpr static bool enabled = false; + static bool match(char c) = delete; +}; + +//////////////// +// is instance of +//////////////// + +template <typename T, template <char...> class Template> +struct is_instance_of_char { + constexpr static bool value = false; +}; + +template <char... Ts, template <char...> class Template> +struct is_instance_of_char<Template<Ts...>, Template> { + constexpr static bool value = true; +}; + +/////////////////////////////////////////////////// + +template <char... Cs> +struct quote : matcher<Cs...> {}; + +template <char... Cs> +struct trim : matcher<Cs...> {}; + +template <char... Cs> +struct escape : matcher<Cs...> {}; + +///////////////////////////////////////////////// +// -> type traits +template <bool B, typename T, typename U> +struct if_then_else; + +template <typename T, typename U> +struct if_then_else<true, T, U> { + using type = T; +}; + +template <typename T, typename U> +struct if_then_else<false, T, U> { + using type = U; +}; + +////////////////////////////////////////////// +template <template <char...> class Matcher, typename... Ts> +struct get_matcher; + +template <template <char...> class Matcher, typename T, typename... Ts> +struct get_matcher<Matcher, T, Ts...> { + using type = + typename if_then_else<is_instance_of_char<T, Matcher>::value, T, + typename get_matcher<Matcher, Ts...>::type>::type; +}; + +template <template <char...> class Matcher> +struct get_matcher<Matcher> { + using type = Matcher<'\0'>; +}; + +/////////////////////////////////////////////// +// TODO add restriction +template <typename... Ts> +struct setup { + using quote = typename get_matcher<quote, Ts...>::type; + using trim = typename get_matcher<trim, Ts...>::type; + using escape = typename get_matcher<escape, Ts...>::type; +}; + +template <typename... Ts> +struct setup<setup<Ts...>> : setup<Ts...> {}; + +///////////////////////////////////////////////////////////////////////////// + +enum class State { finished, begin, reading, quoting }; +using range = std::pair<const char*, const char*>; + +using string_range = std::pair<const char*, const char*>; +using split_input = std::vector<string_range>; + +template <typename... Ts> +class splitter { + using Setup = setup<Ts...>; + using quote = typename Setup::quote; + using trim = typename Setup::trim; + using escape = typename Setup::escape; + + bool match(const char* end_i, char delim) { + return *end_i == delim; + }; + + bool match(const char* end_i, const std::string& delim) { + return strncmp(end_i, delim.c_str(), delim.size()) == 0; + }; + + size_t delimiter_size(char) { + return 1; + } + + size_t delimiter_size(const std::string& delim) { + return delim.size(); + } + + void trim_if_enabled(char*& curr) { + if constexpr (trim::enabled) { + while (trim::match(*curr)) { + ++curr; + } + } + } + + void shift_if_escaped(char*& curr_i) { + if constexpr (escape::enabled) { + if (escape::match(*curr_i)) { + *curr = end[1]; + ++end; + } + } + } + + void shift() { + if constexpr (escape::enabled || quote::enabled) { + *curr = *end; + } + ++end; + ++curr; + } + + void shift(size_t n) { + if constexpr (escape::enabled || quote::enabled) { + memcpy(curr, end, n); + } + end += n; + curr += n; + } + + template <typename Delim> + std::tuple<size_t, bool> match_delimiter(char* begin, const Delim& delim) { + char* end_i = begin; + + trim_if_enabled(end_i); + + // just spacing + if (*end_i == '\0') { + return {0, false}; + } + + // not a delimiter + if (!match(end_i, delim)) { + shift_if_escaped(end_i); + return {1 + end_i - begin, false}; + } + + end_i += delimiter_size(delim); + trim_if_enabled(end_i); + + // delimiter + return {end_i - begin, true}; + } + +public: + bool valid() { + return error_.empty(); + } + + split_input& split(char* new_line, const std::string& d = ",") { + line = new_line; + output_.clear(); + switch (d.size()) { + case 0: + // set error + return output_; + case 1: + return split_impl(d[0]); + default: + return split_impl(d); + } + } + + template <typename Delim> + std::vector<range>& split_impl(const Delim& delim) { + state = State::begin; + begin = line; + + trim_if_enabled(begin); + + while (state != State::finished) { + curr = end = begin; + switch (state) { + case (State::begin): + state_begin(); + break; + case (State::reading): + state_reading(delim); + break; + case (State::quoting): + state_quoting(delim); + break; + default: + break; + }; + } + + return output_; + } + + void state_begin() { + if constexpr (quote::enabled) { + if (quote::match(*begin)) { + ++begin; + state = State::quoting; + return; + } + } + state = State::reading; + } + + template <typename Delim> + void state_reading(const Delim& delim) { + while (true) { + auto [width, valid] = match_delimiter(end, delim); + + // not a delimiter + if (!valid) { + if (width == 0) { + // eol + output_.emplace_back(begin, curr); + state = State::finished; + break; + } else { + shift(width); + continue; + } + } + + // found delimiter + push_and_start_next(width); + break; + } + } + + template <typename Delim> + void state_quoting(const Delim& delim) { + if constexpr (quote::enabled) { + while (true) { + if (quote::match(*end)) { + // double quote + // eg: ...,"hel""lo,... -> hel"lo + if (quote::match(end[1])) { + ++end; + shift(); + continue; + } + + auto [width, valid] = match_delimiter(end + 1, delim); + + // not a delimiter + if (!valid) { + if (width == 0) { + // eol + // eg: ...,"hello" \0 -> hello + // eg no trim: ...,"hello"\0 -> hello + output_.emplace_back(begin, curr); + } else { + // missmatched quote + // eg: ...,"hel"lo,... -> error + } + state = State::finished; + break; + } + + // delimiter + push_and_start_next(width + 1); + break; + } + + if constexpr (escape::enabled) { + if (escape::match(*end)) { + ++end; + shift(); + continue; + } + } + + // unterminated error + // eg: ..."hell\0 -> quote not terminated + if (*end == '\0') { + *curr = '\0'; + state = State::finished; + break; + } + shift(); + } + } else { + // set error impossible scenario + state = State::finished; + } + } + + void push_and_start_next(size_t n) { + output_.emplace_back(begin, curr); + begin = end + n; + state = State::begin; + } + +private: + std::vector<range> output_; + std::string error_ = ""; + State state; + char* curr; + char* end; + char* begin; + char* line; +}; + +} /* ss */ diff --git a/test/makefile b/test/makefile index 9bbe159..2b4f851 100644 --- a/test/makefile +++ b/test/makefile @@ -1,6 +1,6 @@ CXX=clang++ CXXFLAGS=-Wall -Wextra -std=c++17 -lstdc++fs -TESTS=test_parser test_converter test_extractions +TESTS=test_parser test_converter test_extractions test_splitter all: $(TESTS) diff --git a/test/test_converter.cpp b/test/test_converter.cpp index f9f7631..e708fef 100644 --- a/test/test_converter.cpp +++ b/test/test_converter.cpp @@ -16,105 +16,7 @@ public: } }; -buffer buff; - -TEST_CASE("testing splitter with escaping") { - std::vector<std::string> values{"10", "he\\\"llo", - "\\\"", "\\\"a\\,a\\\"", - "3.33", "a\\\""}; - - char buff[128]; - // with quote - ss::splitter<ss::quote<'"'>, ss::escape<'\\'>> s; - std::string delim = ","; - for (size_t i = 0; i < values.size() * values.size(); ++i) { - std::string input1; - std::string input2; - for (size_t j = 0; j < values.size(); ++j) { - if (i & (1 << j) && j != 2 && j != 3) { - input1.append(values[j]); - input2.append(values.at(values.size() - 1 - j)); - } else { - input1.append("\"" + values[j] + "\""); - input2.append("\"" + values.at(values.size() - 1 - j) + "\""); - } - input1.append(delim); - input2.append(delim); - } - input1.pop_back(); - input2.pop_back(); - input1.append("\0\""); - input2.append("\0\""); - - memcpy(buff, input1.c_str(), input1.size() + 1); - auto tup1 = s.split(buff, delim); - CHECK(tup1.size() == 6); - - memcpy(buff, input2.c_str(), input2.size() + 1); - auto tup2 = s.split(buff, delim); - CHECK(tup2.size() == 6); - } -} - -/* -TEST_CASE("testing quoting without escaping") { - std::vector<std::string> values{"10", "hello", ",", "a,a", "3.33", "a"}; - - // with quote - ss::converter c; - for (size_t i = 0; i < values.size() * values.size(); ++i) { - std::string input1; - std::string input2; - for (size_t j = 0; j < values.size(); ++j) { - if (i & (1 << j) && j != 2 && j != 3) { - input1.append(values[j]); - input2.append(values.at(values.size() - 1 - j)); - } else { - input1.append("\"" + values[j] + "\""); - input2.append("\"" + values.at(values.size() - 1 - j) + "\""); - } - input1.append("__"); - input1.push_back(','); - input1.append("__"); - input2.push_back(','); - } - input1.pop_back(); - input1.pop_back(); - input1.pop_back(); - input2.pop_back(); - input1.append("\0\""); - input2.append("\0\""); - - auto tup1 = c.convert<int, std::string, std::string, std::string, - double, char>(input1.c_str(), ","); - if (!c.valid()) { - FAIL("invalid: " + input1); - } else { - auto [a, b, c, d, e, f] = tup1; - CHECK(a == 10); - CHECK(b == "hello"); - CHECK(c == ","); - CHECK(d == "a,a"); - CHECK(e == 3.33); - CHECK(f == 'a'); - } - - auto tup2 = c.convert<char, double, std::string, std::string, - std::string, int>(input2.c_str(), ","); - if (!c.valid()) { - FAIL("invalid: " + input2); - } else { - auto [f, e, d, c, b, a] = tup2; - CHECK(a == 10); - CHECK(b == "hello"); - CHECK(c == ","); - CHECK(d == "a,a"); - CHECK(e == 3.33); - CHECK(f == 'a'); - } - } -} -*/ +static buffer buff; TEST_CASE("testing split") { ss::converter c; diff --git a/test/test_splitter.cpp b/test/test_splitter.cpp new file mode 100644 index 0000000..22c37a2 --- /dev/null +++ b/test/test_splitter.cpp @@ -0,0 +1,43 @@ +#include <iostream> +#define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN +#include "../include/ss/splitter.hpp" +#include "doctest.h" +#include <algorithm> + +TEST_CASE("testing splitter with escaping") { + std::vector<std::string> values{"10", "he\\\"llo", + "\\\"", "\\\"a\\,a\\\"", + "3.33", "a\\\""}; + + char buff[128]; + // with quote + ss::splitter<ss::quote<'"'>, ss::escape<'\\'>> s; + std::string delim = ","; + for (size_t i = 0; i < values.size() * values.size(); ++i) { + std::string input1; + std::string input2; + for (size_t j = 0; j < values.size(); ++j) { + if (i & (1 << j) && j != 2 && j != 3) { + input1.append(values[j]); + input2.append(values.at(values.size() - 1 - j)); + } else { + input1.append("\"" + values[j] + "\""); + input2.append("\"" + values.at(values.size() - 1 - j) + "\""); + } + input1.append(delim); + input2.append(delim); + } + input1.pop_back(); + input2.pop_back(); + input1.append("\0\""); + input2.append("\0\""); + + memcpy(buff, input1.c_str(), input1.size() + 1); + auto tup1 = s.split(buff, delim); + CHECK(tup1.size() == 6); + + memcpy(buff, input2.c_str(), input2.size() + 1); + auto tup2 = s.split(buff, delim); + CHECK(tup2.size() == 6); + } +} From 024e5d3810486d1c14e6ffd3d8d3e617a91ad456 Mon Sep 17 00:00:00 2001 From: ado <adnan.abd0124@gmail.com> Date: Sun, 17 Jan 2021 14:53:07 +0100 Subject: [PATCH 04/20] refactor splitter --- include/ss/extract.hpp | 1 + include/ss/splitter.hpp | 99 +++++++++++++++----------------------- include/ss/type_traits.hpp | 17 +++++++ test/makefile | 2 +- 4 files changed, 57 insertions(+), 62 deletions(-) diff --git a/include/ss/extract.hpp b/include/ss/extract.hpp index f994430..b10759d 100644 --- a/include/ss/extract.hpp +++ b/include/ss/extract.hpp @@ -33,6 +33,7 @@ std::enable_if_t<std::is_floating_point_v<T>, T> pow10(int n) { return ret; } +// TODO not working with large number of digits template <typename T> std::enable_if_t<std::is_floating_point_v<T>, std::optional<T>> to_num( const char* begin, const char* const end) { diff --git a/include/ss/splitter.hpp b/include/ss/splitter.hpp index 70867f7..9308dd9 100644 --- a/include/ss/splitter.hpp +++ b/include/ss/splitter.hpp @@ -31,22 +31,6 @@ public: static bool match(char c) = delete; }; -//////////////// -// is instance of -//////////////// - -template <typename T, template <char...> class Template> -struct is_instance_of_char { - constexpr static bool value = false; -}; - -template <char... Ts, template <char...> class Template> -struct is_instance_of_char<Template<Ts...>, Template> { - constexpr static bool value = true; -}; - -/////////////////////////////////////////////////// - template <char... Cs> struct quote : matcher<Cs...> {}; @@ -56,30 +40,24 @@ struct trim : matcher<Cs...> {}; template <char... Cs> struct escape : matcher<Cs...> {}; -///////////////////////////////////////////////// -// -> type traits -template <bool B, typename T, typename U> -struct if_then_else; - -template <typename T, typename U> -struct if_then_else<true, T, U> { - using type = T; +template <typename T, template <char...> class Template> +struct is_instance_of_matcher { + constexpr static bool value = false; }; -template <typename T, typename U> -struct if_then_else<false, T, U> { - using type = U; +template <char... Ts, template <char...> class Template> +struct is_instance_of_matcher<Template<Ts...>, Template> { + constexpr static bool value = true; }; -////////////////////////////////////////////// template <template <char...> class Matcher, typename... Ts> struct get_matcher; template <template <char...> class Matcher, typename T, typename... Ts> struct get_matcher<Matcher, T, Ts...> { using type = - typename if_then_else<is_instance_of_char<T, Matcher>::value, T, - typename get_matcher<Matcher, Ts...>::type>::type; + typename ternary<is_instance_of_matcher<T, Matcher>::value, T, + typename get_matcher<Matcher, Ts...>::type>::type; }; template <template <char...> class Matcher> @@ -87,21 +65,21 @@ struct get_matcher<Matcher> { using type = Matcher<'\0'>; }; -/////////////////////////////////////////////// -// TODO add restriction +template <template <char...> class Matcher, typename... Ts> +using get_matcher_t = typename get_matcher<Matcher, Ts...>::type; + +// TODO add static asserts template <typename... Ts> struct setup { - using quote = typename get_matcher<quote, Ts...>::type; - using trim = typename get_matcher<trim, Ts...>::type; - using escape = typename get_matcher<escape, Ts...>::type; + using quote = get_matcher_t<quote, Ts...>; + using trim = get_matcher_t<trim, Ts...>; + using escape = get_matcher_t<escape, Ts...>; }; template <typename... Ts> struct setup<setup<Ts...>> : setup<Ts...> {}; -///////////////////////////////////////////////////////////////////////////// - -enum class State { finished, begin, reading, quoting }; +enum class state { begin, reading, quoting, finished }; using range = std::pair<const char*, const char*>; using string_range = std::pair<const char*, const char*>; @@ -109,10 +87,9 @@ using split_input = std::vector<string_range>; template <typename... Ts> class splitter { - using Setup = setup<Ts...>; - using quote = typename Setup::quote; - using trim = typename Setup::trim; - using escape = typename Setup::escape; + using quote = typename setup<Ts...>::quote; + using trim = typename setup<Ts...>::trim; + using escape = typename setup<Ts...>::escape; bool match(const char* end_i, char delim) { return *end_i == delim; @@ -187,6 +164,12 @@ class splitter { return {end_i - begin, true}; } + void push_and_start_next(size_t n) { + output_.emplace_back(begin, curr); + begin = end + n; + state_ = state::begin; + } + public: bool valid() { return error_.empty(); @@ -208,21 +191,21 @@ public: template <typename Delim> std::vector<range>& split_impl(const Delim& delim) { - state = State::begin; + state_ = state::begin; begin = line; trim_if_enabled(begin); - while (state != State::finished) { + while (state_ != state::finished) { curr = end = begin; - switch (state) { - case (State::begin): + switch (state_) { + case (state::begin): state_begin(); break; - case (State::reading): + case (state::reading): state_reading(delim); break; - case (State::quoting): + case (state::quoting): state_quoting(delim); break; default: @@ -237,11 +220,11 @@ public: if constexpr (quote::enabled) { if (quote::match(*begin)) { ++begin; - state = State::quoting; + state_ = state::quoting; return; } } - state = State::reading; + state_ = state::reading; } template <typename Delim> @@ -254,7 +237,7 @@ public: if (width == 0) { // eol output_.emplace_back(begin, curr); - state = State::finished; + state_ = state::finished; break; } else { shift(width); @@ -294,7 +277,7 @@ public: // missmatched quote // eg: ...,"hel"lo,... -> error } - state = State::finished; + state_ = state::finished; break; } @@ -315,27 +298,21 @@ public: // eg: ..."hell\0 -> quote not terminated if (*end == '\0') { *curr = '\0'; - state = State::finished; + state_ = state::finished; break; } shift(); } } else { // set error impossible scenario - state = State::finished; + state_ = state::finished; } } - void push_and_start_next(size_t n) { - output_.emplace_back(begin, curr); - begin = end + n; - state = State::begin; - } - private: std::vector<range> output_; std::string error_ = ""; - State state; + state state_; char* curr; char* end; char* begin; diff --git a/include/ss/type_traits.hpp b/include/ss/type_traits.hpp index 0653696..e30207a 100644 --- a/include/ss/type_traits.hpp +++ b/include/ss/type_traits.hpp @@ -314,6 +314,23 @@ struct is_instance_of<Template<Ts...>, Template> { constexpr static bool value = true; }; +//////////////// +// ternary +//////////////// + +template <bool B, typename T, typename U> +struct ternary; + +template <typename T, typename U> +struct ternary<true, T, U> { + using type = T; +}; + +template <typename T, typename U> +struct ternary<false, T, U> { + using type = U; +}; + //////////////// // tuple to struct //////////////// diff --git a/test/makefile b/test/makefile index 2b4f851..28243b1 100644 --- a/test/makefile +++ b/test/makefile @@ -1,4 +1,4 @@ -CXX=clang++ +CXX=g++ CXXFLAGS=-Wall -Wextra -std=c++17 -lstdc++fs TESTS=test_parser test_converter test_extractions test_splitter From 6193c65388dea54bc7c32182c3fd12a1738dbd77 Mon Sep 17 00:00:00 2001 From: ado <adnan.abd0124@gmail.com> Date: Sun, 17 Jan 2021 21:46:36 +0100 Subject: [PATCH 05/20] enable matchers for parser --- .gitignore | 1 + include/ss/parser.hpp | 26 ++++++++++++-------------- include/ss/type_traits.hpp | 1 + 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.gitignore b/.gitignore index aae7f2c..d3bc408 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ compile_commands.json .clang-format experiment/ +build/ diff --git a/include/ss/parser.hpp b/include/ss/parser.hpp index c48d115..7552f10 100644 --- a/include/ss/parser.hpp +++ b/include/ss/parser.hpp @@ -11,11 +11,10 @@ namespace ss { -struct none {}; -template <typename...> -class composite; - +template <typename... Matchers> class parser { + struct none {}; + public: parser(const std::string& file_name, const std::string& delimiter) : file_name_{file_name}, delim_{delimiter}, @@ -29,7 +28,9 @@ public: } ~parser() { - fclose(file_); + if (file_) { + fclose(file_); + } } bool valid() const { @@ -68,7 +69,7 @@ public: return {}; } - auto value = buff_.get_converter().convert<T, Ts...>(); + auto value = buff_.get_converter().template convert<T, Ts...>(); if (!buff_.get_converter().valid()) { set_error_invalid_conversion(); @@ -134,8 +135,8 @@ public: auto merged_values = std::tuple_cat(std::move(values_), std::tuple<T>{parser_.valid() - ? std::forward<T>(new_value) - : std::nullopt}); + ? std::forward<T>(new_value) + : std::nullopt}); return {std::move(merged_values), parser_}; } @@ -189,9 +190,6 @@ public: }; private: - template <typename...> - friend class composite; - // tries to invoke the given function (see below), if the function // returns a value which can be used as a conditional, and it returns // false, the function sets an error, and allows the invoke of the @@ -250,8 +248,8 @@ private: char* buffer_{nullptr}; char* next_line_buffer_{nullptr}; - converter<> converter_; - converter<> next_line_converter_; + converter<Matchers...> converter_; + converter<Matchers...> next_line_converter_; size_t size_{0}; const std::string& delim_; @@ -288,7 +286,7 @@ private: next_line_converter_.set_error_mode(mode); } - converter<>& get_converter() { + converter<Matchers...>& get_converter() { return converter_; } diff --git a/include/ss/type_traits.hpp b/include/ss/type_traits.hpp index e30207a..64f1dab 100644 --- a/include/ss/type_traits.hpp +++ b/include/ss/type_traits.hpp @@ -340,6 +340,7 @@ S to_object(std::index_sequence<Is...>, Tup&& tup) { return {std::get<Is>(std::forward<Tup>(tup))...}; } +// TODO Tup may not be a tuple ... template <class S, class Tup> S to_object(Tup&& tup) { using T = std::remove_reference_t<Tup>; From f0a01f65d30dbf7da35808739e43256af4f1be26 Mon Sep 17 00:00:00 2001 From: ado <adnan.abd0124@gmail.com> Date: Thu, 21 Jan 2021 02:00:26 +0100 Subject: [PATCH 06/20] update splitter tests for meson --- test/test_splitter.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/test/test_splitter.cpp b/test/test_splitter.cpp index 22c37a2..e1651fa 100644 --- a/test/test_splitter.cpp +++ b/test/test_splitter.cpp @@ -1,8 +1,13 @@ -#include <iostream> -#define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN -#include "../include/ss/splitter.hpp" -#include "doctest.h" #include <algorithm> +#include <cstring> +#include <iostream> +#include <ss/splitter.hpp> + +#ifdef CMAKE_GITHUB_CI +#include <doctest/doctest.h> +#else +#include <doctest.h> +#endif TEST_CASE("testing splitter with escaping") { std::vector<std::string> values{"10", "he\\\"llo", From 86514bfbb6b54d31bced14a529b43dc9046cac70 Mon Sep 17 00:00:00 2001 From: ado <adnan.abd0124@gmail.com> Date: Thu, 21 Jan 2021 02:09:51 +0100 Subject: [PATCH 07/20] replace tuple constructor with make_tuple in converter test --- test/test_converter.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/test_converter.cpp b/test/test_converter.cpp index 8af8f74..b372f10 100644 --- a/test/test_converter.cpp +++ b/test/test_converter.cpp @@ -25,7 +25,7 @@ TEST_CASE("testing split") { ss::converter c; for (const auto& [s, expected, delim] : // clang-format off - {std::tuple{"a,b,c,d", std::vector{"a", "b", "c", "d"}, ","}, + {std::make_tuple{"a,b,c,d", std::vector{"a", "b", "c", "d"}, ","}, {"", {}, " "}, {" x x x x | x ", {" x x x x ", " x "}, "|"}, {"a::b::c::d", {"a", "b", "c", "d"}, "::"}, From 15f0c636435d28e63dd75a3c3cc3d55cb60d6dd6 Mon Sep 17 00:00:00 2001 From: ado <adnan.abd0124@gmail.com> Date: Thu, 21 Jan 2021 02:13:45 +0100 Subject: [PATCH 08/20] fix converter test --- test/test_converter.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/test_converter.cpp b/test/test_converter.cpp index b372f10..b6b3115 100644 --- a/test/test_converter.cpp +++ b/test/test_converter.cpp @@ -25,7 +25,7 @@ TEST_CASE("testing split") { ss::converter c; for (const auto& [s, expected, delim] : // clang-format off - {std::make_tuple{"a,b,c,d", std::vector{"a", "b", "c", "d"}, ","}, + {std::make_tuple("a,b,c,d", std::vector{"a", "b", "c", "d"}, ","), {"", {}, " "}, {" x x x x | x ", {" x x x x ", " x "}, "|"}, {"a::b::c::d", {"a", "b", "c", "d"}, "::"}, From 24fe96dc44d279cf95ba0e7abdce0b263cd02a65 Mon Sep 17 00:00:00 2001 From: ado <adnan.abd0124@gmail.com> Date: Sat, 23 Jan 2021 21:39:18 +0100 Subject: [PATCH 09/20] add splitter tests --- meson.build | 2 +- test/test_converter.cpp | 21 +- test/test_extractions.cpp | 9 +- test/test_helpers.hpp | 22 +++ test/test_parser.cpp | 33 ++-- test/test_splitter.cpp | 393 ++++++++++++++++++++++++++++++++++---- 6 files changed, 403 insertions(+), 77 deletions(-) create mode 100644 test/test_helpers.hpp diff --git a/meson.build b/meson.build index c59bd09..16fff8f 100644 --- a/meson.build +++ b/meson.build @@ -2,7 +2,7 @@ project('ssp', 'cpp', default_options : ['warning_level=3', 'cpp_std=c++17', - 'buildtype=debug']) + 'buildtype=debugoptimized']) includes = include_directories('include') subdir('test') diff --git a/test/test_converter.cpp b/test/test_converter.cpp index b6b3115..5bcab32 100644 --- a/test/test_converter.cpp +++ b/test/test_converter.cpp @@ -1,26 +1,7 @@ +#include "test_helpers.hpp" #include <algorithm> #include <ss/converter.hpp> -#ifdef CMAKE_GITHUB_CI -#include <doctest/doctest.h> -#else -#include <doctest.h> -#endif - -class buffer { - constexpr static auto buff_size = 1024; - char data_[buff_size]; - -public: - char* operator()(const char* data) { - memset(data_, '\0', buff_size); - strcpy(data_, data); - return data_; - } -}; - -static buffer buff; - TEST_CASE("testing split") { ss::converter c; for (const auto& [s, expected, delim] : diff --git a/test/test_extractions.cpp b/test/test_extractions.cpp index d645b61..c0866e9 100644 --- a/test/test_extractions.cpp +++ b/test/test_extractions.cpp @@ -1,11 +1,6 @@ -#include <ss/extract.hpp> +#include "test_helpers.hpp" #include <algorithm> - -#ifdef CMAKE_GITHUB_CI -#include <doctest/doctest.h> -#else -#include <doctest.h> -#endif +#include <ss/extract.hpp> constexpr auto eps = 0.000001; using ld = long double; diff --git a/test/test_helpers.hpp b/test/test_helpers.hpp new file mode 100644 index 0000000..87abd8a --- /dev/null +++ b/test/test_helpers.hpp @@ -0,0 +1,22 @@ +#pragma once +#include <cstring> + +#ifdef CMAKE_GITHUB_CI +#include <doctest/doctest.h> +#else +#include <doctest.h> +#endif + +class buffer { + constexpr static auto buff_size = 1024; + char data_[buff_size]; + +public: + char* operator()(const char* data) { + memset(data_, '\0', buff_size); + strcpy(data_, data); + return data_; + } +}; + +[[maybe_unused]] inline buffer buff; diff --git a/test/test_parser.cpp b/test/test_parser.cpp index 19dd8de..f9518d0 100644 --- a/test/test_parser.cpp +++ b/test/test_parser.cpp @@ -1,20 +1,18 @@ +#include "test_helpers.hpp" #include <algorithm> #include <filesystem> #include <fstream> #include <ss/parser.hpp> -#ifdef CMAKE_GITHUB_CI -#include <doctest/doctest.h> -#else -#include <doctest.h> -#endif - struct unique_file_name { const std::string name; - unique_file_name() : name{std::tmpnam(nullptr)} {} + unique_file_name() : name{std::tmpnam(nullptr)} { + } - ~unique_file_name() { std::filesystem::remove(name); } + ~unique_file_name() { + std::filesystem::remove(name); + } }; struct X { @@ -30,7 +28,9 @@ struct X { .append(delim) .append(s); } - auto tied() const { return std::tie(i, d, s); } + auto tied() const { + return std::tie(i, d, s); + } }; template <typename T> @@ -167,10 +167,13 @@ struct test_struct { int i; double d; char c; - auto tied() { return std::tie(i, d, c); } + auto tied() { + return std::tie(i, d, c); + } }; -void expect_test_struct(const test_struct&) {} +void expect_test_struct(const test_struct&) { +} // various scenarios TEST_CASE("testing composite conversion") { @@ -392,7 +395,9 @@ struct my_string { my_string() = default; - ~my_string() { delete[] data; } + ~my_string() { + delete[] data; + } // make sure no object is copied my_string(const my_string&) = delete; @@ -423,7 +428,9 @@ struct xyz { my_string x; my_string y; my_string z; - auto tied() { return std::tie(x, y, z); } + auto tied() { + return std::tie(x, y, z); + } }; TEST_CASE("testing the moving of parsed values") { diff --git a/test/test_splitter.cpp b/test/test_splitter.cpp index e1651fa..d910cfe 100644 --- a/test/test_splitter.cpp +++ b/test/test_splitter.cpp @@ -1,48 +1,369 @@ +#include "test_helpers.hpp" #include <algorithm> #include <cstring> #include <iostream> #include <ss/splitter.hpp> -#ifdef CMAKE_GITHUB_CI -#include <doctest/doctest.h> -#else -#include <doctest.h> -#endif +// TODO make ss::quote accept only one argument -TEST_CASE("testing splitter with escaping") { - std::vector<std::string> values{"10", "he\\\"llo", - "\\\"", "\\\"a\\,a\\\"", - "3.33", "a\\\""}; +namespace { +constexpr static auto combinations_size_default = 4; +size_t combinations_size = combinations_size_default; - char buff[128]; - // with quote - ss::splitter<ss::quote<'"'>, ss::escape<'\\'>> s; - std::string delim = ","; - for (size_t i = 0; i < values.size() * values.size(); ++i) { - std::string input1; - std::string input2; - for (size_t j = 0; j < values.size(); ++j) { - if (i & (1 << j) && j != 2 && j != 3) { - input1.append(values[j]); - input2.append(values.at(values.size() - 1 - j)); - } else { - input1.append("\"" + values[j] + "\""); - input2.append("\"" + values.at(values.size() - 1 - j) + "\""); - } - input1.append(delim); - input2.append(delim); +struct set_combinations_size { + set_combinations_size(size_t size) { + combinations_size = size; + } + ~set_combinations_size() { + combinations_size = combinations_size_default; + } +}; + +std::vector<std::string> words(const ss::split_input& input) { + std::vector<std::string> ret; + for (const auto& [begin, end] : input) { + ret.emplace_back(begin, end); + } + return ret; +} + +[[maybe_unused]] std::string concat(const std::vector<std::string>& v) { + std::string ret = "{"; + for (const auto& i : v) { + ret.append(i).append(" "); + } + ret.back() = ('}'); + return ret; +} + +std::vector<std::string> combinations(const std::vector<std::string>& v, + const std::string& delim, size_t n) { + if (n <= 1) { + return v; + } + std::vector<std::string> ret; + auto inner_combinations = combinations(v, delim, n - 1); + for (auto& i : v) { + for (auto& j : inner_combinations) { + ret.push_back(i + delim + j); } - input1.pop_back(); - input2.pop_back(); - input1.append("\0\""); - input2.append("\0\""); + } + return ret; +} - memcpy(buff, input1.c_str(), input1.size() + 1); - auto tup1 = s.split(buff, delim); - CHECK(tup1.size() == 6); +std::vector<std::vector<std::string>> vector_combinations( + const std::vector<std::string>& v, size_t n) { + std::vector<std::vector<std::string>> ret; + if (n <= 1) { + for (auto& i : v) { + ret.push_back({i}); + } + return ret; + } - memcpy(buff, input2.c_str(), input2.size() + 1); - auto tup2 = s.split(buff, delim); - CHECK(tup2.size() == 6); + auto inner_combinations = vector_combinations(v, n - 1); + for (auto& i : v) { + for (auto j : inner_combinations) { + j.insert(j.begin(), i); + ret.push_back(std::move(j)); + } + } + return ret; +} + +using case_type = std::vector<std::string>; +std::pair<std::vector<std::string>, std::vector<std::vector<std::string>>> +make_combinations(const std::vector<std::string>& input, + const std::vector<std::string>& output, + const std::string& delim) { + std::vector<std::string> lines; + std::vector<std::vector<std::string>> expectations; + for (size_t i = 0; i < combinations_size; ++i) { + auto l = combinations(input, delim, i); + lines.reserve(lines.size() + l.size()); + lines.insert(lines.end(), l.begin(), l.end()); + + auto e = vector_combinations(output, i); + expectations.reserve(expectations.size() + e.size()); + expectations.insert(expectations.end(), e.begin(), e.end()); + } + + return {std::move(lines), std::move(expectations)}; +} + +auto spaced(const case_type& input, std::string s) { + case_type ret = input; + for (auto& i : input) { + ret.push_back(s + i + s); + ret.push_back(i + s); + ret.push_back(s + i); + ret.push_back(s + s + i); + ret.push_back(s + s + i + s); + ret.push_back(s + s + i + s + s); + ret.push_back(s + i + s + s); + ret.push_back(i + s + s); + } + + return ret; +} + +auto spaced(const case_type& input, std::string s1, std::string s2) { + case_type ret = input; + for (auto& i : input) { + ret.push_back(s1 + i + s2); + ret.push_back(s2 + i + s1); + ret.push_back(s2 + s2 + s1 + s1 + i); + ret.push_back(i + s1 + s2 + s1 + s2); + ret.push_back(s1 + s1 + s1 + i + s2 + s2 + s2); + ret.push_back(s2 + s2 + s2 + i + s1 + s1 + s1); + } + + return ret; +} +} /* namespace */ + +/* ********************************** */ +/* ********************************** */ + +using matches_type = std::vector<std::pair<case_type, std::string>>; + +template <typename... Matchers> +void test_combinations(matches_type& matches, std::vector<std::string> delims) { + + ss::splitter<Matchers...> s; + std::vector<std::string> inputs; + std::vector<std::string> outputs; + for (const auto& [cases, e] : matches) { + for (const auto& c : cases) { + inputs.emplace_back(c); + outputs.emplace_back(e); + } + } + + for (const auto& delim : delims) { + auto [lines, expectations] = make_combinations(inputs, outputs, delim); + + REQUIRE(lines.size() == expectations.size()); + + for (size_t i = 0; i < lines.size(); ++i) { + auto vec = s.split(buff(lines[i].c_str()), delim); + CHECK(s.valid()); + CHECK(words(vec) == expectations[i]); + } + } +} + +TEST_CASE("testing splitter no setup") { + { + matches_type p{{{"x"}, "x"}, {{"\""}, "\""}, + {{""}, ""}, {{"\n"}, "\n"}, + {{"\"\""}, "\"\""}, {{"\" \\ \""}, "\" \\ \""}, + {{" "}, " "}}; + test_combinations(p, {",", ";", "\t", "::"}); + } +} + +TEST_CASE("testing splitter quote") { + case_type case1 = {R"("""")"}; + case_type case2 = {R"("x""x")", R"(x"x)"}; + case_type case3 = {R"("")", R"()"}; + case_type case4 = {R"("x")", R"(x)"}; + case_type case5 = {R"("""""")"}; + case_type case6 = {R"("\")", R"(\)"}; + case_type case7 = {R"("xxxxxxxxxx")", R"(xxxxxxxxxx)"}; + + std::vector<std::string> delims = {",", "::", " ", "\t", "\n"}; + + { + matches_type p{{case1, "\""}, {case2, "x\"x"}, {case3, ""}, + {case4, "x"}, {case5, "\"\""}, {case6, "\\"}, + {case7, "xxxxxxxxxx"}}; + test_combinations<ss::quote<'"'>>(p, delims); + } + + case_type case8 = {R"(",")"}; + case_type case9 = {R"("x,")"}; + case_type case10 = {R"(",x")"}; + case_type case11 = {R"("x,x")"}; + case_type case12 = {R"(",,")"}; + { + matches_type p{{case1, "\""}, {case3, ""}, {case8, ","}, + {case9, "x,"}, {case10, ",x"}, {case11, "x,x"}, + {case12, ",,"}}; + test_combinations<ss::quote<'"'>>(p, {","}); + } + + case_type case13 = {R"("::")"}; + case_type case14 = {R"("x::")"}; + case_type case15 = {R"("::x")"}; + case_type case16 = {R"("x::x")"}; + case_type case17 = {R"("::::")"}; + + { + matches_type p{{case1, "\""}, {case3, ""}, {case13, "::"}, + {case14, "x::"}, {case15, "::x"}, {case16, "x::x"}, + {case17, "::::"}}; + test_combinations<ss::quote<'"'>>(p, {"::"}); + } +} + +TEST_CASE("testing splitter trim") { + auto guard = set_combinations_size(3); + case_type case1 = spaced({R"(x)"}, " "); + case_type case2 = spaced({R"(yy)"}, " "); + case_type case3 = spaced({R"(y y)"}, " "); + case_type case4 = spaced({R"()"}, " "); + + std::vector<std::string> delims = {",", "::", "\t", "\n"}; + + { + matches_type p{{case1, "x"}, + {case2, "yy"}, + {case3, "y y"}, + {case4, ""}}; + test_combinations<ss::trim<' '>>(p, delims); + } + + case_type case5 = spaced({"z"}, "\t"); + case_type case6 = spaced({"ab"}, " ", "\t"); + case_type case7 = spaced({"a\tb"}, " ", "\t"); + case_type case8 = spaced({"a \t b"}, " ", "\t"); + + { + matches_type p{{case1, "x"}, {case2, "yy"}, {case3, "y y"}, + {case4, ""}, {case5, "z"}, {case6, "ab"}, + {case7, "a\tb"}, {case8, "a \t b"}}; + test_combinations<ss::trim<' ', '\t'>>(p, {",", "::", "\n"}); + } +} + +TEST_CASE("testing splitter escape") { + case_type case1 = {R"(x)", R"(\x)"}; + case_type case2 = {R"(xx)", R"(\xx)", R"(x\x)", R"(\x\x)"}; + case_type case3 = {R"(\\)"}; + + std::vector<std::string> delims = {",", "::", " ", "\t", "\n"}; + + { + matches_type p{{case1, "x"}, {case2, "xx"}, {case3, "\\"}}; + test_combinations<ss::escape<'\\'>>(p, delims); + } + + case_type case4 = {R"(\,)"}; + case_type case5 = {R"(x#,)"}; + case_type case6 = {R"(#,x)"}; + case_type case7 = {R"(x\,x)"}; + + { + matches_type p{{case1, "x"}, {case2, "xx"}, {case3, "\\"}, + {case4, ","}, {case5, "x,"}, {case6, ",x"}, + {case7, "x,x"}}; + test_combinations<ss::escape<'\\', '#'>>(p, {","}); + } + + case_type case8 = {R"(\:\:)"}; + case_type case9 = {R"(x\::x)"}; + + { + matches_type p{{case1, "x"}, + {case2, "xx"}, + {case3, "\\"}, + {case8, "::"}, + {case9, "x::x"}}; + test_combinations<ss::escape<'\\'>>(p, {"::"}); + } +} + +TEST_CASE("testing splitter quote and trim") { + auto guard = set_combinations_size(3); + case_type case1 = spaced({R"("""")"}, " "); + case_type case2 = spaced({R"("x""x")", R"(x"x)"}, " "); + case_type case3 = spaced({R"("")", R"()"}, " "); + case_type case4 = spaced({R"("x")", R"(x)"}, " "); + case_type case5 = spaced({R"("""""")"}, " "); + case_type case6 = spaced({R"("\")", R"(\)"}, " "); + case_type case7 = spaced({R"("xxxxxxxxxx")", R"(xxxxxxxxxx)"}, " "); + + std::vector<std::string> delims = {",", "::", "\t", "\n"}; + + { + matches_type p{{case1, "\""}, {case2, "x\"x"}, {case3, ""}, + {case4, "x"}, {case5, "\"\""}, {case6, "\\"}, + {case7, "xxxxxxxxxx"}}; + test_combinations<ss::quote<'"'>, ss::trim<' '>>(p, delims); + } + + return; + case_type case8 = {R"(",")"}; + case_type case9 = {R"("x,")"}; + case_type case10 = {R"(",x")"}; + case_type case11 = {R"("x,x")"}; + case_type case12 = {R"(",,")"}; + { + matches_type p{{case1, "\""}, {case3, ""}, {case8, ","}, + {case9, "x,"}, {case10, ",x"}, {case11, "x,x"}, + {case12, ",,"}}; + test_combinations<ss::quote<'"'>>(p, {","}); + } + + case_type case13 = {R"("::")"}; + case_type case14 = {R"("x::")"}; + case_type case15 = {R"("::x")"}; + case_type case16 = {R"("x::x")"}; + case_type case17 = {R"("::::")"}; + + { + matches_type p{{case1, "\""}, {case3, ""}, {case13, "::"}, + {case14, "x::"}, {case15, "::x"}, {case16, "x::x"}, + {case17, "::::"}}; + test_combinations<ss::quote<'"'>>(p, {"::"}); + } +} + +TEST_CASE("testing splitter quote and escape") { + case_type case1 = {R"("\"")", R"(\")", R"("""")"}; + case_type case2 = {R"("x\"x")", R"(x\"x)", R"(x"x)", R"("x""x")"}; + case_type case3 = {R"("")", R"()"}; + case_type case4 = {R"("x")", R"(x)"}; + case_type case5 = {R"("\"\"")", R"("""""")", R"("\"""")", R"("""\"")"}; + case_type case6 = {R"("\\")", R"(\\)"}; + case_type case7 = {R"("xxxxxxxxxx")", R"(xxxxxxxxxx)"}; + + std::vector<std::string> delims = {",", "::", " ", "\t", "\n"}; + + ss::splitter<ss::quote<'"'>, ss::escape<'\\'>> s; + + { + matches_type p{{case1, "\""}, {case2, "x\"x"}, {case3, ""}, + {case4, "x"}, {case5, "\"\""}, {case6, "\\"}, + {case7, "xxxxxxxxxx"}}; + test_combinations<ss::quote<'"'>, ss::escape<'\\'>>(p, delims); + } + + case_type case8 = {R"('xxxxxxxxxx')", R"(xxxxxxxxxx)"}; + case_type case9 = {R"('')", R"()"}; + case_type case10 = {R"('#\')", R"(#\)"}; + case_type case11 = {R"('#'')", R"(#')", R"('''')"}; + case_type case12 = {R"('##')", R"(##)"}; + { + matches_type p{{case8, "xxxxxxxxxx"}, + {case9, ""}, + {case10, "\\"}, + {case11, "'"}, + {case12, "#"}}; + test_combinations<ss::quote<'\''>, ss::escape<'#'>>(p, delims); + } + + case_type case13 = {R"("x,x")", R"(x\,x)", R"(x#,x)", + R"("x\,x")", R"("x#,x")", R"("x#,x")"}; + case_type case14 = {R"("#\\#")", R"(#\\#)", R"(\\##)", R"("\\##")"}; + + { + matches_type p{{case1, "\""}, + {case2, "x\"x"}, + {case3, ""}, + {case13, "x,x"}, + {case14, "\\#"}}; + test_combinations<ss::quote<'"'>, ss::escape<'\\', '#'>>(p, {","}); } } From ed6157fa9f2dc5249d4181835b2a62f077c30381 Mon Sep 17 00:00:00 2001 From: ado <adnan.abd0124@gmail.com> Date: Sun, 24 Jan 2021 01:45:54 +0100 Subject: [PATCH 10/20] add more splitter tests --- test/test_splitter.cpp | 220 ++++++++++++++++++++++++++++++----------- 1 file changed, 160 insertions(+), 60 deletions(-) diff --git a/test/test_splitter.cpp b/test/test_splitter.cpp index d910cfe..b08b315 100644 --- a/test/test_splitter.cpp +++ b/test/test_splitter.cpp @@ -28,11 +28,65 @@ std::vector<std::string> words(const ss::split_input& input) { } [[maybe_unused]] std::string concat(const std::vector<std::string>& v) { - std::string ret = "{"; + std::string ret = "["; for (const auto& i : v) { - ret.append(i).append(" "); + ret.append(i).append(","); } - ret.back() = ('}'); + ret.back() = (']'); + return ret; +} + +template <typename... Ts> +size_t strings_size(const std::string& s, const Ts&... ss) { + if constexpr (sizeof...(Ts) > 0) { + return s.size() + strings_size(ss...); + } + return s.size(); +} + +template <typename... Ts> +void concat_to(std::string& dst, const std::string& s, const Ts&... ss) { + dst.append(s); + if constexpr (sizeof...(Ts) > 0) { + concat_to(dst, ss...); + } +} + +template <typename... Ts> +std::string concat(const Ts&... ss) { + std::string ret; + ret.reserve(strings_size(ss...)); + concat_to(ret, ss...); + return ret; +} + +using case_type = std::vector<std::string>; +auto spaced(const case_type& input, const std::string& s) { + case_type ret = input; + for (const auto& i : input) { + ret.push_back(concat(s, i, s)); + ret.push_back(concat(i, s)); + ret.push_back(concat(s, i)); + ret.push_back(concat(s, s, i)); + ret.push_back(concat(s, s, i, s, s)); + ret.push_back(concat(i, s, s)); + } + + return ret; +} + +auto spaced(const case_type& input, const std::string& s1, + const std::string& s2) { + case_type ret = input; + for (const auto& i : input) { + ret.push_back(concat(s1, i, s2)); + ret.push_back(concat(s2, i, s1)); + ret.push_back(concat(s2, s2, s1, s1, i)); + ret.push_back(concat(i, s1, s2, s1, s2)); + ret.push_back(concat(s1, s1, s1, i, s2, s2, s2)); + ret.push_back(concat(s2, s2, s2, i, s1, s1, s1)); + } + return ret; } @@ -43,9 +97,9 @@ std::vector<std::string> combinations(const std::vector<std::string>& v, } std::vector<std::string> ret; auto inner_combinations = combinations(v, delim, n - 1); - for (auto& i : v) { - for (auto& j : inner_combinations) { - ret.push_back(i + delim + j); + for (const auto& i : v) { + for (const auto& j : inner_combinations) { + ret.push_back(concat(i, delim, j)); } } return ret; @@ -55,23 +109,22 @@ std::vector<std::vector<std::string>> vector_combinations( const std::vector<std::string>& v, size_t n) { std::vector<std::vector<std::string>> ret; if (n <= 1) { - for (auto& i : v) { + for (const auto& i : v) { ret.push_back({i}); } return ret; } auto inner_combinations = vector_combinations(v, n - 1); - for (auto& i : v) { + for (const auto& i : v) { for (auto j : inner_combinations) { j.insert(j.begin(), i); - ret.push_back(std::move(j)); + ret.push_back(move(j)); } } return ret; } -using case_type = std::vector<std::string>; std::pair<std::vector<std::string>, std::vector<std::vector<std::string>>> make_combinations(const std::vector<std::string>& input, const std::vector<std::string>& output, @@ -90,36 +143,6 @@ make_combinations(const std::vector<std::string>& input, return {std::move(lines), std::move(expectations)}; } - -auto spaced(const case_type& input, std::string s) { - case_type ret = input; - for (auto& i : input) { - ret.push_back(s + i + s); - ret.push_back(i + s); - ret.push_back(s + i); - ret.push_back(s + s + i); - ret.push_back(s + s + i + s); - ret.push_back(s + s + i + s + s); - ret.push_back(s + i + s + s); - ret.push_back(i + s + s); - } - - return ret; -} - -auto spaced(const case_type& input, std::string s1, std::string s2) { - case_type ret = input; - for (auto& i : input) { - ret.push_back(s1 + i + s2); - ret.push_back(s2 + i + s1); - ret.push_back(s2 + s2 + s1 + s1 + i); - ret.push_back(i + s1 + s2 + s1 + s2); - ret.push_back(s1 + s1 + s1 + i + s2 + s2 + s2); - ret.push_back(s2 + s2 + s2 + i + s1 + s1 + s1); - } - - return ret; -} } /* namespace */ /* ********************************** */ @@ -293,30 +316,17 @@ TEST_CASE("testing splitter quote and trim") { test_combinations<ss::quote<'"'>, ss::trim<' '>>(p, delims); } - return; - case_type case8 = {R"(",")"}; - case_type case9 = {R"("x,")"}; - case_type case10 = {R"(",x")"}; - case_type case11 = {R"("x,x")"}; - case_type case12 = {R"(",,")"}; + case_type case8 = spaced({R"(",")"}, " ", "\t"); + case_type case9 = spaced({R"("x,")"}, " ", "\t"); + case_type case10 = spaced({R"(",x")"}, " ", "\t"); + case_type case11 = spaced({R"("x,x")"}, " ", "\t"); + case_type case12 = spaced({R"(",,")"}, " ", "\t"); + { matches_type p{{case1, "\""}, {case3, ""}, {case8, ","}, {case9, "x,"}, {case10, ",x"}, {case11, "x,x"}, {case12, ",,"}}; - test_combinations<ss::quote<'"'>>(p, {","}); - } - - case_type case13 = {R"("::")"}; - case_type case14 = {R"("x::")"}; - case_type case15 = {R"("::x")"}; - case_type case16 = {R"("x::x")"}; - case_type case17 = {R"("::::")"}; - - { - matches_type p{{case1, "\""}, {case3, ""}, {case13, "::"}, - {case14, "x::"}, {case15, "::x"}, {case16, "x::x"}, - {case17, "::::"}}; - test_combinations<ss::quote<'"'>>(p, {"::"}); + test_combinations<ss::quote<'"'>, ss::trim<' ', '\t'>>(p, {","}); } } @@ -367,3 +377,93 @@ TEST_CASE("testing splitter quote and escape") { test_combinations<ss::quote<'"'>, ss::escape<'\\', '#'>>(p, {","}); } } + +TEST_CASE("testing splitter escape and trim") { + case_type case0 = spaced({R"(\ x\ )", R"(\ \x\ )"}, " "); + case_type case1 = spaced({R"(x)", R"(\x)"}, " "); + case_type case3 = spaced({R"(\\)"}, " "); + + std::vector<std::string> delims = {",", "::", "\t", "\n"}; + + { + matches_type p{{case0, " x "}, {case1, "x"}, {case3, "\\"}}; + test_combinations<ss::escape<'\\'>, ss::trim<' '>>(p, delims); + } + + case_type case4 = spaced({R"(\,)"}, " "); + case_type case6 = spaced({R"(#,x)"}, " "); + case_type case7 = spaced({R"(x\,x)"}, " "); + + { + matches_type p{{case1, "x"}, + {case3, "\\"}, + {case4, ","}, + {case6, ",x"}, + {case7, "x,x"}}; + test_combinations<ss::escape<'\\', '#'>, ss::trim<' '>>(p, {","}); + } + + case_type case8 = spaced({R"(\:\:)"}, " ", "\t"); + case_type case9 = spaced({R"(x\::x)"}, " ", "\t"); + + { + matches_type p{{case1, "x"}, + {case3, "\\"}, + {case8, "::"}, + {case9, "x::x"}}; + test_combinations<ss::escape<'\\'>, ss::trim<' ', '\t'>>(p, {"::"}); + } +} + +TEST_CASE("testing splitter quote and escape and trim") { + auto guard = set_combinations_size(3); + case_type case1 = spaced({R"("\"")", R"(\")", R"("""")"}, " "); + case_type case2 = + spaced({R"("x\"x")", R"(x\"x)", R"(x"x)", R"("x""x")"}, " "); + case_type case3 = spaced({R"("")", R"()"}, " "); + case_type case4 = spaced({R"("x")", R"(x)"}, " "); + case_type case5 = + spaced({R"("\"\"")", R"("""""")", R"("\"""")", R"("""\"")"}, " "); + case_type case6 = spaced({R"("\\")", R"(\\)"}, " "); + case_type case7 = spaced({R"("xxxxxxxxxx")", R"(xxxxxxxxxx)"}, " "); + + std::vector<std::string> delims = {"::", "\n"}; + + { + matches_type p{{case1, "\""}, {case2, "x\"x"}, {case3, ""}, + {case5, "\"\""}, {case6, "\\"}, {case7, "xxxxxxxxxx"}}; + test_combinations<ss::quote<'"'>, ss::escape<'\\'>, + ss::trim<' '>>(p, delims); + } + + case_type case8 = spaced({R"('xxxxxxxxxx')", R"(xxxxxxxxxx)"}, " ", "\t"); + case_type case9 = spaced({R"('')", R"()"}, " ", "\t"); + case_type case10 = spaced({R"('#\')", R"(#\)"}, " ", "\t"); + case_type case11 = spaced({R"('#'')", R"(#')", R"('''')"}, " ", "\t"); + case_type case12 = spaced({R"('##')", R"(##)"}, " ", "\t"); + { + matches_type p{{case8, "xxxxxxxxxx"}, + {case9, ""}, + {case10, "\\"}, + {case11, "'"}, + {case12, "#"}}; + test_combinations<ss::quote<'\''>, ss::escape<'#'>, + ss::trim<' ', '\t'>>(p, {","}); + } + + case_type case13 = spaced({R"("x,x")", R"(x\,x)", R"(x#,x)", R"("x\,x")", + R"("x#,x")", R"("x#,x")"}, + " ", "\t"); + case_type case14 = + spaced({R"("#\\#")", R"(#\\#)", R"(\\##)", R"("\\##")"}, " ", "\t"); + + { + matches_type p{{case1, "\""}, + {case2, "x\"x"}, + {case3, ""}, + {case13, "x,x"}, + {case14, "\\#"}}; + test_combinations<ss::quote<'"'>, ss::escape<'\\', '#'>, + ss::trim<' ', '\t'>>(p, {","}); + } +} From 9302a25256107250114fc59293ed4a8633dc098d Mon Sep 17 00:00:00 2001 From: ado <adnan.abd0124@gmail.com> Date: Sun, 24 Jan 2021 01:48:12 +0100 Subject: [PATCH 11/20] increase number of combinations for final splitter test --- test/test_splitter.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/test_splitter.cpp b/test/test_splitter.cpp index b08b315..cff9852 100644 --- a/test/test_splitter.cpp +++ b/test/test_splitter.cpp @@ -416,7 +416,7 @@ TEST_CASE("testing splitter escape and trim") { } TEST_CASE("testing splitter quote and escape and trim") { - auto guard = set_combinations_size(3); + auto guard = set_combinations_size(4); case_type case1 = spaced({R"("\"")", R"(\")", R"("""")"}, " "); case_type case2 = spaced({R"("x\"x")", R"(x\"x)", R"(x"x)", R"("x""x")"}, " "); From a5c921682417885b81c496be1b1fb85f9a9b0789 Mon Sep 17 00:00:00 2001 From: ado <adnan.abd0124@gmail.com> Date: Mon, 25 Jan 2021 00:16:55 +0100 Subject: [PATCH 12/20] refator splitter, add resplit functionality, write some unit tests --- include/ss/converter.hpp | 17 ++- include/ss/splitter.hpp | 280 ++++++++++++++++++++++++++++----------- test/test_splitter.cpp | 96 +++++++++++++- 3 files changed, 306 insertions(+), 87 deletions(-) diff --git a/include/ss/converter.hpp b/include/ss/converter.hpp index f01a6d3..950bfeb 100644 --- a/include/ss/converter.hpp +++ b/include/ss/converter.hpp @@ -103,9 +103,6 @@ struct tied_class { template <typename... Ts> constexpr bool tied_class_v = tied_class<Ts...>::value; -// the error can be set inside a string, or a bool -enum class error_mode { error_string, error_bool }; - //////////////// // converter //////////////// @@ -128,6 +125,12 @@ public: no_void_validator_tup_t<Ts...> convert( char* line, const std::string& delim = default_delimiter) { input_ = split(line, delim); + /* TODO + if (!splitter_.valid()) { + // set error + return {}; + } + */ return convert<Ts...>(input_); } @@ -178,9 +181,13 @@ public: : bool_error_ == false; } - const std::string& error_msg() const { return string_error_; } + const std::string& error_msg() const { + return string_error_; + } - void set_error_mode(error_mode mode) { error_mode_ = mode; } + void set_error_mode(error_mode mode) { + error_mode_ = mode; + } // 'splits' string by given delimiter, returns vector of pairs which // contain the beginnings and the ends of each column of the string diff --git a/include/ss/splitter.hpp b/include/ss/splitter.hpp index 9308dd9..9ad3b1b 100644 --- a/include/ss/splitter.hpp +++ b/include/ss/splitter.hpp @@ -5,6 +5,9 @@ #include <string> #include <vector> +// TODO remove +#include <iostream> + namespace ss { template <char... Cs> struct matcher { @@ -31,8 +34,8 @@ public: static bool match(char c) = delete; }; -template <char... Cs> -struct quote : matcher<Cs...> {}; +template <char C> +struct quote : matcher<C> {}; template <char... Cs> struct trim : matcher<Cs...> {}; @@ -79,24 +82,131 @@ struct setup { template <typename... Ts> struct setup<setup<Ts...>> : setup<Ts...> {}; -enum class state { begin, reading, quoting, finished }; -using range = std::pair<const char*, const char*>; - using string_range = std::pair<const char*, const char*>; using split_input = std::vector<string_range>; +// the error can be set inside a string, or a bool +enum class error_mode { error_string, error_bool }; + template <typename... Ts> class splitter { +private: + enum class state { begin, reading, quoting, finished }; + constexpr static auto default_delimiter = ","; + using quote = typename setup<Ts...>::quote; using trim = typename setup<Ts...>::trim; using escape = typename setup<Ts...>::escape; - bool match(const char* end_i, char delim) { - return *end_i == delim; + constexpr static auto is_const_line = !quote::enabled && !escape::enabled; + using line_ptr_type = + typename ternary<is_const_line, const char*, char*>::type; + +public: + bool valid() const { + return (error_mode_ == error_mode::error_string) ? string_error_.empty() + : bool_error_ == false; + } + + bool unterminated_quote() { + return unterminated_quote_; + } + + const std::string& error_msg() const { + return string_error_; + } + + void set_error_mode(error_mode mode) { + error_mode_ = mode; + } + + split_input& split(line_ptr_type new_line, + const std::string& delimiter = default_delimiter) { + output_.clear(); + return resplit(new_line, -1, delimiter); + } + + void adjust_ranges(const char* old_line) { + for (auto& [begin, end] : output_) { + begin = begin - old_line + line_; + end = end - old_line + line_; + } + } + + split_input& resplit(line_ptr_type new_line, ssize_t new_size, + const std::string& delimiter = default_delimiter) { + clear_error(); + line_ = new_line; + + // resplitting, continue from last slice + if (!output_.empty()) { + const auto& last = std::prev(output_.end()); + const auto [old_line, old_begin] = *last; + size_t begin = old_begin - old_line - 1; + output_.pop_back(); + adjust_ranges(old_line); + + // safety measure + if (new_size != -1 && static_cast<size_t>(new_size) < begin) { + set_error_invalid_resplit(); + return output_; + } + + line_ += begin; + } + + return split_impl_select_delim(delimiter); + } + +private: + //////////////// + // error + //////////////// + + void clear_error() { + string_error_.clear(); + bool_error_ = false; + unterminated_quote_ = false; + } + + void set_error_empty_delimiter() { + if (error_mode_ == error_mode::error_string) { + string_error_.clear(); + string_error_.append("empty delimiter"); + } else { + bool_error_ = true; + } + } + + void set_error_unterminated_quote() { + unterminated_quote_ = true; + if (error_mode_ == error_mode::error_string) { + string_error_.clear(); + string_error_.append("unterminated quote"); + } else { + bool_error_ = true; + } + } + + void set_error_invalid_resplit() { + if (error_mode_ == error_mode::error_string) { + string_error_.clear(); + string_error_.append("invalid_resplit"); + } else { + bool_error_ = true; + } + } + + //////////////// + // matching + //////////////// + + bool match(const char* const curr, char delim) { + return *curr == delim; }; - bool match(const char* end_i, const std::string& delim) { - return strncmp(end_i, delim.c_str(), delim.size()) == 0; + bool match(const char* const curr, const std::string& delim) { + return strncmp(curr, delim.c_str(), delim.size()) == 0; }; size_t delimiter_size(char) { @@ -107,7 +217,7 @@ class splitter { return delim.size(); } - void trim_if_enabled(char*& curr) { + void trim_if_enabled(line_ptr_type& curr) { if constexpr (trim::enabled) { while (trim::match(*curr)) { ++curr; @@ -115,89 +225,88 @@ class splitter { } } - void shift_if_escaped(char*& curr_i) { + void shift_if_escaped(line_ptr_type& curr) { if constexpr (escape::enabled) { - if (escape::match(*curr_i)) { - *curr = end[1]; - ++end; + if (escape::match(*curr)) { + *curr_ = end_[1]; + ++end_; } } } - void shift() { - if constexpr (escape::enabled || quote::enabled) { - *curr = *end; - } - ++end; - ++curr; - } - - void shift(size_t n) { - if constexpr (escape::enabled || quote::enabled) { - memcpy(curr, end, n); - } - end += n; - curr += n; - } - template <typename Delim> - std::tuple<size_t, bool> match_delimiter(char* begin, const Delim& delim) { - char* end_i = begin; + std::tuple<size_t, bool> match_delimiter(line_ptr_type begin, + const Delim& delim) { + line_ptr_type end = begin; - trim_if_enabled(end_i); + trim_if_enabled(end); // just spacing - if (*end_i == '\0') { + if (*end == '\0') { return {0, false}; } // not a delimiter - if (!match(end_i, delim)) { - shift_if_escaped(end_i); - return {1 + end_i - begin, false}; + if (!match(end, delim)) { + shift_if_escaped(end); + return {1 + end - begin, false}; } - end_i += delimiter_size(delim); - trim_if_enabled(end_i); + end += delimiter_size(delim); + trim_if_enabled(end); // delimiter - return {end_i - begin, true}; + return {end - begin, true}; + } + + //////////////// + // matching + //////////////// + + void shift() { + if constexpr (!is_const_line) { + *curr_ = *end_; + } + ++end_; + ++curr_; + } + + void shift(size_t n) { + if constexpr (!is_const_line) { + memcpy(curr_, end_, n); + } + end_ += n; + curr_ += n; } void push_and_start_next(size_t n) { - output_.emplace_back(begin, curr); - begin = end + n; + output_.emplace_back(begin_, curr_); + begin_ = end_ + n; state_ = state::begin; } -public: - bool valid() { - return error_.empty(); - } - - split_input& split(char* new_line, const std::string& d = ",") { - line = new_line; - output_.clear(); - switch (d.size()) { + split_input& split_impl_select_delim( + const std::string& delimiter = default_delimiter) { + switch (delimiter.size()) { case 0: - // set error + set_error_empty_delimiter(); return output_; case 1: - return split_impl(d[0]); + return split_impl(delimiter[0]); default: - return split_impl(d); + return split_impl(delimiter); } } template <typename Delim> - std::vector<range>& split_impl(const Delim& delim) { + split_input& split_impl(const Delim& delim) { state_ = state::begin; - begin = line; + begin_ = line_; - trim_if_enabled(begin); + trim_if_enabled(begin_); while (state_ != state::finished) { - curr = end = begin; + curr_ = end_ = begin_; switch (state_) { case (state::begin): state_begin(); @@ -216,10 +325,14 @@ public: return output_; } + //////////////// + // states + //////////////// + void state_begin() { if constexpr (quote::enabled) { - if (quote::match(*begin)) { - ++begin; + if (quote::match(*begin_)) { + ++begin_; state_ = state::quoting; return; } @@ -230,13 +343,13 @@ public: template <typename Delim> void state_reading(const Delim& delim) { while (true) { - auto [width, valid] = match_delimiter(end, delim); + auto [width, valid] = match_delimiter(end_, delim); // not a delimiter if (!valid) { if (width == 0) { // eol - output_.emplace_back(begin, curr); + output_.emplace_back(begin_, curr_); state_ = state::finished; break; } else { @@ -255,16 +368,16 @@ public: void state_quoting(const Delim& delim) { if constexpr (quote::enabled) { while (true) { - if (quote::match(*end)) { + if (quote::match(*end_)) { // double quote // eg: ...,"hel""lo,... -> hel"lo - if (quote::match(end[1])) { - ++end; + if (quote::match(end_[1])) { + ++end_; shift(); continue; } - auto [width, valid] = match_delimiter(end + 1, delim); + auto [width, valid] = match_delimiter(end_ + 1, delim); // not a delimiter if (!valid) { @@ -272,10 +385,11 @@ public: // eol // eg: ...,"hello" \0 -> hello // eg no trim: ...,"hello"\0 -> hello - output_.emplace_back(begin, curr); + output_.emplace_back(begin_, curr_); } else { // missmatched quote // eg: ...,"hel"lo,... -> error + // or not } state_ = state::finished; break; @@ -287,8 +401,8 @@ public: } if constexpr (escape::enabled) { - if (escape::match(*end)) { - ++end; + if (escape::match(*end_)) { + ++end_; shift(); continue; } @@ -296,27 +410,31 @@ public: // unterminated error // eg: ..."hell\0 -> quote not terminated - if (*end == '\0') { - *curr = '\0'; + if (*end_ == '\0') { + set_error_unterminated_quote(); + output_.emplace_back(line_, begin_); state_ = state::finished; break; } shift(); } - } else { - // set error impossible scenario - state_ = state::finished; } } -private: - std::vector<range> output_; - std::string error_ = ""; + //////////////// + // members + //////////////// + + std::vector<string_range> output_; + std::string string_error_; + bool bool_error_; + bool unterminated_quote_; + enum error_mode error_mode_ { error_mode::error_bool }; + line_ptr_type begin_; + line_ptr_type curr_; + line_ptr_type end_; + line_ptr_type line_; state state_; - char* curr; - char* end; - char* begin; - char* line; }; } /* ss */ diff --git a/test/test_splitter.cpp b/test/test_splitter.cpp index cff9852..3411714 100644 --- a/test/test_splitter.cpp +++ b/test/test_splitter.cpp @@ -416,7 +416,7 @@ TEST_CASE("testing splitter escape and trim") { } TEST_CASE("testing splitter quote and escape and trim") { - auto guard = set_combinations_size(4); + auto guard = set_combinations_size(3); case_type case1 = spaced({R"("\"")", R"(\")", R"("""")"}, " "); case_type case2 = spaced({R"("x\"x")", R"(x\"x)", R"(x"x)", R"("x""x")"}, " "); @@ -467,3 +467,97 @@ TEST_CASE("testing splitter quote and escape and trim") { ss::trim<' ', '\t'>>(p, {","}); } } + +TEST_CASE("testing splitter constnes if quoting and escaping are disabled") { + // to compile is enough + return; + const char* const line{}; + ss::splitter s1; + ss::splitter<ss::trim<' '>> s2; + s1.split(line); + s2.split(line); +} + +TEST_CASE("testing error mode") { + + { + // empty delimiter + ss::splitter s; + s.split(buff("just,some,strings"), ""); + CHECK(!s.valid()); + CHECK(!s.unterminated_quote()); + CHECK(s.error_msg().empty()); + + s.set_error_mode(ss::error_mode::error_string); + s.split(buff("just,some,strings"), ""); + CHECK(!s.valid()); + CHECK(!s.unterminated_quote()); + CHECK(!s.error_msg().empty()); + } + + { + // unterminated quote + ss::splitter<ss::quote<'"'>> s; + s.split(buff("\"just")); + CHECK(!s.valid()); + CHECK(s.unterminated_quote()); + CHECK(s.error_msg().empty()); + + s.set_error_mode(ss::error_mode::error_string); + s.split(buff("\"just")); + CHECK(!s.valid()); + CHECK(s.unterminated_quote()); + CHECK(!s.error_msg().empty()); + } +} + +template <typename Splitter> +auto expect_unterminated_quote(Splitter& s, const std::string& line) { + auto vec = s.split(buff(line.c_str())); + CHECK(!s.valid()); + CHECK(s.unterminated_quote()); + return vec; +} + +TEST_CASE("testing unterminated quote") { + { + ss::splitter<ss::quote<'"'>> s; + auto vec = expect_unterminated_quote(s, "\"just"); + CHECK(vec.size() == 1); + + char new_line[] = R"("just",strings)"; + vec = s.resplit(new_line, strlen(new_line)); + CHECK(s.valid()); + CHECK(!s.unterminated_quote()); + std::vector<std::string> expected{"just", "strings"}; + CHECK(words(vec) == expected); + } + + { + ss::splitter<ss::quote<'"'>> s; + auto vec = expect_unterminated_quote(s, "just,some,\"random"); + std::vector<std::string> expected{"just", "some", "just,some,\""}; + CHECK(words(vec) == expected); + + char new_line[] = R"(just,some,"random",strings)"; + vec = s.resplit(new_line, strlen(new_line)); + CHECK(s.valid()); + CHECK(!s.unterminated_quote()); + expected = {"just", "some", "random", "strings"}; + CHECK(words(vec) == expected); + } + + { + ss::splitter<ss::quote<'"'>> s; + auto vec = expect_unterminated_quote(s, R"("just","some","ran)"); + std::vector<std::string> expected{"just", "some", R"("just","some",")"}; + CHECK(words(vec) == expected); + + char new_line[] = R"("just","some","ran,dom","strings")"; + vec = s.resplit(new_line, strlen(new_line)); + CHECK(s.valid()); + CHECK(!s.unterminated_quote()); + expected = {"just", "some", "ran,dom", "strings"}; + CHECK(words(vec) == expected); + } +} From 1bf6b9d5952bb98f39457c35a538c4a3a74da5ea Mon Sep 17 00:00:00 2001 From: ado <adnan.abd0124@gmail.com> Date: Sat, 30 Jan 2021 21:52:32 +0100 Subject: [PATCH 13/20] write unit tests for resplit, fix some issues with resplit --- include/ss/splitter.hpp | 11 ++-- test/test_helpers.hpp | 5 ++ test/test_splitter.cpp | 125 +++++++++++++++++++++++++++++++++++++--- 3 files changed, 129 insertions(+), 12 deletions(-) diff --git a/include/ss/splitter.hpp b/include/ss/splitter.hpp index 9ad3b1b..917bdcb 100644 --- a/include/ss/splitter.hpp +++ b/include/ss/splitter.hpp @@ -135,11 +135,10 @@ public: split_input& resplit(line_ptr_type new_line, ssize_t new_size, const std::string& delimiter = default_delimiter) { - clear_error(); line_ = new_line; // resplitting, continue from last slice - if (!output_.empty()) { + if (!output_.empty() && unterminated_quote()) { const auto& last = std::prev(output_.end()); const auto [old_line, old_begin] = *last; size_t begin = old_begin - old_line - 1; @@ -152,7 +151,7 @@ public: return output_; } - line_ += begin; + begin_ = line_ + begin; } return split_impl_select_delim(delimiter); @@ -287,6 +286,7 @@ private: split_input& split_impl_select_delim( const std::string& delimiter = default_delimiter) { + clear_error(); switch (delimiter.size()) { case 0: set_error_empty_delimiter(); @@ -301,7 +301,10 @@ private: template <typename Delim> split_input& split_impl(const Delim& delim) { state_ = state::begin; - begin_ = line_; + + if (output_.empty()) { + begin_ = line_; + } trim_if_enabled(begin_); diff --git a/test/test_helpers.hpp b/test/test_helpers.hpp index 87abd8a..903cde8 100644 --- a/test/test_helpers.hpp +++ b/test/test_helpers.hpp @@ -17,6 +17,11 @@ public: strcpy(data_, data); return data_; } + + char* append(const char* data) { + strcat(data_, data); + return data_; + } }; [[maybe_unused]] inline buffer buff; diff --git a/test/test_splitter.cpp b/test/test_splitter.cpp index 3411714..c2376ef 100644 --- a/test/test_splitter.cpp +++ b/test/test_splitter.cpp @@ -525,7 +525,7 @@ TEST_CASE("testing unterminated quote") { auto vec = expect_unterminated_quote(s, "\"just"); CHECK(vec.size() == 1); - char new_line[] = R"("just",strings)"; + auto new_line = buff.append(R"(",strings)"); vec = s.resplit(new_line, strlen(new_line)); CHECK(s.valid()); CHECK(!s.unterminated_quote()); @@ -539,7 +539,7 @@ TEST_CASE("testing unterminated quote") { std::vector<std::string> expected{"just", "some", "just,some,\""}; CHECK(words(vec) == expected); - char new_line[] = R"(just,some,"random",strings)"; + auto new_line = buff.append(R"(",strings)"); vec = s.resplit(new_line, strlen(new_line)); CHECK(s.valid()); CHECK(!s.unterminated_quote()); @@ -547,17 +547,126 @@ TEST_CASE("testing unterminated quote") { CHECK(words(vec) == expected); } + { + ss::splitter<ss::quote<'"'>> s; + auto vec = expect_unterminated_quote(s, R"("just","some","ran"")"); + std::vector<std::string> expected{"just", "some", R"("just","some",")"}; + CHECK(words(vec) == expected); + + auto new_line = buff.append(R"(,dom","strings")"); + vec = s.resplit(new_line, strlen(new_line)); + CHECK(s.valid()); + CHECK(!s.unterminated_quote()); + expected = {"just", "some", "ran\",dom", "strings"}; + CHECK(words(vec) == expected); + } + { ss::splitter<ss::quote<'"'>> s; auto vec = expect_unterminated_quote(s, R"("just","some","ran)"); std::vector<std::string> expected{"just", "some", R"("just","some",")"}; CHECK(words(vec) == expected); - char new_line[] = R"("just","some","ran,dom","strings")"; - vec = s.resplit(new_line, strlen(new_line)); - CHECK(s.valid()); - CHECK(!s.unterminated_quote()); - expected = {"just", "some", "ran,dom", "strings"}; - CHECK(words(vec) == expected); + { + auto new_line = buff.append(R"(,dom)"); + vec = s.resplit(new_line, strlen(new_line)); + CHECK(!s.valid()); + CHECK(s.unterminated_quote()); + CHECK(words(vec) == expected); + } + + { + auto new_line = buff.append(R"(",strings)"); + vec = s.resplit(new_line, strlen(new_line)); + CHECK(s.valid()); + CHECK(!s.unterminated_quote()); + expected = {"just", "some", "ran,dom", "strings"}; + CHECK(words(vec) == expected); + } + } + + { + ss::splitter<ss::quote<'"'>, ss::escape<'\\'>> s; + auto vec = expect_unterminated_quote(s, R"("just\"some","ra)"); + std::vector<std::string> expected{"just\"some"}; + auto w = words(vec); + w.pop_back(); + CHECK(w == expected); + { + auto new_line = buff.append(R"(n,dom",str\"ings)"); + vec = s.resplit(new_line, strlen(new_line)); + CHECK(s.valid()); + CHECK(!s.unterminated_quote()); + expected = {"just\"some", "ran,dom", "str\"ings"}; + CHECK(words(vec) == expected); + } + } + + { + ss::splitter<ss::quote<'"'>, ss::escape<'\\'>> s; + auto vec = expect_unterminated_quote(s, R"("just\"some","ra"")"); + std::vector<std::string> expected{"just\"some"}; + auto w = words(vec); + w.pop_back(); + CHECK(w == expected); + { + auto new_line = buff.append(R"(n,dom",str\"ings)"); + vec = s.resplit(new_line, strlen(new_line)); + CHECK(s.valid()); + CHECK(!s.unterminated_quote()); + expected = {"just\"some", "ra\"n,dom", "str\"ings"}; + CHECK(words(vec) == expected); + } + } + + { + ss::splitter<ss::quote<'"'>, ss::escape<'\\'>> s; + auto vec = expect_unterminated_quote(s, R"("just\"some","ra\")"); + std::vector<std::string> expected{"just\"some"}; + auto w = words(vec); + w.pop_back(); + CHECK(w == expected); + { + auto new_line = buff.append(R"(n,dom",str\"ings)"); + vec = s.resplit(new_line, strlen(new_line)); + CHECK(s.valid()); + CHECK(!s.unterminated_quote()); + expected = {"just\"some", "ra\"n,dom", "str\"ings"}; + CHECK(words(vec) == expected); + } + } + + { + ss::splitter<ss::quote<'"'>, ss::trim<' '>> s; + auto vec = expect_unterminated_quote(s, R"( "just" ,some, "ra )"); + std::vector<std::string> expected{"just", "some"}; + auto w = words(vec); + w.pop_back(); + CHECK(w == expected); + { + auto new_line = buff.append(R"( n,dom" , strings )"); + vec = s.resplit(new_line, strlen(new_line)); + CHECK(s.valid()); + CHECK(!s.unterminated_quote()); + expected = {"just", "some", "ra n,dom", "strings"}; + CHECK(words(vec) == expected); + } + } + + { + ss::splitter<ss::quote<'"'>, ss::trim<' '>, ss::escape<'\\'>> s; + auto vec = expect_unterminated_quote(s, R"( "ju\"st" ,some, "ra \")"); + std::vector<std::string> expected{"ju\"st", "some"}; + auto w = words(vec); + w.pop_back(); + CHECK(w == expected); + { + auto new_line = buff.append(R"( n,dom" , strings )"); + vec = s.resplit(new_line, strlen(new_line)); + CHECK(s.valid()); + CHECK(!s.unterminated_quote()); + expected = {"ju\"st", "some", "ra \" n,dom", "strings"}; + CHECK(words(vec) == expected); + } } } From 035e27c5ab6d8c62062721c087c29eb5c1e33f6a Mon Sep 17 00:00:00 2001 From: ado <adnan.abd0124@gmail.com> Date: Sun, 31 Jan 2021 23:08:46 +0100 Subject: [PATCH 14/20] add converter tests with quote trim and escape, enable resplit on converter, make parser handle multi-line csv, add unit tests --- include/ss/converter.hpp | 18 ++++- include/ss/parser.hpp | 137 ++++++++++++++++++++++++++++++++------- include/ss/splitter.hpp | 12 ++-- test/test_converter.cpp | 50 +++++++++++++- test/test_parser.cpp | 69 ++++++++++++++++++++ 5 files changed, 249 insertions(+), 37 deletions(-) diff --git a/include/ss/converter.hpp b/include/ss/converter.hpp index 950bfeb..2e95ac9 100644 --- a/include/ss/converter.hpp +++ b/include/ss/converter.hpp @@ -110,12 +110,14 @@ constexpr bool tied_class_v = tied_class<Ts...>::value; template <typename... Matchers> class converter { constexpr static auto default_delimiter = ","; + using line_ptr_type = typename splitter<Matchers...>::line_ptr_type; public: // parses line with given delimiter, returns a 'T' object created with // extracted values of type 'Ts' template <typename T, typename... Ts> - T convert_object(char* line, const std::string& delim = default_delimiter) { + T convert_object(line_ptr_type line, + const std::string& delim = default_delimiter) { return to_object<T>(convert<Ts...>(line, delim)); } @@ -123,7 +125,7 @@ public: // extracted values of type 'Ts' template <typename... Ts> no_void_validator_tup_t<Ts...> convert( - char* line, const std::string& delim = default_delimiter) { + line_ptr_type line, const std::string& delim = default_delimiter) { input_ = split(line, delim); /* TODO if (!splitter_.valid()) { @@ -181,6 +183,10 @@ public: : bool_error_ == false; } + bool unterminated_quote() const { + return splitter_.unterminated_quote(); + } + const std::string& error_msg() const { return string_error_; } @@ -191,7 +197,7 @@ public: // 'splits' string by given delimiter, returns vector of pairs which // contain the beginnings and the ends of each column of the string - const split_input& split(char* line, + const split_input& split(line_ptr_type line, const std::string& delim = default_delimiter) { input_.clear(); if (line[0] == '\0') { @@ -202,6 +208,12 @@ public: return input_; } + const split_input& resplit(line_ptr_type new_line, ssize_t new_size, + const std::string& delim = default_delimiter) { + input_ = splitter_.resplit(new_line, new_size, delim); + return input_; + } + private: //////////////// // error diff --git a/include/ss/parser.hpp b/include/ss/parser.hpp index 4aafc22..4f7dcd6 100644 --- a/include/ss/parser.hpp +++ b/include/ss/parser.hpp @@ -9,6 +9,9 @@ #include <string> #include <vector> +// TODO remove +#include <iostream> + namespace ss { template <typename... Matchers> @@ -40,7 +43,7 @@ public: void set_error_mode(error_mode mode) { error_mode_ = mode; - buff_.set_error_mode(mode); + reader_.set_error_mode(mode); } const std::string& error_msg() const { @@ -52,7 +55,7 @@ public: } bool ignore_next() { - return buff_.read(file_); + return reader_.read(file_); } template <typename T, typename... Ts> @@ -62,16 +65,16 @@ public: template <typename T, typename... Ts> no_void_validator_tup_t<T, Ts...> get_next() { - buff_.update(); + reader_.update(); clear_error(); if (eof_) { set_error_eof_reached(); return {}; } - auto value = buff_.get_converter().template convert<T, Ts...>(); + auto value = reader_.get_converter().template convert<T, Ts...>(); - if (!buff_.get_converter().valid()) { + if (!reader_.get_converter().valid()) { set_error_invalid_conversion(); } @@ -160,8 +163,8 @@ public: no_void_validator_tup_t<U, Us...> try_same() { parser_.clear_error(); auto value = - parser_.buff_.get_converter().template convert<U, Us...>(); - if (!parser_.buff_.get_converter().valid()) { + parser_.reader_.get_converter().template convert<U, Us...>(); + if (!parser_.reader_.get_converter().valid()) { parser_.set_error_invalid_conversion(); } return value; @@ -244,40 +247,124 @@ private: // line reading //////////////// - class buffer { + class reader { char* buffer_{nullptr}; char* next_line_buffer_{nullptr}; + char* helper_buffer_{nullptr}; converter<Matchers...> converter_; converter<Matchers...> next_line_converter_; size_t size_{0}; + size_t helper_size_{0}; const std::string& delim_; - public: - buffer(const std::string& delimiter) : delim_{delimiter} { + bool crlf; + + bool escaped_eol(size_t size) { + // escaped new line + if constexpr (setup<Matchers...>::escape::enabled) { + const char* curr; + for (curr = next_line_buffer_ + size - 1; + curr >= next_line_buffer_ && + setup<Matchers...>::escape::match(*curr); + --curr) { + } + return (next_line_buffer_ - curr + size) % 2 == 0; + } + + return false; } - ~buffer() { - free(buffer_); - free(next_line_buffer_); + bool unterminated_quote() { + // unterimated quote + if constexpr (ss::setup<Matchers...>::quote::enabled) { + if (next_line_converter_.unterminated_quote()) { + return true; + } + } + return false; } - bool read(FILE* file) { - ssize_t size = getline(&next_line_buffer_, &size_, file); - size_t string_end = size - 1; + void undo_remove_eol(size_t& string_end) { + if (crlf) { + memcpy(next_line_buffer_ + string_end, "\r\n\0", 3); + string_end += 2; + } else { + memcpy(next_line_buffer_ + string_end, "\n\0", 2); + string_end += 1; + } + } - if (size == -1) { + size_t remove_eol(char*& buffer, size_t size) { + size_t new_size = size - 1; + if (size >= 2 && buffer[size - 2] == '\r') { + crlf = true; + new_size--; + } else { + crlf = false; + } + + buffer[new_size] = '\0'; + return new_size; + } + + void realloc_concat(char*& first, size_t& first_size, + const char* const second, size_t second_size) { + first = static_cast<char*>(realloc(static_cast<void*>(first), + first_size + second_size + 2)); + + memcpy(first + first_size, second, second_size + 1); + first_size += second_size; + } + + bool append_line(FILE* file, char*& dst_buffer, size_t& dst_size) { + undo_remove_eol(dst_size); + + ssize_t ssize = getline(&helper_buffer_, &helper_size_, file); + if (ssize == -1) { return false; } - if (size >= 2 && next_line_buffer_[size - 2] == '\r') { - string_end--; + size_t size = remove_eol(helper_buffer_, ssize); + realloc_concat(dst_buffer, dst_size, helper_buffer_, size); + return true; + } + + public: + reader(const std::string& delimiter) : delim_{delimiter} { + } + + ~reader() { + free(buffer_); + free(next_line_buffer_); + free(helper_buffer_); + } + + bool read(FILE* file) { + ssize_t ssize = getline(&next_line_buffer_, &size_, file); + + if (ssize == -1) { + return false; + } + + size_t size = remove_eol(next_line_buffer_, ssize); + + while (escaped_eol(size)) { + if (!append_line(file, next_line_buffer_, size)) { + return false; + } } - next_line_buffer_[string_end] = '\0'; next_line_converter_.split(next_line_buffer_, delim_); + while (unterminated_quote()) { + if (!append_line(file, next_line_buffer_, size)) { + return false; + } + next_line_converter_.resplit(next_line_buffer_, size); + } + return true; } @@ -290,7 +377,7 @@ private: return converter_; } - const char* get() const { + const char* get_buffer() const { return buffer_; } @@ -301,7 +388,7 @@ private: }; void read_line() { - eof_ = !buff_.read(file_); + eof_ = !reader_.read(file_); ++line_number_; } @@ -341,9 +428,9 @@ private: .append(" ") .append(std::to_string(line_number_)) .append(": ") - .append(buff_.get_converter().error_msg()) + .append(reader_.get_converter().error_msg()) .append(": \"") - .append(buff_.get()) + .append(reader_.get_buffer()) .append("\""); } else { bool_error_ = true; @@ -360,7 +447,7 @@ private: bool bool_error_{false}; error_mode error_mode_{error_mode::error_bool}; FILE* file_{nullptr}; - buffer buff_{delim_}; + reader reader_{delim_}; size_t line_number_{0}; bool eof_{false}; }; diff --git a/include/ss/splitter.hpp b/include/ss/splitter.hpp index 917bdcb..e73b825 100644 --- a/include/ss/splitter.hpp +++ b/include/ss/splitter.hpp @@ -5,9 +5,6 @@ #include <string> #include <vector> -// TODO remove -#include <iostream> - namespace ss { template <char... Cs> struct matcher { @@ -99,16 +96,17 @@ private: using escape = typename setup<Ts...>::escape; constexpr static auto is_const_line = !quote::enabled && !escape::enabled; + +public: using line_ptr_type = typename ternary<is_const_line, const char*, char*>::type; -public: bool valid() const { return (error_mode_ == error_mode::error_string) ? string_error_.empty() : bool_error_ == false; } - bool unterminated_quote() { + bool unterminated_quote() const { return unterminated_quote_; } @@ -120,7 +118,7 @@ public: error_mode_ = mode; } - split_input& split(line_ptr_type new_line, + const split_input& split(line_ptr_type new_line, const std::string& delimiter = default_delimiter) { output_.clear(); return resplit(new_line, -1, delimiter); @@ -133,7 +131,7 @@ public: } } - split_input& resplit(line_ptr_type new_line, ssize_t new_size, + const split_input& resplit(line_ptr_type new_line, ssize_t new_size, const std::string& delimiter = default_delimiter) { line_ = new_line; diff --git a/test/test_converter.cpp b/test/test_converter.cpp index 5bcab32..fa2fab7 100644 --- a/test/test_converter.cpp +++ b/test/test_converter.cpp @@ -46,8 +46,7 @@ TEST_CASE("testing valid conversions") { CHECK(tup == 5); } { - // TODO make \t -> ' ' - auto tup = c.convert<void, int, void>(buff("junk\t5\tjunk"), "\t"); + auto tup = c.convert<void, int, void>(buff("junk 5 junk"), " "); REQUIRE(c.valid()); CHECK(tup == 5); } @@ -398,3 +397,50 @@ TEST_CASE("testing error mode") { CHECK(!c.valid()); CHECK(!c.error_msg().empty()); } + +TEST_CASE("testing converter with quotes spacing and escaping") { + { + ss::converter c; + + auto tup = c.convert<std::string, std::string, std::string>( + R"("just","some","strings")"); + REQUIRE(c.valid()); + CHECK(tup == std::make_tuple("\"just\"", "\"some\"", "\"strings\"")); + } + + { + ss::converter<ss::quote<'"'>> c; + + auto tup = c.convert<std::string, std::string, double, char>( + buff(R"("just",some,"12.3","a")")); + REQUIRE(c.valid()); + CHECK(tup == std::make_tuple("just", "some", 12.3, 'a')); + } + + { + ss::converter<ss::trim<' '>> c; + + auto tup = c.convert<std::string, std::string, double, char>( + R"( just , some , 12.3 ,a )"); + REQUIRE(c.valid()); + CHECK(tup == std::make_tuple("just", "some", 12.3, 'a')); + } + + { + ss::converter<ss::escape<'\\'>> c; + + auto tup = + c.convert<std::string, std::string>(buff(R"(ju\,st,strings)")); + REQUIRE(c.valid()); + CHECK(tup == std::make_tuple("ju,st", "strings")); + } + + { + ss::converter<ss::escape<'\\'>, ss::trim<' '>, ss::quote<'"'>> c; + + auto tup = c.convert<std::string, std::string, double, std::string>( + buff(R"( ju\,st , "so,me" , 12.34 , "str""ings")")); + REQUIRE(c.valid()); + CHECK(tup == std::make_tuple("ju,st", "so,me", 12.34, "str\"ings")); + } +} diff --git a/test/test_parser.cpp b/test/test_parser.cpp index f9518d0..905f1a2 100644 --- a/test/test_parser.cpp +++ b/test/test_parser.cpp @@ -514,3 +514,72 @@ TEST_CASE("testing error mode") { CHECK(!p.valid()); CHECK(!p.error_msg().empty()); } + +std::string no_quote(const std::string& s) { + if (!s.empty() && s[0] == '"') { + return {std::next(begin(s)), std::prev(end(s))}; + } + return s; +} + +TEST_CASE("testing csv on multiple lines with quotes") { + unique_file_name f; + std::vector<X> data = {{1, 2, "\"x\nx\nx\""}, {3, 4, "\"y\ny\ny\""}, + {5, 6, "\"z\nz\""}, {7, 8, "\"u\"\"\""}, + {9, 10, "v"}, {11, 12, "\"w\n\""}}; + make_and_write(f.name, data); + for (auto& [_, __, s] : data) { + s = no_quote(s); + if (s[0] == 'u') { + s = "u\""; + } + } + + ss::parser<ss::quote<'"'>> p{f.name, ","}; + p.set_error_mode(ss::error_mode::error_string); + std::vector<X> i; + + while (!p.eof()) { + auto a = p.get_next<int, double, std::string>(); + auto [x, y, z] = a; + std::cout << "=====================" << std::endl; + std::cout << x << ' ' << y << ' ' << z << std::endl; + i.emplace_back(ss::to_object<X>(a)); + } + + CHECK(std::equal(i.begin(), i.end(), data.begin())); +} + +std::string no_escape(std::string& s) { + s.erase(std::remove(begin(s), end(s), '\\'), end(s)); + return s; +} + +TEST_CASE("testing csv on multiple lines with escapes") { + unique_file_name f; + std::vector<X> data = {{1, 2, "x\\\nx\\\nx"}, {3, 4, "y\\\ny\\\ny"}, + {5, 6, "z\\\nz"}, {7, 8, "u"}, + {9, 10, "v\\\\"}, {11, 12, "w\\\n"}}; + + make_and_write(f.name, data); + for (auto& [_, __, s] : data) { + s = no_escape(s); + if (s == "v") { + s = "v\\"; + } + } + + ss::parser<ss::escape<'\\'>> p{f.name, ","}; + p.set_error_mode(ss::error_mode::error_string); + std::vector<X> i; + + while (!p.eof()) { + auto a = p.get_next<int, double, std::string>(); + auto [x, y, z] = a; + std::cout << "=====================" << std::endl; + std::cout << x << ' ' << y << ' ' << z << std::endl; + i.emplace_back(ss::to_object<X>(a)); + } + + CHECK(std::equal(i.begin(), i.end(), data.begin())); +} From d887dff82a09ac56ebf978670bc1c40f790973e3 Mon Sep 17 00:00:00 2001 From: ado <adnan.abd0124@gmail.com> Date: Mon, 1 Feb 2021 00:56:42 +0100 Subject: [PATCH 15/20] get rid of maybe-uninitialized warnings --- include/ss/converter.hpp | 24 ++---- include/ss/parser.hpp | 5 -- include/ss/splitter.hpp | 4 +- test/test_converter.cpp | 164 +++++++++++++++++++-------------------- test/test_parser.cpp | 6 -- test/test_splitter.cpp | 2 - 6 files changed, 88 insertions(+), 117 deletions(-) diff --git a/include/ss/converter.hpp b/include/ss/converter.hpp index 2e95ac9..c3614a4 100644 --- a/include/ss/converter.hpp +++ b/include/ss/converter.hpp @@ -127,12 +127,11 @@ public: no_void_validator_tup_t<Ts...> convert( line_ptr_type line, const std::string& delim = default_delimiter) { input_ = split(line, delim); - /* TODO if (!splitter_.valid()) { - // set error - return {}; + set_error_line_not_split(); + no_void_validator_tup_t<Ts...> ret{}; + return ret; } - */ return convert<Ts...>(input_); } @@ -235,19 +234,10 @@ private: return error; } - void set_error_invalid_quotation() { + void set_error_line_not_split() { if (error_mode_ == error_mode::error_string) { string_error_.clear(); - string_error_.append("invalid quotation"); - } else { - bool_error_ = true; - } - } - - void set_error_unterminated_quote() { - if (error_mode_ == error_mode::error_string) { - string_error_.clear(); - string_error_.append("unterminated quote"); + string_error_.append("line not split correctly"); } else { bool_error_ = true; } @@ -293,9 +283,9 @@ private: template <typename... Ts> no_void_validator_tup_t<Ts...> convert_impl(const split_input& elems) { clear_error(); - no_void_validator_tup_t<Ts...> ret{}; if (sizeof...(Ts) != elems.size()) { set_error_number_of_colums(sizeof...(Ts), elems.size()); + no_void_validator_tup_t<Ts...> ret{}; return ret; } return extract_tuple<Ts...>(elems); @@ -368,7 +358,7 @@ private: no_void_validator_tup_t<Ts...> extract_tuple(const split_input& elems) { static_assert(!all_of<std::is_void, Ts...>::value, "at least one parameter must be non void"); - no_void_validator_tup_t<Ts...> ret; + no_void_validator_tup_t<Ts...> ret{}; extract_multiple<0, 0, Ts...>(ret, elems); return ret; } diff --git a/include/ss/parser.hpp b/include/ss/parser.hpp index 4f7dcd6..a94c71c 100644 --- a/include/ss/parser.hpp +++ b/include/ss/parser.hpp @@ -9,9 +9,6 @@ #include <string> #include <vector> -// TODO remove -#include <iostream> - namespace ss { template <typename... Matchers> @@ -262,7 +259,6 @@ private: bool crlf; bool escaped_eol(size_t size) { - // escaped new line if constexpr (setup<Matchers...>::escape::enabled) { const char* curr; for (curr = next_line_buffer_ + size - 1; @@ -277,7 +273,6 @@ private: } bool unterminated_quote() { - // unterimated quote if constexpr (ss::setup<Matchers...>::quote::enabled) { if (next_line_converter_.unterminated_quote()) { return true; diff --git a/include/ss/splitter.hpp b/include/ss/splitter.hpp index e73b825..ae77ff2 100644 --- a/include/ss/splitter.hpp +++ b/include/ss/splitter.hpp @@ -428,8 +428,8 @@ private: std::vector<string_range> output_; std::string string_error_; - bool bool_error_; - bool unterminated_quote_; + bool bool_error_{false}; + bool unterminated_quote_{false}; enum error_mode error_mode_ { error_mode::error_bool }; line_ptr_type begin_; line_ptr_type curr_; diff --git a/test/test_converter.cpp b/test/test_converter.cpp index fa2fab7..14c28ea 100644 --- a/test/test_converter.cpp +++ b/test/test_converter.cpp @@ -13,7 +13,7 @@ TEST_CASE("testing split") { {"x\t-\ty", {"x", "y"}, "\t-\t"}, {"x", {"x"}, ","}} // clang-format on ) { - auto split = c.split(buff(s), delim); + auto split = c.split(s, delim); CHECK(split.size() == expected.size()); for (size_t i = 0; i < split.size(); ++i) { auto s = std::string(split[i].first, split[i].second); @@ -26,84 +26,83 @@ TEST_CASE("testing valid conversions") { ss::converter c; { - auto tup = c.convert<int>(buff("5")); + auto tup = c.convert<int>("5"); REQUIRE(c.valid()); CHECK(tup == 5); } { - auto tup = c.convert<int, void>(buff("5,junk")); + auto tup = c.convert<int, void>("5,junk"); REQUIRE(c.valid()); CHECK(tup == 5); } { - auto tup = c.convert<void, int>(buff("junk,5")); + auto tup = c.convert<void, int>("junk,5"); REQUIRE(c.valid()); CHECK(tup == 5); } { - auto tup = c.convert<int, void, void>(buff("5\njunk\njunk"), "\n"); + auto tup = c.convert<int, void, void>("5\njunk\njunk", "\n"); REQUIRE(c.valid()); CHECK(tup == 5); } { - auto tup = c.convert<void, int, void>(buff("junk 5 junk"), " "); + auto tup = c.convert<void, int, void>("junk 5 junk", " "); REQUIRE(c.valid()); CHECK(tup == 5); } { - auto tup = c.convert<void, void, int>(buff("junk\tjunk\t5"), "\t"); + auto tup = c.convert<void, void, int>("junk\tjunk\t5", "\t"); REQUIRE(c.valid()); CHECK(tup == 5); } { auto tup = - c.convert<void, void, std::optional<int>>(buff("junk\tjunk\t5"), - "\t"); + c.convert<void, void, std::optional<int>>("junk\tjunk\t5", "\t"); REQUIRE(c.valid()); REQUIRE(tup.has_value()); CHECK(tup == 5); } { - auto tup = c.convert<int, double, void>(buff("5,6.6,junk")); + auto tup = c.convert<int, double, void>("5,6.6,junk"); REQUIRE(c.valid()); CHECK(tup == std::make_tuple(5, 6.6)); } { - auto tup = c.convert<int, void, double>(buff("5,junk,6.6")); + auto tup = c.convert<int, void, double>("5,junk,6.6"); REQUIRE(c.valid()); CHECK(tup == std::make_tuple(5, 6.6)); } { - auto tup = c.convert<void, int, double>(buff("junk;5;6.6"), ";"); + auto tup = c.convert<void, int, double>("junk;5;6.6", ";"); REQUIRE(c.valid()); CHECK(tup == std::make_tuple(5, 6.6)); } { auto tup = - c.convert<void, std::optional<int>, double>(buff("junk;5;6.6"), - ";"); + c.convert<void, std::optional<int>, double>("junk;5;6.6", ";"); REQUIRE(c.valid()); REQUIRE(std::get<0>(tup).has_value()); CHECK(tup == std::make_tuple(5, 6.6)); } { auto tup = - c.convert<void, std::optional<int>, double>(buff("junk;5.4;6.6"), - ";"); + c.convert<void, std::optional<int>, double>("junk;5.4;6.6", ";"); REQUIRE(c.valid()); REQUIRE(!std::get<0>(tup).has_value()); CHECK(tup == std::make_tuple(std::optional<int>{}, 6.6)); } { - auto tup = c.convert<void, std::variant<int, double>, - double>(buff("junk;5;6.6"), ";"); + auto tup = + c.convert<void, std::variant<int, double>, double>("junk;5;6.6", + ";"); REQUIRE(c.valid()); REQUIRE(std::holds_alternative<int>(std::get<0>(tup))); CHECK(tup == std::make_tuple(std::variant<int, double>{5}, 6.6)); } { - auto tup = c.convert<void, std::variant<int, double>, - double>(buff("junk;5.5;6.6"), ";"); + auto tup = + c.convert<void, std::variant<int, double>, double>("junk;5.5;6.6", + ";"); REQUIRE(c.valid()); REQUIRE(std::holds_alternative<double>(std::get<0>(tup))); CHECK(tup == std::make_tuple(std::variant<int, double>{5.5}, 6.6)); @@ -113,63 +112,60 @@ TEST_CASE("testing valid conversions") { TEST_CASE("testing invalid conversions") { ss::converter c; - c.convert<int>(buff("")); + c.convert<int>(""); REQUIRE(!c.valid()); - c.convert<int, void>(buff("")); + c.convert<int, void>(""); REQUIRE(!c.valid()); - c.convert<int, void>(buff(",junk")); + c.convert<int, void>(",junk"); REQUIRE(!c.valid()); - c.convert<void, int>(buff("junk,")); + c.convert<void, int>("junk,"); REQUIRE(!c.valid()); - c.convert<int>(buff("x")); + c.convert<int>("x"); REQUIRE(!c.valid()); - c.convert<int, void>(buff("x")); + c.convert<int, void>("x"); REQUIRE(!c.valid()); - c.convert<int, void>(buff("x,junk")); + c.convert<int, void>("x,junk"); REQUIRE(!c.valid()); - c.convert<void, int>(buff("junk,x")); + c.convert<void, int>("junk,x"); REQUIRE(!c.valid()); - c.convert<void, std::variant<int, double>, double>(buff("junk;.5.5;6"), - ";"); + c.convert<void, std::variant<int, double>, double>("junk;.5.5;6", ";"); REQUIRE(!c.valid()); } TEST_CASE("testing ss:ax restriction (all except)") { ss::converter c; - c.convert<ss::ax<int, 0>>(buff("0")); + c.convert<ss::ax<int, 0>>("0"); REQUIRE(!c.valid()); - c.convert<ss::ax<int, 0, 1, 2>>(buff("1")); + c.convert<ss::ax<int, 0, 1, 2>>("1"); REQUIRE(!c.valid()); - c.convert<void, char, ss::ax<int, 0, 1, 2>>(buff("junk,c,1")); + c.convert<void, char, ss::ax<int, 0, 1, 2>>("junk,c,1"); REQUIRE(!c.valid()); - c.convert<ss::ax<int, 1>, char>(buff("1,c")); + c.convert<ss::ax<int, 1>, char>("1,c"); REQUIRE(!c.valid()); { - int tup = c.convert<ss::ax<int, 1>>(buff("3")); + int tup = c.convert<ss::ax<int, 1>>("3"); REQUIRE(c.valid()); CHECK(tup == 3); } { - std::tuple<char, int> tup = - c.convert<char, ss::ax<int, 1>>(buff("c,3")); + std::tuple<char, int> tup = c.convert<char, ss::ax<int, 1>>("c,3"); REQUIRE(c.valid()); CHECK(tup == std::make_tuple('c', 3)); } { - std::tuple<int, char> tup = - c.convert<ss::ax<int, 1>, char>(buff("3,c")); + std::tuple<int, char> tup = c.convert<ss::ax<int, 1>, char>("3,c"); REQUIRE(c.valid()); CHECK(tup == std::make_tuple(3, 'c')); } @@ -178,33 +174,32 @@ TEST_CASE("testing ss:ax restriction (all except)") { TEST_CASE("testing ss:nx restriction (none except)") { ss::converter c; - c.convert<ss::nx<int, 1>>(buff("3")); + c.convert<ss::nx<int, 1>>("3"); REQUIRE(!c.valid()); - c.convert<char, ss::nx<int, 1, 2, 69>>(buff("c,3")); + c.convert<char, ss::nx<int, 1, 2, 69>>("c,3"); REQUIRE(!c.valid()); - c.convert<ss::nx<int, 1>, char>(buff("3,c")); + c.convert<ss::nx<int, 1>, char>("3,c"); REQUIRE(!c.valid()); { - auto tup = c.convert<ss::nx<int, 3>>(buff("3")); + auto tup = c.convert<ss::nx<int, 3>>("3"); REQUIRE(c.valid()); CHECK(tup == 3); } { - auto tup = c.convert<ss::nx<int, 0, 1, 2>>(buff("2")); + auto tup = c.convert<ss::nx<int, 0, 1, 2>>("2"); REQUIRE(c.valid()); CHECK(tup == 2); } { - auto tup = - c.convert<char, void, ss::nx<int, 0, 1, 2>>(buff("c,junk,1")); + auto tup = c.convert<char, void, ss::nx<int, 0, 1, 2>>("c,junk,1"); REQUIRE(c.valid()); CHECK(tup == std::make_tuple('c', 1)); } { - auto tup = c.convert<ss::nx<int, 1>, char>(buff("1,c")); + auto tup = c.convert<ss::nx<int, 1>, char>("1,c"); REQUIRE(c.valid()); CHECK(tup == std::make_tuple(1, 'c')); } @@ -213,32 +208,32 @@ TEST_CASE("testing ss:nx restriction (none except)") { TEST_CASE("testing ss:ir restriction (in range)") { ss::converter c; - c.convert<ss::ir<int, 0, 2>>(buff("3")); + c.convert<ss::ir<int, 0, 2>>("3"); REQUIRE(!c.valid()); - c.convert<char, ss::ir<int, 4, 69>>(buff("c,3")); + c.convert<char, ss::ir<int, 4, 69>>("c,3"); REQUIRE(!c.valid()); - c.convert<ss::ir<int, 1, 2>, char>(buff("3,c")); + c.convert<ss::ir<int, 1, 2>, char>("3,c"); REQUIRE(!c.valid()); { - auto tup = c.convert<ss::ir<int, 1, 5>>(buff("3")); + auto tup = c.convert<ss::ir<int, 1, 5>>("3"); REQUIRE(c.valid()); CHECK(tup == 3); } { - auto tup = c.convert<ss::ir<int, 0, 2>>(buff("2")); + auto tup = c.convert<ss::ir<int, 0, 2>>("2"); REQUIRE(c.valid()); CHECK(tup == 2); } { - auto tup = c.convert<char, void, ss::ir<int, 0, 1>>(buff("c,junk,1")); + auto tup = c.convert<char, void, ss::ir<int, 0, 1>>("c,junk,1"); REQUIRE(c.valid()); CHECK(tup == std::make_tuple('c', 1)); } { - auto tup = c.convert<ss::ir<int, 1, 20>, char>(buff("1,c")); + auto tup = c.convert<ss::ir<int, 1, 20>, char>("1,c"); REQUIRE(c.valid()); CHECK(tup == std::make_tuple(1, 'c')); } @@ -247,32 +242,32 @@ TEST_CASE("testing ss:ir restriction (in range)") { TEST_CASE("testing ss:oor restriction (out of range)") { ss::converter c; - c.convert<ss::oor<int, 1, 5>>(buff("3")); + c.convert<ss::oor<int, 1, 5>>("3"); REQUIRE(!c.valid()); - c.convert<ss::oor<int, 0, 2>>(buff("2")); + c.convert<ss::oor<int, 0, 2>>("2"); REQUIRE(!c.valid()); - c.convert<char, ss::oor<int, 0, 1>, void>(buff("c,1,junk")); + c.convert<char, ss::oor<int, 0, 1>, void>("c,1,junk"); REQUIRE(!c.valid()); - c.convert<ss::oor<int, 1, 20>, char>(buff("1,c")); + c.convert<ss::oor<int, 1, 20>, char>("1,c"); REQUIRE(!c.valid()); { - auto tup = c.convert<ss::oor<int, 0, 2>>(buff("3")); + auto tup = c.convert<ss::oor<int, 0, 2>>("3"); REQUIRE(c.valid()); CHECK(tup == 3); } { - auto tup = c.convert<char, void, ss::oor<int, 4, 69>>(buff("c,junk,3")); + auto tup = c.convert<char, void, ss::oor<int, 4, 69>>("c,junk,3"); REQUIRE(c.valid()); CHECK(tup == std::make_tuple('c', 3)); } { - auto tup = c.convert<ss::oor<int, 1, 2>, char>(buff("3,c")); + auto tup = c.convert<ss::oor<int, 1, 2>, char>("3,c"); REQUIRE(c.valid()); CHECK(tup == std::make_tuple(3, 'c')); } @@ -294,34 +289,33 @@ inline bool ss::extract(const char* begin, const char* end, TEST_CASE("testing ss:ne restriction (not empty)") { ss::converter c; - c.convert<ss::ne<std::string>>(buff("")); + c.convert<ss::ne<std::string>>(""); REQUIRE(!c.valid()); - c.convert<int, ss::ne<std::string>>(buff("3,")); + c.convert<int, ss::ne<std::string>>("3,"); REQUIRE(!c.valid()); - c.convert<ss::ne<std::string>, int>(buff(",3")); + c.convert<ss::ne<std::string>, int>(",3"); REQUIRE(!c.valid()); - c.convert<void, ss::ne<std::string>, int>(buff("junk,,3")); + c.convert<void, ss::ne<std::string>, int>("junk,,3"); REQUIRE(!c.valid()); - c.convert<ss::ne<std::vector<int>>>(buff("")); + c.convert<ss::ne<std::vector<int>>>(""); REQUIRE(!c.valid()); { - auto tup = c.convert<ss::ne<std::string>>(buff("s")); + auto tup = c.convert<ss::ne<std::string>>("s"); REQUIRE(c.valid()); CHECK(tup == "s"); } { - auto tup = - c.convert<std::optional<int>, ss::ne<std::string>>(buff("1,s")); + auto tup = c.convert<std::optional<int>, ss::ne<std::string>>("1,s"); REQUIRE(c.valid()); CHECK(tup == std::make_tuple(1, "s")); } { - auto tup = c.convert<ss::ne<std::vector<int>>>(buff("{1 2 3}")); + auto tup = c.convert<ss::ne<std::vector<int>>>("{1 2 3}"); REQUIRE(c.valid()); CHECK(tup == extracted_vector); } @@ -330,56 +324,56 @@ TEST_CASE("testing ss:ne restriction (not empty)") { TEST_CASE("testing ss:lt ss::lte ss::gt ss::gte restriction (in range)") { ss::converter c; - c.convert<ss::lt<int, 3>>(buff("3")); + c.convert<ss::lt<int, 3>>("3"); REQUIRE(!c.valid()); - c.convert<ss::lt<int, 2>>(buff("3")); + c.convert<ss::lt<int, 2>>("3"); REQUIRE(!c.valid()); - c.convert<ss::gt<int, 3>>(buff("3")); + c.convert<ss::gt<int, 3>>("3"); REQUIRE(!c.valid()); - c.convert<ss::gt<int, 4>>(buff("3")); + c.convert<ss::gt<int, 4>>("3"); REQUIRE(!c.valid()); - c.convert<ss::lte<int, 2>>(buff("3")); + c.convert<ss::lte<int, 2>>("3"); REQUIRE(!c.valid()); - c.convert<ss::gte<int, 4>>(buff("3")); + c.convert<ss::gte<int, 4>>("3"); REQUIRE(!c.valid()); { - auto tup = c.convert<ss::lt<int, 4>>(buff("3")); + auto tup = c.convert<ss::lt<int, 4>>("3"); REQUIRE(c.valid()); CHECK(tup == 3); } { - auto tup = c.convert<ss::gt<int, 2>>(buff("3")); + auto tup = c.convert<ss::gt<int, 2>>("3"); REQUIRE(c.valid()); CHECK(tup == 3); } { - auto tup = c.convert<ss::lte<int, 4>>(buff("3")); + auto tup = c.convert<ss::lte<int, 4>>("3"); REQUIRE(c.valid()); CHECK(tup == 3); } { - auto tup = c.convert<ss::lte<int, 3>>(buff("3")); + auto tup = c.convert<ss::lte<int, 3>>("3"); REQUIRE(c.valid()); CHECK(tup == 3); } { - auto tup = c.convert<ss::gte<int, 2>>(buff("3")); + auto tup = c.convert<ss::gte<int, 2>>("3"); REQUIRE(c.valid()); CHECK(tup == 3); } { - auto tup = c.convert<ss::gte<int, 3>>(buff("3")); + auto tup = c.convert<ss::gte<int, 3>>("3"); REQUIRE(c.valid()); CHECK(tup == 3); } @@ -388,12 +382,12 @@ TEST_CASE("testing ss:lt ss::lte ss::gt ss::gte restriction (in range)") { TEST_CASE("testing error mode") { ss::converter c; - c.convert<int>(buff("junk")); + c.convert<int>("junk"); CHECK(!c.valid()); CHECK(c.error_msg().empty()); c.set_error_mode(ss::error_mode::error_string); - c.convert<int>(buff("junk")); + c.convert<int>("junk"); CHECK(!c.valid()); CHECK(!c.error_msg().empty()); } @@ -421,7 +415,7 @@ TEST_CASE("testing converter with quotes spacing and escaping") { ss::converter<ss::trim<' '>> c; auto tup = c.convert<std::string, std::string, double, char>( - R"( just , some , 12.3 ,a )"); + buff(R"( just , some , 12.3 ,a )")); REQUIRE(c.valid()); CHECK(tup == std::make_tuple("just", "some", 12.3, 'a')); } diff --git a/test/test_parser.cpp b/test/test_parser.cpp index 905f1a2..896f0b9 100644 --- a/test/test_parser.cpp +++ b/test/test_parser.cpp @@ -541,9 +541,6 @@ TEST_CASE("testing csv on multiple lines with quotes") { while (!p.eof()) { auto a = p.get_next<int, double, std::string>(); - auto [x, y, z] = a; - std::cout << "=====================" << std::endl; - std::cout << x << ' ' << y << ' ' << z << std::endl; i.emplace_back(ss::to_object<X>(a)); } @@ -575,9 +572,6 @@ TEST_CASE("testing csv on multiple lines with escapes") { while (!p.eof()) { auto a = p.get_next<int, double, std::string>(); - auto [x, y, z] = a; - std::cout << "=====================" << std::endl; - std::cout << x << ' ' << y << ' ' << z << std::endl; i.emplace_back(ss::to_object<X>(a)); } diff --git a/test/test_splitter.cpp b/test/test_splitter.cpp index c2376ef..de1ff6f 100644 --- a/test/test_splitter.cpp +++ b/test/test_splitter.cpp @@ -4,8 +4,6 @@ #include <iostream> #include <ss/splitter.hpp> -// TODO make ss::quote accept only one argument - namespace { constexpr static auto combinations_size_default = 4; size_t combinations_size = combinations_size_default; From 6da0cb35447c6bd1e5831033b4c85e8df648123e Mon Sep 17 00:00:00 2001 From: ado <adnan.abd0124@gmail.com> Date: Tue, 2 Feb 2021 02:17:31 +0100 Subject: [PATCH 16/20] add mismatched quote error, update error handling for splitter, add unit tests, update test_helpers buffer --- include/ss/converter.hpp | 18 +++++++++++------- include/ss/parser.hpp | 2 ++ include/ss/splitter.hpp | 26 ++++++++++++++++++++------ test/test_converter.cpp | 24 ++++++++++++++++++++++++ test/test_helpers.hpp | 27 ++++++++++++++++++++++----- test/test_splitter.cpp | 25 +++++++++++++++++++++++++ 6 files changed, 104 insertions(+), 18 deletions(-) diff --git a/include/ss/converter.hpp b/include/ss/converter.hpp index c3614a4..fff5fbd 100644 --- a/include/ss/converter.hpp +++ b/include/ss/converter.hpp @@ -127,11 +127,6 @@ public: no_void_validator_tup_t<Ts...> convert( line_ptr_type line, const std::string& delim = default_delimiter) { input_ = split(line, delim); - if (!splitter_.valid()) { - set_error_line_not_split(); - no_void_validator_tup_t<Ts...> ret{}; - return ret; - } return convert<Ts...>(input_); } @@ -191,6 +186,7 @@ public: } void set_error_mode(error_mode mode) { + splitter_.set_error_mode(mode); error_mode_ = mode; } @@ -234,10 +230,10 @@ private: return error; } - void set_error_line_not_split() { + void set_error_unterminated_quote() { if (error_mode_ == error_mode::error_string) { string_error_.clear(); - string_error_.append("line not split correctly"); + string_error_.append(splitter_.error_msg()); } else { bool_error_ = true; } @@ -283,11 +279,19 @@ private: template <typename... Ts> no_void_validator_tup_t<Ts...> convert_impl(const split_input& elems) { clear_error(); + + if (!splitter_.valid()) { + set_error_unterminated_quote(); + no_void_validator_tup_t<Ts...> ret{}; + return ret; + } + if (sizeof...(Ts) != elems.size()) { set_error_number_of_colums(sizeof...(Ts), elems.size()); no_void_validator_tup_t<Ts...> ret{}; return ret; } + return extract_tuple<Ts...>(elems); } diff --git a/include/ss/parser.hpp b/include/ss/parser.hpp index a94c71c..4806b06 100644 --- a/include/ss/parser.hpp +++ b/include/ss/parser.hpp @@ -9,6 +9,8 @@ #include <string> #include <vector> +// TODO rule of 5-3-1 +// TODO threads namespace ss { template <typename... Matchers> diff --git a/include/ss/splitter.hpp b/include/ss/splitter.hpp index ae77ff2..8180590 100644 --- a/include/ss/splitter.hpp +++ b/include/ss/splitter.hpp @@ -119,7 +119,7 @@ public: } const split_input& split(line_ptr_type new_line, - const std::string& delimiter = default_delimiter) { + const std::string& delimiter = default_delimiter) { output_.clear(); return resplit(new_line, -1, delimiter); } @@ -131,8 +131,9 @@ public: } } - const split_input& resplit(line_ptr_type new_line, ssize_t new_size, - const std::string& delimiter = default_delimiter) { + const split_input& resplit( + line_ptr_type new_line, ssize_t new_size, + const std::string& delimiter = default_delimiter) { line_ = new_line; // resplitting, continue from last slice @@ -175,6 +176,16 @@ private: } } + void set_error_mismatched_quote(size_t n) { + if (error_mode_ == error_mode::error_string) { + string_error_.clear(); + string_error_.append("mismatched quote at position: " + + std::to_string(n)); + } else { + bool_error_ = true; + } + } + void set_error_unterminated_quote() { unterminated_quote_ = true; if (error_mode_ == error_mode::error_string) { @@ -186,9 +197,11 @@ private: } void set_error_invalid_resplit() { + unterminated_quote_ = false; if (error_mode_ == error_mode::error_string) { string_error_.clear(); - string_error_.append("invalid_resplit"); + string_error_.append("invalid resplit, new line must be longer" + "than the end of the last slice"); } else { bool_error_ = true; } @@ -388,9 +401,10 @@ private: // eg no trim: ...,"hello"\0 -> hello output_.emplace_back(begin_, curr_); } else { - // missmatched quote + // mismatched quote // eg: ...,"hel"lo,... -> error - // or not + set_error_mismatched_quote(end_ - line_); + output_.emplace_back(line_, begin_); } state_ = state::finished; break; diff --git a/test/test_converter.cpp b/test/test_converter.cpp index 14c28ea..e8eec52 100644 --- a/test/test_converter.cpp +++ b/test/test_converter.cpp @@ -115,6 +115,9 @@ TEST_CASE("testing invalid conversions") { c.convert<int>(""); REQUIRE(!c.valid()); + c.convert<int>("10", ""); + REQUIRE(!c.valid()); + c.convert<int, void>(""); REQUIRE(!c.valid()); @@ -438,3 +441,24 @@ TEST_CASE("testing converter with quotes spacing and escaping") { CHECK(tup == std::make_tuple("ju,st", "so,me", 12.34, "str\"ings")); } } + +TEST_CASE("testing invalid split conversions") { + ss::converter<ss::escape<'\\'>, ss::trim<' '>, ss::quote<'"'>> c; + c.set_error_mode(ss::error_mode::error_string); + + { + // mismatched quote + auto tup = c.convert<std::string, std::string, double, char>( + buff(R"( "just , some , "12.3","a" )")); + CHECK(!c.valid()); + CHECK(!c.unterminated_quote()); + } + + { + // unterminated quote + auto tup = c.convert<std::string, std::string, double, std::string>( + buff(R"( ju\,st , "so,me" , 12.34 , "str""ings)")); + CHECK(!c.valid()); + CHECK(c.unterminated_quote()); + } +} diff --git a/test/test_helpers.hpp b/test/test_helpers.hpp index 903cde8..f9317cc 100644 --- a/test/test_helpers.hpp +++ b/test/test_helpers.hpp @@ -1,4 +1,5 @@ #pragma once +#include <cstdlib> #include <cstring> #ifdef CMAKE_GITHUB_CI @@ -8,19 +9,35 @@ #endif class buffer { - constexpr static auto buff_size = 1024; - char data_[buff_size]; + char* data_{nullptr}; public: char* operator()(const char* data) { - memset(data_, '\0', buff_size); + if (data_) { + delete[] data_; + } + data_ = new char[strlen(data) + 1]; strcpy(data_, data); return data_; } char* append(const char* data) { - strcat(data_, data); - return data_; + if (data_) { + char* new_data_ = new char[strlen(data_) + strlen(data) + 1]; + strcpy(new_data_, data_); + strcat(new_data_, data); + delete[] data_; + data_ = new_data_; + return data_; + } else { + return operator()(data); + } + } + + ~buffer() { + if (data_) { + delete[] data_; + } } }; diff --git a/test/test_splitter.cpp b/test/test_splitter.cpp index de1ff6f..82b2b10 100644 --- a/test/test_splitter.cpp +++ b/test/test_splitter.cpp @@ -668,3 +668,28 @@ TEST_CASE("testing unterminated quote") { } } } + +TEST_CASE("testing invalid splits") { + ss::splitter<ss::quote<'"'>, ss::trim<' '>, ss::escape<'\\'>> s; + + // empty delimiter + s.split(buff("some,random,strings"), ""); + CHECK(!s.valid()); + CHECK(!s.unterminated_quote()); + + // mismatched delimiter + s.split(buff(R"(some,"random,"strings")")); + CHECK(!s.valid()); + CHECK(!s.unterminated_quote()); + + // unterminated quote + s.split(buff("some,random,\"strings")); + CHECK(!s.valid()); + CHECK(s.unterminated_quote()); + + // invalid resplit + char new_line[] = "some"; + auto a = s.resplit(new_line, strlen(new_line)); + CHECK(!s.valid()); + CHECK(!s.unterminated_quote()); +} From 7640c038f32789e74a17ad8e45e0ce60fa2bec42 Mon Sep 17 00:00:00 2001 From: ado <adnan.abd0124@gmail.com> Date: Tue, 2 Feb 2021 21:43:36 +0100 Subject: [PATCH 17/20] move setup to seperate header, add static asserts --- include/ss/setup.hpp | 111 ++++++++++++++++++++++++++++++++++++++++ include/ss/splitter.hpp | 73 +------------------------- 2 files changed, 112 insertions(+), 72 deletions(-) create mode 100644 include/ss/setup.hpp diff --git a/include/ss/setup.hpp b/include/ss/setup.hpp new file mode 100644 index 0000000..4474d96 --- /dev/null +++ b/include/ss/setup.hpp @@ -0,0 +1,111 @@ +#pragma once +#include "type_traits.hpp" +#include <array> + +namespace ss { + +template <char... Cs> +struct matcher { +private: + template <char X, char... Xs> + static bool match_impl(char c) { + if constexpr (sizeof...(Xs) != 0) { + return (c == X) || match_impl<Xs...>(c); + } + return (c == X); + } + + constexpr static bool contains_string_terminator() { + for (const auto& match : matches) { + if (match == '\0') { + return false; + } + } + return true; + } + +public: + static bool match(char c) { + return match_impl<Cs...>(c); + } + + constexpr static bool enabled = true; + constexpr static std::array<char, sizeof...(Cs)> matches{Cs...}; + static_assert(contains_string_terminator(), + "string terminator cannot be used as a match character"); +}; + +template <typename FirstMatcher, typename SecondMatcher> +constexpr bool matches_intersect() { + for (const auto& first_match : FirstMatcher::matches) { + for (const auto& second_match : SecondMatcher::matches) { + if (first_match != '\0' && first_match == second_match) { + return true; + } + } + } + return false; +} + +template <> +class matcher<'\0'> { +public: + constexpr static bool enabled = false; + constexpr static std::array<char, 1> matches{'\0'}; + static bool match(char c) = delete; +}; + +template <char C> +struct quote : matcher<C> {}; + +template <char... Cs> +struct trim : matcher<Cs...> {}; + +template <char... Cs> +struct escape : matcher<Cs...> {}; + +template <typename T, template <char...> class Template> +struct is_instance_of_matcher { + constexpr static bool value = false; +}; + +template <char... Ts, template <char...> class Template> +struct is_instance_of_matcher<Template<Ts...>, Template> { + constexpr static bool value = true; +}; + +template <template <char...> class Matcher, typename... Ts> +struct get_matcher; + +template <template <char...> class Matcher, typename T, typename... Ts> +struct get_matcher<Matcher, T, Ts...> { + using type = + typename ternary<is_instance_of_matcher<T, Matcher>::value, T, + typename get_matcher<Matcher, Ts...>::type>::type; +}; + +template <template <char...> class Matcher> +struct get_matcher<Matcher> { + using type = Matcher<'\0'>; +}; + +template <template <char...> class Matcher, typename... Ts> +using get_matcher_t = typename get_matcher<Matcher, Ts...>::type; + +template <typename... Ts> +struct setup { + using quote = get_matcher_t<quote, Ts...>; + using trim = get_matcher_t<trim, Ts...>; + using escape = get_matcher_t<escape, Ts...>; + +#define ASSERT_MSG "cannot have the same character in multiple matchers" + static_assert(!matches_intersect<quote, trim>(), ASSERT_MSG); + static_assert(!matches_intersect<trim, escape>(), ASSERT_MSG); + static_assert(!matches_intersect<escape, quote>(), ASSERT_MSG); +#undef ASSERT_MSG +}; + +template <typename... Ts> +struct setup<setup<Ts...>> : setup<Ts...> {}; + +} /* ss */ diff --git a/include/ss/splitter.hpp b/include/ss/splitter.hpp index 8180590..aa35109 100644 --- a/include/ss/splitter.hpp +++ b/include/ss/splitter.hpp @@ -1,4 +1,5 @@ #pragma once +#include "setup.hpp" #include "type_traits.hpp" #include <cstdlib> #include <cstring> @@ -6,78 +7,6 @@ #include <vector> namespace ss { -template <char... Cs> -struct matcher { -private: - template <char X, char... Xs> - static bool match_impl(char c) { - if constexpr (sizeof...(Xs) != 0) { - return (c == X) || match_impl<Xs...>(c); - } - return (c == X); - } - -public: - static bool match(char c) { - return match_impl<Cs...>(c); - } - constexpr static bool enabled = true; -}; - -template <> -class matcher<'\0'> { -public: - constexpr static bool enabled = false; - static bool match(char c) = delete; -}; - -template <char C> -struct quote : matcher<C> {}; - -template <char... Cs> -struct trim : matcher<Cs...> {}; - -template <char... Cs> -struct escape : matcher<Cs...> {}; - -template <typename T, template <char...> class Template> -struct is_instance_of_matcher { - constexpr static bool value = false; -}; - -template <char... Ts, template <char...> class Template> -struct is_instance_of_matcher<Template<Ts...>, Template> { - constexpr static bool value = true; -}; - -template <template <char...> class Matcher, typename... Ts> -struct get_matcher; - -template <template <char...> class Matcher, typename T, typename... Ts> -struct get_matcher<Matcher, T, Ts...> { - using type = - typename ternary<is_instance_of_matcher<T, Matcher>::value, T, - typename get_matcher<Matcher, Ts...>::type>::type; -}; - -template <template <char...> class Matcher> -struct get_matcher<Matcher> { - using type = Matcher<'\0'>; -}; - -template <template <char...> class Matcher, typename... Ts> -using get_matcher_t = typename get_matcher<Matcher, Ts...>::type; - -// TODO add static asserts -template <typename... Ts> -struct setup { - using quote = get_matcher_t<quote, Ts...>; - using trim = get_matcher_t<trim, Ts...>; - using escape = get_matcher_t<escape, Ts...>; -}; - -template <typename... Ts> -struct setup<setup<Ts...>> : setup<Ts...> {}; using string_range = std::pair<const char*, const char*>; using split_input = std::vector<string_range>; From f973f404be7eced4c526bf50ca6681b5d932aa49 Mon Sep 17 00:00:00 2001 From: ado <adnan.abd0124@gmail.com> Date: Fri, 5 Feb 2021 18:28:10 +0100 Subject: [PATCH 18/20] refactor code, increase performance --- include/ss/converter.hpp | 17 ++-- include/ss/setup.hpp | 2 +- include/ss/splitter.hpp | 165 +++++++++++++++++++-------------------- 3 files changed, 89 insertions(+), 95 deletions(-) diff --git a/include/ss/converter.hpp b/include/ss/converter.hpp index fff5fbd..e5b3de3 100644 --- a/include/ss/converter.hpp +++ b/include/ss/converter.hpp @@ -126,8 +126,8 @@ public: template <typename... Ts> no_void_validator_tup_t<Ts...> convert( line_ptr_type line, const std::string& delim = default_delimiter) { - input_ = split(line, delim); - return convert<Ts...>(input_); + split(line, delim); + return convert<Ts...>(splitter_.input_); } // parses already split line, returns 'T' object with extracted values @@ -169,7 +169,7 @@ public: // same as above, but uses cached split line template <typename T, typename... Ts> no_void_validator_tup_t<T, Ts...> convert() { - return convert<T, Ts...>(input_); + return convert<T, Ts...>(splitter_.input_); } bool valid() const { @@ -194,19 +194,17 @@ public: // contain the beginnings and the ends of each column of the string const split_input& split(line_ptr_type line, const std::string& delim = default_delimiter) { - input_.clear(); + splitter_.input_.clear(); if (line[0] == '\0') { - return input_; + return splitter_.input_; } - input_ = splitter_.split(line, delim); - return input_; + return splitter_.split(line, delim); } const split_input& resplit(line_ptr_type new_line, ssize_t new_size, const std::string& delim = default_delimiter) { - input_ = splitter_.resplit(new_line, new_size, delim); - return input_; + return splitter_.resplit(new_line, new_size, delim); } private: @@ -371,7 +369,6 @@ private: // members //////////////// - std::vector<string_range> input_; std::string string_error_; bool bool_error_; enum error_mode error_mode_ { error_mode::error_bool }; diff --git a/include/ss/setup.hpp b/include/ss/setup.hpp index 4474d96..9d1c02b 100644 --- a/include/ss/setup.hpp +++ b/include/ss/setup.hpp @@ -98,7 +98,7 @@ struct setup { using trim = get_matcher_t<trim, Ts...>; using escape = get_matcher_t<escape, Ts...>; -#define ASSERT_MSG "cannot have the same character in multiple matchers" +#define ASSERT_MSG "cannot have the same match character in multiple matchers" static_assert(!matches_intersect<quote, trim>(), ASSERT_MSG); static_assert(!matches_intersect<trim, escape>(), ASSERT_MSG); static_assert(!matches_intersect<escape, quote>(), ASSERT_MSG); diff --git a/include/ss/splitter.hpp b/include/ss/splitter.hpp index aa35109..ac24984 100644 --- a/include/ss/splitter.hpp +++ b/include/ss/splitter.hpp @@ -3,6 +3,7 @@ #include "type_traits.hpp" #include <cstdlib> #include <cstring> +#include <memory> #include <string> #include <vector> @@ -17,7 +18,6 @@ enum class error_mode { error_string, error_bool }; template <typename... Ts> class splitter { private: - enum class state { begin, reading, quoting, finished }; constexpr static auto default_delimiter = ","; using quote = typename setup<Ts...>::quote; @@ -49,12 +49,12 @@ public: const split_input& split(line_ptr_type new_line, const std::string& delimiter = default_delimiter) { - output_.clear(); + input_.clear(); return resplit(new_line, -1, delimiter); } void adjust_ranges(const char* old_line) { - for (auto& [begin, end] : output_) { + for (auto& [begin, end] : input_) { begin = begin - old_line + line_; end = end - old_line + line_; } @@ -66,17 +66,17 @@ public: line_ = new_line; // resplitting, continue from last slice - if (!output_.empty() && unterminated_quote()) { - const auto& last = std::prev(output_.end()); + if (!input_.empty() && unterminated_quote()) { + const auto& last = std::prev(input_.end()); const auto [old_line, old_begin] = *last; size_t begin = old_begin - old_line - 1; - output_.pop_back(); + input_.pop_back(); adjust_ranges(old_line); // safety measure if (new_size != -1 && static_cast<size_t>(new_size) < begin) { set_error_invalid_resplit(); - return output_; + return input_; } begin_ = line_ + begin; @@ -205,32 +205,31 @@ private: void shift() { if constexpr (!is_const_line) { *curr_ = *end_; + ++curr_; } ++end_; - ++curr_; } void shift(size_t n) { if constexpr (!is_const_line) { memcpy(curr_, end_, n); + curr_ += n; } end_ += n; - curr_ += n; } void push_and_start_next(size_t n) { - output_.emplace_back(begin_, curr_); + push_range(); begin_ = end_ + n; - state_ = state::begin; } - split_input& split_impl_select_delim( + const split_input& split_impl_select_delim( const std::string& delimiter = default_delimiter) { clear_error(); switch (delimiter.size()) { case 0: set_error_empty_delimiter(); - return output_; + return input_; case 1: return split_impl(delimiter[0]); default: @@ -239,48 +238,43 @@ private: } template <typename Delim> - split_input& split_impl(const Delim& delim) { - state_ = state::begin; + const split_input& split_impl(const Delim& delim) { - if (output_.empty()) { + if (input_.empty()) { begin_ = line_; } trim_if_enabled(begin_); - while (state_ != state::finished) { - curr_ = end_ = begin_; - switch (state_) { - case (state::begin): - state_begin(); - break; - case (state::reading): - state_reading(delim); - break; - case (state::quoting): - state_quoting(delim); - break; - default: - break; - }; - } + for (done_ = false; !done_; state_begin(delim)) + ; - return output_; + return input_; } //////////////// // states //////////////// - void state_begin() { + void push_range() { + if constexpr (is_const_line) { + input_.emplace_back(begin_, end_); + } else { + input_.emplace_back(begin_, curr_); + } + } + + template <typename Delim> + void state_begin(const Delim& delim) { if constexpr (quote::enabled) { if (quote::match(*begin_)) { - ++begin_; - state_ = state::quoting; + curr_ = end_ = ++begin_; + state_quoting(delim); return; } } - state_ = state::reading; + curr_ = end_ = begin_; + state_reading(delim); } template <typename Delim> @@ -288,22 +282,22 @@ private: while (true) { auto [width, valid] = match_delimiter(end_, delim); - // not a delimiter if (!valid) { + // not a delimiter if (width == 0) { // eol - output_.emplace_back(begin_, curr_); - state_ = state::finished; + push_range(); + done_ = true; break; } else { shift(width); continue; } + } else { + // found delimiter + push_and_start_next(width); + break; } - - // found delimiter - push_and_start_next(width); - break; } } @@ -311,56 +305,57 @@ private: void state_quoting(const Delim& delim) { if constexpr (quote::enabled) { while (true) { - if (quote::match(*end_)) { - // double quote - // eg: ...,"hel""lo,... -> hel"lo - if (quote::match(end_[1])) { - ++end_; - shift(); - continue; + if (!quote::match(*end_)) { + if constexpr (escape::enabled) { + if (escape::match(*end_)) { + ++end_; + shift(); + continue; + } } - auto [width, valid] = match_delimiter(end_ + 1, delim); - - // not a delimiter - if (!valid) { - if (width == 0) { - // eol - // eg: ...,"hello" \0 -> hello - // eg no trim: ...,"hello"\0 -> hello - output_.emplace_back(begin_, curr_); - } else { - // mismatched quote - // eg: ...,"hel"lo,... -> error - set_error_mismatched_quote(end_ - line_); - output_.emplace_back(line_, begin_); - } - state_ = state::finished; + // unterminated quote error + // eg: ..."hell\0 -> quote not terminated + if (*end_ == '\0') { + set_error_unterminated_quote(); + input_.emplace_back(line_, begin_); + done_ = true; break; } + shift(); + continue; + } - // delimiter + auto [width, valid] = match_delimiter(end_ + 1, delim); + + // delimiter + if (valid) { push_and_start_next(width + 1); break; } - if constexpr (escape::enabled) { - if (escape::match(*end_)) { - ++end_; - shift(); - continue; - } + // double quote + // eg: ...,"hel""lo",... -> hel"lo + if (quote::match(end_[1])) { + ++end_; + shift(); + continue; } - // unterminated error - // eg: ..."hell\0 -> quote not terminated - if (*end_ == '\0') { - set_error_unterminated_quote(); - output_.emplace_back(line_, begin_); - state_ = state::finished; - break; + // not a delimiter + if (width == 0) { + // eol + // eg: ...,"hello" \0 -> hello + // eg no trim: ...,"hello"\0 -> hello + push_range(); + } else { + // mismatched quote + // eg: ...,"hel"lo,... -> error + set_error_mismatched_quote(end_ - line_); + input_.emplace_back(line_, begin_); } - shift(); + done_ = true; + break; } } } @@ -369,7 +364,6 @@ private: // members //////////////// - std::vector<string_range> output_; std::string string_error_; bool bool_error_{false}; bool unterminated_quote_{false}; @@ -378,7 +372,10 @@ private: line_ptr_type curr_; line_ptr_type end_; line_ptr_type line_; - state state_; + bool done_; + +public: + split_input input_; }; } /* ss */ From 42629c39c4749215120ef68fa47a3d6902f02af3 Mon Sep 17 00:00:00 2001 From: ado <adnan.abd0124@gmail.com> Date: Sat, 6 Feb 2021 00:55:05 +0100 Subject: [PATCH 19/20] refactore a bit more, increase escape shifting performance --- include/ss/parser.hpp | 6 +-- include/ss/splitter.hpp | 82 +++++++++++++++++++++-------------------- 2 files changed, 45 insertions(+), 43 deletions(-) diff --git a/include/ss/parser.hpp b/include/ss/parser.hpp index 4806b06..d8b19b5 100644 --- a/include/ss/parser.hpp +++ b/include/ss/parser.hpp @@ -285,10 +285,10 @@ private: void undo_remove_eol(size_t& string_end) { if (crlf) { - memcpy(next_line_buffer_ + string_end, "\r\n\0", 3); + std::copy_n("\r\n\0", 3, next_line_buffer_ + string_end); string_end += 2; } else { - memcpy(next_line_buffer_ + string_end, "\n\0", 2); + std::copy_n("\n\0", 2, next_line_buffer_ + string_end); string_end += 1; } } @@ -311,7 +311,7 @@ private: first = static_cast<char*>(realloc(static_cast<void*>(first), first_size + second_size + 2)); - memcpy(first + first_size, second, second_size + 1); + std::copy_n(second, second_size + 1, first + first_size); first_size += second_size; } diff --git a/include/ss/splitter.hpp b/include/ss/splitter.hpp index ac24984..5c32367 100644 --- a/include/ss/splitter.hpp +++ b/include/ss/splitter.hpp @@ -1,6 +1,7 @@ #pragma once #include "setup.hpp" #include "type_traits.hpp" +#include <algorithm> #include <cstdlib> #include <cstring> #include <memory> @@ -167,8 +168,7 @@ private: void shift_if_escaped(line_ptr_type& curr) { if constexpr (escape::enabled) { if (escape::match(*curr)) { - *curr_ = end_[1]; - ++end_; + shift_and_jump_escape(); } } } @@ -199,30 +199,38 @@ private: } //////////////// - // matching + // shifting //////////////// - void shift() { - if constexpr (!is_const_line) { - *curr_ = *end_; - ++curr_; + void shift_and_set_current() { + if (escaped_ > 0) { + if constexpr (!is_const_line) { + std::copy_n(curr_ + escaped_, end_ - curr_, curr_); + } } + curr_ = end_ - escaped_; + } + + void shift_and_push() { + shift_and_set_current(); + input_.emplace_back(begin_, curr_); + } + + void shift_and_jump_escape() { + shift_and_set_current(); ++end_; + ++escaped_; } - void shift(size_t n) { - if constexpr (!is_const_line) { - memcpy(curr_, end_, n); - curr_ += n; - } - end_ += n; - } - - void push_and_start_next(size_t n) { - push_range(); + void shift_push_and_start_next(size_t n) { + shift_and_push(); begin_ = end_ + n; } + //////////////// + // split impl + //////////////// + const split_input& split_impl_select_delim( const std::string& delimiter = default_delimiter) { clear_error(); @@ -246,39 +254,32 @@ private: trim_if_enabled(begin_); - for (done_ = false; !done_; state_begin(delim)) + for (done_ = false; !done_; read(delim)) ; return input_; } //////////////// - // states + // reading //////////////// - void push_range() { - if constexpr (is_const_line) { - input_.emplace_back(begin_, end_); - } else { - input_.emplace_back(begin_, curr_); - } - } - template <typename Delim> - void state_begin(const Delim& delim) { + void read(const Delim& delim) { + escaped_ = 0; if constexpr (quote::enabled) { if (quote::match(*begin_)) { curr_ = end_ = ++begin_; - state_quoting(delim); + read_quoted(delim); return; } } curr_ = end_ = begin_; - state_reading(delim); + read_normal(delim); } template <typename Delim> - void state_reading(const Delim& delim) { + void read_normal(const Delim& delim) { while (true) { auto [width, valid] = match_delimiter(end_, delim); @@ -286,30 +287,30 @@ private: // not a delimiter if (width == 0) { // eol - push_range(); + shift_and_push(); done_ = true; break; } else { - shift(width); + end_ += width; continue; } } else { // found delimiter - push_and_start_next(width); + shift_push_and_start_next(width); break; } } } template <typename Delim> - void state_quoting(const Delim& delim) { + void read_quoted(const Delim& delim) { if constexpr (quote::enabled) { while (true) { if (!quote::match(*end_)) { if constexpr (escape::enabled) { if (escape::match(*end_)) { + shift_and_jump_escape(); ++end_; - shift(); continue; } } @@ -322,7 +323,7 @@ private: done_ = true; break; } - shift(); + ++end_; continue; } @@ -330,15 +331,15 @@ private: // delimiter if (valid) { - push_and_start_next(width + 1); + shift_push_and_start_next(width + 1); break; } // double quote // eg: ...,"hel""lo",... -> hel"lo if (quote::match(end_[1])) { + shift_and_jump_escape(); ++end_; - shift(); continue; } @@ -347,7 +348,7 @@ private: // eol // eg: ...,"hello" \0 -> hello // eg no trim: ...,"hello"\0 -> hello - push_range(); + shift_and_push(); } else { // mismatched quote // eg: ...,"hel"lo,... -> error @@ -373,6 +374,7 @@ private: line_ptr_type end_; line_ptr_type line_; bool done_; + size_t escaped_{0}; public: split_input input_; From 9b90803f6f5a811c9e14edd572d0b6a0746a3e46 Mon Sep 17 00:00:00 2001 From: ado <adnan.abd0124@gmail.com> Date: Sat, 6 Feb 2021 01:44:46 +0100 Subject: [PATCH 20/20] make split_input private, make resplit private, update tests and the converter --- README.md | 10 +++++++ include/ss/converter.hpp | 18 +++++++---- include/ss/splitter.hpp | 35 ++++++++++++---------- test/test_splitter.cpp | 64 +++++++++++++++++++++++++++------------- 4 files changed, 86 insertions(+), 41 deletions(-) diff --git a/README.md b/README.md index e8f9be6..1044574 100644 --- a/README.md +++ b/README.md @@ -48,6 +48,7 @@ Bill (Heath) Gates 65 3.3 * Works on any type * Easy to use * No exceptions + * Works with quotes, escapes and spacings * Columns and rows can be ignored * Works with any type of delimiter * Can return whole objects composed of converted values @@ -216,6 +217,15 @@ inline bool ss::extract(const char* begin, const char* end, shape& dst) { ``` The shape enum will be used in an example below. The **inline** is there just to prevent multiple definition errors. The function returns **true** if the conversion was a success, and **false** otherwise. The function uses **const char*** begin and end for performance reasons. +## Quoting +Not yet documented. + +## Escaping +Not yet documented. + +## Spacing +Not yet documented. + ## Error handling Detailed error messages can be accessed via the **error_msg** method, and to enable them the error mode has to be changed to **error_mode::error_string** using the **set_error_mode** method: diff --git a/include/ss/converter.hpp b/include/ss/converter.hpp index e5b3de3..e73c5db 100644 --- a/include/ss/converter.hpp +++ b/include/ss/converter.hpp @@ -127,7 +127,7 @@ public: no_void_validator_tup_t<Ts...> convert( line_ptr_type line, const std::string& delim = default_delimiter) { split(line, delim); - return convert<Ts...>(splitter_.input_); + return convert<Ts...>(splitter_.split_input_); } // parses already split line, returns 'T' object with extracted values @@ -169,7 +169,7 @@ public: // same as above, but uses cached split line template <typename T, typename... Ts> no_void_validator_tup_t<T, Ts...> convert() { - return convert<T, Ts...>(splitter_.input_); + return convert<T, Ts...>(splitter_.split_input_); } bool valid() const { @@ -194,20 +194,25 @@ public: // contain the beginnings and the ends of each column of the string const split_input& split(line_ptr_type line, const std::string& delim = default_delimiter) { - splitter_.input_.clear(); + splitter_.split_input_.clear(); if (line[0] == '\0') { - return splitter_.input_; + return splitter_.split_input_; } return splitter_.split(line, delim); } +private: + + //////////////// + // resplit + //////////////// + const split_input& resplit(line_ptr_type new_line, ssize_t new_size, const std::string& delim = default_delimiter) { return splitter_.resplit(new_line, new_size, delim); } -private: //////////////// // error //////////////// @@ -373,6 +378,9 @@ private: bool bool_error_; enum error_mode error_mode_ { error_mode::error_bool }; splitter<Matchers...> splitter_; + + template <typename ...> + friend class parser; }; } /* ss */ diff --git a/include/ss/splitter.hpp b/include/ss/splitter.hpp index 5c32367..dd0c0ec 100644 --- a/include/ss/splitter.hpp +++ b/include/ss/splitter.hpp @@ -50,34 +50,39 @@ public: const split_input& split(line_ptr_type new_line, const std::string& delimiter = default_delimiter) { - input_.clear(); + split_input_.clear(); return resplit(new_line, -1, delimiter); } void adjust_ranges(const char* old_line) { - for (auto& [begin, end] : input_) { + for (auto& [begin, end] : split_input_) { begin = begin - old_line + line_; end = end - old_line + line_; } } +private: + //////////////// + // resplit + //////////////// + const split_input& resplit( line_ptr_type new_line, ssize_t new_size, const std::string& delimiter = default_delimiter) { line_ = new_line; // resplitting, continue from last slice - if (!input_.empty() && unterminated_quote()) { - const auto& last = std::prev(input_.end()); + if (!split_input_.empty() && unterminated_quote()) { + const auto& last = std::prev(split_input_.end()); const auto [old_line, old_begin] = *last; size_t begin = old_begin - old_line - 1; - input_.pop_back(); + split_input_.pop_back(); adjust_ranges(old_line); // safety measure if (new_size != -1 && static_cast<size_t>(new_size) < begin) { set_error_invalid_resplit(); - return input_; + return split_input_; } begin_ = line_ + begin; @@ -86,7 +91,6 @@ public: return split_impl_select_delim(delimiter); } -private: //////////////// // error //////////////// @@ -213,7 +217,7 @@ private: void shift_and_push() { shift_and_set_current(); - input_.emplace_back(begin_, curr_); + split_input_.emplace_back(begin_, curr_); } void shift_and_jump_escape() { @@ -237,7 +241,7 @@ private: switch (delimiter.size()) { case 0: set_error_empty_delimiter(); - return input_; + return split_input_; case 1: return split_impl(delimiter[0]); default: @@ -248,7 +252,7 @@ private: template <typename Delim> const split_input& split_impl(const Delim& delim) { - if (input_.empty()) { + if (split_input_.empty()) { begin_ = line_; } @@ -257,7 +261,7 @@ private: for (done_ = false; !done_; read(delim)) ; - return input_; + return split_input_; } //////////////// @@ -319,7 +323,7 @@ private: // eg: ..."hell\0 -> quote not terminated if (*end_ == '\0') { set_error_unterminated_quote(); - input_.emplace_back(line_, begin_); + split_input_.emplace_back(line_, begin_); done_ = true; break; } @@ -353,7 +357,7 @@ private: // mismatched quote // eg: ...,"hel"lo,... -> error set_error_mismatched_quote(end_ - line_); - input_.emplace_back(line_, begin_); + split_input_.emplace_back(line_, begin_); } done_ = true; break; @@ -375,9 +379,10 @@ private: line_ptr_type line_; bool done_; size_t escaped_{0}; + split_input split_input_; -public: - split_input input_; + template <typename ...> + friend class converter; }; } /* ss */ diff --git a/test/test_splitter.cpp b/test/test_splitter.cpp index 82b2b10..50ea6af 100644 --- a/test/test_splitter.cpp +++ b/test/test_splitter.cpp @@ -517,14 +517,27 @@ auto expect_unterminated_quote(Splitter& s, const std::string& line) { return vec; } +namespace ss { +// Used to test resplit since it is only accessible via friend class converter +template <typename... Matchers> +class converter { +public: + ss::splitter<Matchers...> splitter; + auto resplit(char* new_line, size_t new_line_size) { + return splitter.resplit(new_line, new_line_size); + } +}; +} /* ss */ + TEST_CASE("testing unterminated quote") { { - ss::splitter<ss::quote<'"'>> s; + ss::converter<ss::quote<'"'>> c; + auto& s = c.splitter; auto vec = expect_unterminated_quote(s, "\"just"); CHECK(vec.size() == 1); auto new_line = buff.append(R"(",strings)"); - vec = s.resplit(new_line, strlen(new_line)); + vec = c.resplit(new_line, strlen(new_line)); CHECK(s.valid()); CHECK(!s.unterminated_quote()); std::vector<std::string> expected{"just", "strings"}; @@ -532,13 +545,14 @@ TEST_CASE("testing unterminated quote") { } { - ss::splitter<ss::quote<'"'>> s; + ss::converter<ss::quote<'"'>> c; + auto& s = c.splitter; auto vec = expect_unterminated_quote(s, "just,some,\"random"); std::vector<std::string> expected{"just", "some", "just,some,\""}; CHECK(words(vec) == expected); auto new_line = buff.append(R"(",strings)"); - vec = s.resplit(new_line, strlen(new_line)); + vec = c.resplit(new_line, strlen(new_line)); CHECK(s.valid()); CHECK(!s.unterminated_quote()); expected = {"just", "some", "random", "strings"}; @@ -546,13 +560,14 @@ TEST_CASE("testing unterminated quote") { } { - ss::splitter<ss::quote<'"'>> s; + ss::converter<ss::quote<'"'>> c; + auto& s = c.splitter; auto vec = expect_unterminated_quote(s, R"("just","some","ran"")"); std::vector<std::string> expected{"just", "some", R"("just","some",")"}; CHECK(words(vec) == expected); auto new_line = buff.append(R"(,dom","strings")"); - vec = s.resplit(new_line, strlen(new_line)); + vec = c.resplit(new_line, strlen(new_line)); CHECK(s.valid()); CHECK(!s.unterminated_quote()); expected = {"just", "some", "ran\",dom", "strings"}; @@ -560,14 +575,15 @@ TEST_CASE("testing unterminated quote") { } { - ss::splitter<ss::quote<'"'>> s; + ss::converter<ss::quote<'"'>> c; + auto& s = c.splitter; auto vec = expect_unterminated_quote(s, R"("just","some","ran)"); std::vector<std::string> expected{"just", "some", R"("just","some",")"}; CHECK(words(vec) == expected); { auto new_line = buff.append(R"(,dom)"); - vec = s.resplit(new_line, strlen(new_line)); + vec = c.resplit(new_line, strlen(new_line)); CHECK(!s.valid()); CHECK(s.unterminated_quote()); CHECK(words(vec) == expected); @@ -575,7 +591,7 @@ TEST_CASE("testing unterminated quote") { { auto new_line = buff.append(R"(",strings)"); - vec = s.resplit(new_line, strlen(new_line)); + vec = c.resplit(new_line, strlen(new_line)); CHECK(s.valid()); CHECK(!s.unterminated_quote()); expected = {"just", "some", "ran,dom", "strings"}; @@ -584,7 +600,8 @@ TEST_CASE("testing unterminated quote") { } { - ss::splitter<ss::quote<'"'>, ss::escape<'\\'>> s; + ss::converter<ss::quote<'"'>, ss::escape<'\\'>> c; + auto& s = c.splitter; auto vec = expect_unterminated_quote(s, R"("just\"some","ra)"); std::vector<std::string> expected{"just\"some"}; auto w = words(vec); @@ -592,7 +609,7 @@ TEST_CASE("testing unterminated quote") { CHECK(w == expected); { auto new_line = buff.append(R"(n,dom",str\"ings)"); - vec = s.resplit(new_line, strlen(new_line)); + vec = c.resplit(new_line, strlen(new_line)); CHECK(s.valid()); CHECK(!s.unterminated_quote()); expected = {"just\"some", "ran,dom", "str\"ings"}; @@ -601,7 +618,8 @@ TEST_CASE("testing unterminated quote") { } { - ss::splitter<ss::quote<'"'>, ss::escape<'\\'>> s; + ss::converter<ss::quote<'"'>, ss::escape<'\\'>> c; + auto& s = c.splitter; auto vec = expect_unterminated_quote(s, R"("just\"some","ra"")"); std::vector<std::string> expected{"just\"some"}; auto w = words(vec); @@ -609,7 +627,7 @@ TEST_CASE("testing unterminated quote") { CHECK(w == expected); { auto new_line = buff.append(R"(n,dom",str\"ings)"); - vec = s.resplit(new_line, strlen(new_line)); + vec = c.resplit(new_line, strlen(new_line)); CHECK(s.valid()); CHECK(!s.unterminated_quote()); expected = {"just\"some", "ra\"n,dom", "str\"ings"}; @@ -618,7 +636,8 @@ TEST_CASE("testing unterminated quote") { } { - ss::splitter<ss::quote<'"'>, ss::escape<'\\'>> s; + ss::converter<ss::quote<'"'>, ss::escape<'\\'>> c; + auto& s = c.splitter; auto vec = expect_unterminated_quote(s, R"("just\"some","ra\")"); std::vector<std::string> expected{"just\"some"}; auto w = words(vec); @@ -626,7 +645,7 @@ TEST_CASE("testing unterminated quote") { CHECK(w == expected); { auto new_line = buff.append(R"(n,dom",str\"ings)"); - vec = s.resplit(new_line, strlen(new_line)); + vec = c.resplit(new_line, strlen(new_line)); CHECK(s.valid()); CHECK(!s.unterminated_quote()); expected = {"just\"some", "ra\"n,dom", "str\"ings"}; @@ -635,7 +654,8 @@ TEST_CASE("testing unterminated quote") { } { - ss::splitter<ss::quote<'"'>, ss::trim<' '>> s; + ss::converter<ss::quote<'"'>, ss::trim<' '>> c; + auto& s = c.splitter; auto vec = expect_unterminated_quote(s, R"( "just" ,some, "ra )"); std::vector<std::string> expected{"just", "some"}; auto w = words(vec); @@ -643,7 +663,7 @@ TEST_CASE("testing unterminated quote") { CHECK(w == expected); { auto new_line = buff.append(R"( n,dom" , strings )"); - vec = s.resplit(new_line, strlen(new_line)); + vec = c.resplit(new_line, strlen(new_line)); CHECK(s.valid()); CHECK(!s.unterminated_quote()); expected = {"just", "some", "ra n,dom", "strings"}; @@ -652,7 +672,8 @@ TEST_CASE("testing unterminated quote") { } { - ss::splitter<ss::quote<'"'>, ss::trim<' '>, ss::escape<'\\'>> s; + ss::converter<ss::quote<'"'>, ss::trim<' '>, ss::escape<'\\'>> c; + auto& s = c.splitter; auto vec = expect_unterminated_quote(s, R"( "ju\"st" ,some, "ra \")"); std::vector<std::string> expected{"ju\"st", "some"}; auto w = words(vec); @@ -660,7 +681,7 @@ TEST_CASE("testing unterminated quote") { CHECK(w == expected); { auto new_line = buff.append(R"( n,dom" , strings )"); - vec = s.resplit(new_line, strlen(new_line)); + vec = c.resplit(new_line, strlen(new_line)); CHECK(s.valid()); CHECK(!s.unterminated_quote()); expected = {"ju\"st", "some", "ra \" n,dom", "strings"}; @@ -670,7 +691,8 @@ TEST_CASE("testing unterminated quote") { } TEST_CASE("testing invalid splits") { - ss::splitter<ss::quote<'"'>, ss::trim<' '>, ss::escape<'\\'>> s; + ss::converter<ss::quote<'"'>, ss::trim<' '>, ss::escape<'\\'>> c; + auto& s = c.splitter; // empty delimiter s.split(buff("some,random,strings"), ""); @@ -689,7 +711,7 @@ TEST_CASE("testing invalid splits") { // invalid resplit char new_line[] = "some"; - auto a = s.resplit(new_line, strlen(new_line)); + auto a = c.resplit(new_line, strlen(new_line)); CHECK(!s.valid()); CHECK(!s.unterminated_quote()); }