This commit is contained in:
2026-06-26 13:28:40 +03:00
parent 6faafa7b47
commit 5f26dadad2
5 changed files with 256 additions and 124 deletions

View File

@@ -1,12 +1,16 @@
#include <list>
#include <print>
// #include "../utils/snplib_string.h"
// #include "../include/snipplib/snplib_string.h"
#include <snipplib/utils/snplib_keyvalue.h>
#include <snipplib/utils/snplib_string.h>
using namespace snplib;
int main()
{
std::string si = " dewf wek e lwekjflkj ";
std::println("s = '{}'", si);
auto s = snplib_trim_spaces(si);
@@ -24,6 +28,15 @@ int main()
std::println("sv(TrimType::TRIM_BOTH) = '{}'", sv);
const char cstr[] = " dwelkj 3827 dwjh 2398 ";
std::println("C-ish string: '{}'", cstr);
std::println("C-ish(TrimType::TRIM_BOTH) = '{}'", snplib_trim_spaces_as_view(cstr));
std::list ll{' ', ' ', '2', ' ', 'e', '4', 's', ' ', ' '};
std::println("std::list: {}", ll);
std::println("std::ranges::subrange(TrimType::TRIM_BOTH) = '{}'", snplib_trim_spaces_as_view(ll));
// std::println("std::ranges::subrange(TrimType::TRIM_BOTH) = '{}'",
// std::views::all(snplib_trim_spaces_as_view(ll)));
si = "123; we; d34534; ";
@@ -32,16 +45,45 @@ int main()
std::println("\n\nstr = '{}'", si);
std::println("all elems: ");
std::print("all elems: ");
for (auto& el : rv) {
std::println("el = '{}'", el);
std::print("'{}' ", el);
}
std::println("");
rv = snplib_split_char_range<decltype(rv)>(si, "; ", 1, 2);
std::println("2 elems starting from 1: ");
std::print("2 elems starting from 1: ");
for (auto& el : rv) {
std::println("el = '{}'", el);
std::print("'{}' ", el);
}
std::println("");
si = " ATTR AAA 1.1 23 45 09 ";
std::vector v{std::from_range, si};
ll = {std::from_range, si};
snplib_keyvalue_t kv{v};
std::println("\n\nKV = {}", v);
std::println("key = '{}'", kv.key());
std::println("value = '{}'", kv.value());
std::println("valueSeq = '{}'", kv.valueSeq());
std::println("valueJoinSeq = '{}'", kv.valueJoinSeq<std::string_view>(3, 3));
std::println("valueJoinSeq = '{}'", kv.valueJoinSeq<std::string_view>(3, 30));
kv.setKeyValue("VAL", std::make_tuple(1, std::string{"RRR"}, 10.24));
std::println("\n\nKV = {}", v);
snplib_keyvalue_t kvl{ll};
std::println("\n\nKV = {}", ll);
std::println("key = '{}'", kvl.key());
std::println("key = '{}'", kvl.key<std::string>());
std::println("value = '{}'", kvl.value());
std::println("valueSeq = '{}'", kvl.valueSeq());
std::println("valueSeq = '{}'", kvl.valueSeq<std::list<std::string>>());
return 0;
}