4fb684ce75
Cleanup
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-11-08 18:35:59 +01:00
ee8f54ee5f
Fix to compile for Linux
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-11-08 13:48:41 +01:00
9ff15a27a1
string: move uuidtostr to a separate .hpp
...
It requires libuuid-devel on Linux and since this function is optional, lets
not impose libuuid-devel dependency on anything that #include
<stdex/string.hpp>.
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-11-08 13:41:50 +01:00
fedeef0bea
string: fix strncat SAL
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-11-06 11:57:47 +01:00
dec5ad54d1
interval: add invalidate method
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-11-06 11:57:08 +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
16a86cf350
Add #include wrapper to fix min/max <Windows.h> mess
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-10-18 12:51:49 +02:00
856be3a0d8
Revise #include to make each .hpp individually compilable
...
Mind that min/max Windows.h mess is Microsoft's problem, not ours.
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-10-18 09:12:06 +02:00
11e56f927f
string: add missing #include to support uuid_t on Windows
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-10-18 08:14:28 +02:00
983891ec41
string: add crlf2nl
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-10-10 16:43:09 +02:00
913cbc104a
string: add strcmp
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-10-10 16:43:09 +02:00
8a6462a40c
string: add uuidtostr
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-10-10 16:43:08 +02:00
a469860382
stream: revise cache init and cleanup
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-10-10 16:43:08 +02:00
00b05092af
stream: reuse converter R/W methods
...
Where we need to read from/write to m_source and immediately apply its
state to our converter, we already have methods for this.
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-10-10 16:43:08 +02:00
47e63b1f32
Use lambda as trampoline to simplify thread functions
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-10-10 16:43:08 +02:00
8732b1df5b
system: add admin and elevated bools to sys_info
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-10-10 16:43:08 +02:00
3a39f2438a
chrono: resolve time constant confusion
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-10-10 16:43:08 +02:00
7cd4d099ff
stream: cleanup
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-10-10 16:43:08 +02:00
ab8d37ee75
Turn assert() into _Analysis_assume_ on Release builds
...
While runtime asserts also served as MSVC Code Analysis hints, the lack
of asserts in Release builds provides no hints to Code Analysis which
rises a lot of warnings then.
Maybe I should learn how to use SAL to annotate <ptr, len> parameter
pairs to allow ptr==nullptr when and only when len==0? 😇
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-10-10 16:43:07 +02:00
9ba4b21cef
Un-static global data
...
Otherwise, compiler generates instances for each compilation unit.
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-10-10 16:43:07 +02:00
36012a107b
stream: cleanup
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-10-10 16:43:07 +02:00
b791621a2a
stream: make std:thread member rather than derive from it
...
When deriving, C++ might believe the derived class is still movable. But
it's not and rather than deleting move constructor and operator, this
approach made simpler code.
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-10-10 16:43:07 +02:00
9365f0252c
stream: add socket
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-10-10 16:43:07 +02:00
e61720598f
stream: revise string reading and writing
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-10-10 16:43:07 +02:00
86e7ed3690
stream: add support for collection reading and writing
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-10-10 16:43:06 +02:00
838dfabbda
string: add trim
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-10-10 16:43:06 +02:00
82a16ef579
string: add strftime
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-10-10 16:43:06 +02:00
a888731c39
string: extend strupr
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-10-10 16:43:06 +02:00
02c531e2a8
string: fix strncpy and strncat buffer limit check
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-10-10 16:43:06 +02:00
d7a44c2929
string: add strncmp
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-10-10 16:43:06 +02:00
7ea1870552
interval: allow use with scoped enums
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-10-10 16:43:06 +02:00
010ee71d93
interval: make operators a class friend
...
This makes them better discoverable by MSVC from various non-root
namespaces.
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-10-10 16:43:05 +02:00
3183b58e0d
idrec: cleanup and make operators a class friend
...
This makes them better discoverable by MSVC from various non-root
namespaces.
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-10-10 16:43:05 +02:00
6f19e5250d
parser: weasel winsock2.h support
...
This is a royal PITA to get compiled under various combinations of
WIN32_LEAN_AND_MEAN and _WINSOCKAPI_ combinations.
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-10-10 16:42:04 +02:00
c16579984d
system: add sys_info
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-10-10 16:42:04 +02:00
9f21015209
system: add sregex
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-10-10 16:42:03 +02:00
1a9b63279d
unicode: add UTF-7 and improve system charset detection
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-10-10 16:42:03 +02:00
970917f164
unicode: silence MSVC code analysis warnings
...
Those lines of code were tested.
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-10-10 16:42:03 +02:00
67d328a550
watchdog: add
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-10-10 16:42:03 +02:00
06a896ccf6
hash: make operators a class friend
...
This makes them better discoverable by MSVC from various non-root
namespaces.
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-10-03 14:56:15 +02:00
dfdc4369b8
base64: add base64_reader and base64_writer
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-10-03 14:56:14 +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
772dbb3524
Add README.md
...
A very vague one, but still. 😇
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-09-25 14:55:27 +02:00
4a5970595f
math: document add and mul
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-09-25 14:54:46 +02:00
41d764eeef
parser: fix compilation for macOS
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-09-23 17:58:40 +02:00
80eecac31a
unicode: add charset_id::utf32 for Windows
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-09-22 13:36:13 +02:00
10d74988aa
Add mising UTF-8 BOM's
...
Curse you XCode! 😔
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-09-22 13:07:14 +02:00