5fc35751a3
UnitTest: Switch to Assert::IsTrue for primitive datatypes
...
Visual Studio 2019 has issues compiling Assert::AreEqual<stdex::langid>.
Signed-off-by: Simon Rozman <simon@rozman.si>
2025-03-28 15:45:24 +01:00
51d472d8b2
UnitTest: ShortProjectName is not available in VS2019
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2025-03-28 14:26:54 +01:00
832daf89d6
UnitTests: Fix source code charset
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2025-03-28 14:17:29 +01:00
aae79719cb
AppVeyor: Initial support
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2025-03-28 13:31:14 +01:00
2694f59d79
Sync with Xcode
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2025-03-12 11:14:19 +01:00
2674bb0e32
string: add variants for char16_t/char32_t strings
...
char16_t is not exactly the wchar_t on Windows. char32_t is not exactly
the wchar_t on POSIX. Rather than selecting the appropriate variant,
polymorphism picked the template implementation of strncmp, strcpy and
strncpy. The one that does not convert UTF16 surrogate pairs against
their UTF32 representation.
Signed-off-by: Simon Rozman <simon@rozman.si>
2025-01-13 11:01:01 +01:00
a7543cf9ab
string: add snprintf
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2025-01-13 11:01:01 +01:00
db413bb5ce
UnitTests: fix to compile on Windows
...
sys_info.hpp requires an extra #define and linker library.
Signed-off-by: Simon Rozman <simon@rozman.si>
2025-01-13 11:01:01 +01:00
8fd9fbf191
Bump Copyright year
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2025-01-08 12:36:35 +01:00
5675f8b139
string: add recoding from UTF-16 to UTF-32
...
I know there are system functions for this (and libiconv), but this is
so trivial and quick in our implementation.
2024-09-27 14:11:11 +02:00
c4e57f15df
langid: extend and fix conversions
...
LANGID 9 should convert to "en" and 1033 to "en-US". 36 to "sl" and
1060 to "sl-SI". Likewise backwards. Otherwise, we are loosing
disambiguation between generic and country-specific language variants.
Signed-off-by: Simon Rozman <simon@rozman.si>
2024-08-22 17:02:44 +02:00
e65eb35cc2
Cleanup precompiler directives
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2024-08-21 13:32:58 +02:00
8bd8143c6b
langid: sync Windows build
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2024-08-19 13:01:29 +02:00
7b21a3983c
stdex: add langid
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2024-08-19 11:20:42 +02:00
5436dda7f6
assert: initial version
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2024-05-28 10:22:24 +02:00
9809765b33
minisign: add
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2024-03-15 14:45:27 +01:00
7e07d14de7
scoped_executor: add
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2024-03-01 09:28:48 +01:00
c6f5a72e70
zlib: fix length comparison in unit test
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2024-02-21 15:51:21 +01:00
31a53e9e43
UnitTests: Specify intermediate and output folders
...
Microsoft changed defaults in recent Visual Studio update. To worse
IMHO.
Signed-off-by: Simon Rozman <simon@rozman.si>
2024-02-21 15:50:30 +01:00
0a719e3081
Xcode: turn on and resolve all warnings
2024-02-14 15:05:41 +01:00
0560c7bce9
Add missing UTF-8 BOM
...
This is required on Windows with default charset set to Windows-1252 or
another non-UTF-8 charset.
Signed-off-by: Simon Rozman <simon@rozman.si>
2024-02-14 12:33:29 +01:00
8ac0efa85d
Xcode: resolve -Wsign-compare
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2024-02-14 12:28:39 +01:00
681a6955d8
Xcode: resolve -Wunknown-pragmas
...
This is a multi-platform project and while trying to reduce amount of
Signed-off-by: Simon Rozman <simon@rozman.si>
2024-02-14 12:26:52 +01:00
2232b0d23e
UnitTests: remove Xcode settings set as default already
2024-02-14 08:49:36 +01:00
b0c682edd6
Fix to compile for Windows
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2024-02-08 15:26:20 +01:00
9acd185d44
UnitTest: redesing to avoid #include ".cpp" in Xcode
...
Each unit test .cpp file is not a separate compilation unit in Xcode project
like it is in Visual Studio. Hopefully, Visual Studio test tool still likes
this arrangement.
Signed-off-by: Simon Rozman <simon@rozman.si>
2024-02-08 15:18:42 +01:00
1e627e1c6b
UnitTests: add zlib testing
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2024-02-08 14:38:34 +01:00
6e121395f3
UnitTest: switch to C++17
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2024-02-08 14:17:15 +01:00
b5e35922f1
string: revert emojis in unit test
...
Actually, using ill-created locale was the cause sprintf returned EILSEQ on %ls inserts containing emoji.
Signed-off-by: Simon Rozman <simon@rozman.si>
2024-02-08 14:04:15 +01:00
08a18d1519
macOS support
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2024-02-08 12:09:33 +01:00
cf73f8a48d
zlib: Update
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2024-01-23 11:01:12 +01:00
9f3d65d910
zlib: add
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2024-01-09 20:07:06 +01:00
c5feba2ed0
string: add unit test for sprintf
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2024-01-09 19:31:07 +01:00
38c6b40b21
Bump Copyright year
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2024-01-06 10:55:09 +01:00
2610547137
Cleanup
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-12-21 09:21:32 +01:00
2e65d0351c
Trim excessive inline
...
Methods and templates are implicitly marked as inline already.
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-12-11 11:33:27 +01:00
bb9988933e
unicode: add unit test for normalize
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-12-08 14:21:52 +01:00
6d1d9bd1b8
sgml: fix unit tests
2023-12-08 14:21:20 +01:00
5a4194c9ba
wav: add
2023-12-01 19:06:20 +01:00
87c41c0947
html: add simple tokenizer and parser
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-11-17 15:14:54 +01:00
424f297c7b
sgml: sgml2wstr→sgml2str, wstr2sgml→str2sgml 🧨
...
This is analogous to string.hpp's strlen, strcpy, strcat, which use C++
polymorphism rather than function name decorations for char/wchar_t
flavors.
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-11-17 15:14:53 +01:00
bea4b5b408
spinlock, pool: add
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-11-10 12:38:13 +01:00
3dfd62ec2f
socket: add own cross-platform declaration
...
Like with stdex::locale_t, this frees us from using Windowsizms on other
platforms. Sockets came from Unix to Windows and not the other way
around in the first place.
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-11-09 09:25:42 +01:00
2c45749f78
string, locale: make stdex::locale(_t) independent .hpp file
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-11-09 08:12:31 +01:00
89a5c6e5e6
sys_info: move to a separate .hpp
...
The stdex::sys_info is instantiated for each compilation unit. To reduce
amount of copies, move it to a separate .hpp as system.hpp is almost
always #included.
Breaking-change: Add #include <stdex/sys_info.hpp>
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-10-19 10:16:53 +02:00
67d328a550
watchdog: add
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-10-10 16:42:03 +02:00
49b741c94f
Replace errno_error with std::system_error
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-10-01 23:09:50 +02:00
b8fae2d0dd
pch.h -> pch.hpp
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-09-25 15:05:36 +02:00
4e25c13d08
hash: macOS support
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-09-25 15:04:19 +02:00
c4e94150d1
hash: add
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-09-25 14:57:14 +02:00