{"repo":"SophistSolutions/Stroika","free":true,"listed":false,"github":"https://github.com/SophistSolutions/Stroika","clone":"git clone https://github.com/SophistSolutions/Stroika.git","description":"Modern C++ made easy","language":"C++","stars":142,"topics":["json","datastructures","threadsafe","thread-pool","xml","web-app","linq","upnp","performance","streams"],"license":null,"category":"data-pipelines","readme_excerpt":"# Stroika v3 - modern C++ made easy Stroika is a modern, portable, C++ application framework. It makes writing C++ applications easier by providing safe, flexible, building blocks, as well as wrappers on other useful libraries that help them to all work together more seemlessly. Code snippets / examples String class UNICODE interoperability, more convenient methods c++ extern void CallFunction (String); String a = u8\"£50\"; // regardless of which way constructed, // stored internally compactly (in this case 5 bytes for data) String b = u32\" abc \"; CallFunction (a+b); // trim whitespace, and convert to u16string for some legacy API std::u16string uuu = (a+b).Trim ().As (); // tokenize String t{ \"ABC DEF G\" }; Assert (t.Tokenize ()[1] == \"DEF\"); f strings, c++20 format, works with stroika types c++ // most Stroika types automatically support formattable< DbgTrace (\"v = {}\" f, v); // to a tracelog file, or debugger cerr Iterable&lt;T - easy to use functional APIs on all iterables, similar to C# LINQ Similar to c++20 ranges API, but much easier to use (like C# Linq): methods of iterable objects easier to select with smart (e.g. vscode) editor than (std::ranges). c++ // nb: String is an Iterable , // despite internally representing the characters very differently bool IsAllWhitespace (String s) const { return not s.Find ([] (Character c) - bool { return not c.IsWhitespace (); }); } Iterable c { 1, 2, 2, 5, 9, 4, 5, 6 }; EXPECT TRUE (c.Distinct ().SetEquals ({ 1, 2, 4, 5, 6, 9 })); ","default_branch":null,"files":null,"tree":[],"storefront":"/r/SophistSolutions","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/SophistSolutions/Stroika/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}