#include #include #include #include using namespace snplib; int main() { std::string si = " dewf wek e lwekjflkj "; std::println("s = '{}'", si); auto s = snplib_trim_spaces(si); std::println("s = '{}'", s); auto sv = snplib_trim_spaces_as_view(si, TrimType::TRIM_LEFT); std::println("sv(TrimType::TRIM_LEFT) = '{}'", sv); sv = snplib_trim_spaces_as_view(si, TrimType::TRIM_RIGHT); std::println("sv(TrimType::TRIM_RIGHT) = '{}'", sv); sv = snplib_trim_spaces_as_view(si, TrimType::TRIM_BOTH); 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; "; std::vector rv; rv = snplib_split_char_range(si, "; "); std::println("\n\nstr = '{}'", si); std::print("all elems: "); for (auto& el : rv) { std::print("'{}' ", el); } std::println(""); rv = snplib_split_char_range(si, "; ", 1, 2); std::print("2 elems starting from 1: "); for (auto& el : rv) { 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_expr_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("valueSeq(4,2) = '{}'", kv.valueSeq(4, 2)); std::println("valueJoinSeq = '{}'", kv.valueJoinSeq(3, 3)); std::println("valueJoinSeq = '{}'", kv.valueJoinSeq(3, 30)); kv.setKeyValue("VAL", std::make_tuple(1, std::string{"RRR"}, 10.24)); std::println("\n\nKV = {}", v); snplib_keyvalue_expr_t kvl{ll}; std::println("\n\nKV = {}", ll); std::println("key = '{}'", kvl.key()); std::println("key = '{}'", kvl.key()); std::println("value = '{}'", kvl.value()); std::println("valueSeq = '{}'", kvl.valueSeq()); std::println("valueSeq(4,2) = '{}'", kvl.valueSeq(4, 2)); std::println("valueSeq = '{}'", kvl.valueSeq>()); snplib_randoom_string_generator_t<> rstr_gen; std::println("\n\n"); std::println("RAND STR: {}", rstr_gen.generate()); std::println("RAND STR: {}", rstr_gen.generate()); std::println("UUID v.4: {}", rstr_gen.UUIDv4String()); std::println("UUID v.4: {}", rstr_gen.UUIDv4String()); return 0; }