fix
This commit is contained in:
@@ -130,6 +130,8 @@ public:
|
||||
OPOLICY_FULL // serialize entire set of key-value pairs
|
||||
};
|
||||
|
||||
static constexpr std::string_view DEFAULT_RECORD_DELIMITER{"\n"};
|
||||
|
||||
static constexpr std::string_view COMMENT_SEQ{COMM_SEQ == nullptr ? constants::MCC_KV_COMMENT_SEQ_ARR
|
||||
: COMM_SEQ[0] == '\0' ? constants::MCC_KV_COMMENT_SEQ_ARR
|
||||
: COMM_SEQ};
|
||||
@@ -226,7 +228,8 @@ public:
|
||||
traits::mcc_input_char_range RecDelimT = std::string_view,
|
||||
mcc_serialization_params_c SerParamsT = mcc_serialization_params_t>
|
||||
std::error_code fromCharRange(const R& buffer,
|
||||
RecDelimT rec_delim = std::string_view("\n") // records delimiter
|
||||
size_t skip_records = 0, // number of skipped records (from the beginning)
|
||||
RecDelimT rec_delim = DEFAULT_RECORD_DELIMITER // records delimiter
|
||||
)
|
||||
requires std::ranges::contiguous_range<R>
|
||||
{
|
||||
@@ -254,7 +257,7 @@ public:
|
||||
// set values to its defaults
|
||||
setToDefaults();
|
||||
|
||||
auto recs = std::views::split(buffer, std::move(rec_delim));
|
||||
auto recs = std::views::split(buffer, std::move(rec_delim)) | std::views::drop(skip_records);
|
||||
|
||||
for (auto const& el : recs) {
|
||||
rec = mcc::utils::trimSpaces(el, utils::TrimType::TRIM_LEFT);
|
||||
@@ -318,7 +321,7 @@ public:
|
||||
template <OutputPolicy OPOLICY = MccKeyValueHolder::OPOLICY_CHANGED_ONLY,
|
||||
traits::mcc_output_char_range R,
|
||||
traits::mcc_input_char_range RecDelimT = std::string_view>
|
||||
std::error_code toCharRange(R& output_buffer, RecDelimT rec_delim = std::string_view{"\n"})
|
||||
std::error_code toCharRange(R& output_buffer, RecDelimT rec_delim = DEFAULT_RECORD_DELIMITER)
|
||||
{
|
||||
if (std::is_pointer_v<std::decay_t<RecDelimT>>) { // char*, const char*, char[], conat char[]
|
||||
return toCharRange(output_buffer, std::string_view{rec_delim});
|
||||
@@ -485,7 +488,7 @@ struct mcc_simple_kv_record_t {
|
||||
};
|
||||
|
||||
template <mcc_variant_valid_type_c T>
|
||||
mcc_simple_kv_record_t<T> mcc_make_simple_kv_record(
|
||||
static mcc_simple_kv_record_t<T> mcc_make_simple_kv_record(
|
||||
std::string_view key,
|
||||
T const& def_value,
|
||||
mcc_serialization_params_t const& spars = mcc_serialization_params_t{})
|
||||
|
||||
Reference in New Issue
Block a user