Patrick Pelissier
8597b0b8c0
Fix warning on clang and old gcc
2021-01-18 18:21:01 +01:00
Patrick Pelissier
c625c39883
Add a new implementation of M_CSTR using GNU C extension which provides faster & smaller code
2021-01-18 18:16:45 +01:00
Patrick Pelissier
bce86460fe
Rewrite test cases to avoid potential warnings
2021-01-18 18:16:05 +01:00
Patrick Pelissier
f002eebc83
Update constraint
2021-01-18 18:01:42 +01:00
Patrick Pelissier
139da2e49f
Update example
2021-01-16 10:25:55 +01:00
Patrick Pelissier
91d40a0f43
V0.5.0
2021-01-13 20:18:01 +01:00
Patrick Pelissier
25fe26deaa
Happy new year
2021-01-13 20:18:01 +01:00
Patrick Pelissier
cd357c5eb7
Rewrite the wrappers of strncpy & strncat:
...
Add one argument about the allocation of the dest buffer
Theses wrappers are internal (so no impact to API)
and only used in a few place in m-string.
This make the wrappers able to use the function
strncpy_s & strncat_s for MSVC rather than using
reimplementation of the original functions.
2021-01-13 08:34:47 +01:00
Patrick Pelissier
561f67b3b9
Update list of ignored files
2021-01-13 08:27:00 +01:00
Patrick Pelissier
15a02e3306
Update final message
2021-01-10 20:04:14 +01:00
Patrick Pelissier
944d29e8bc
Workaround CLANG preprocessor failure on Windows platform
2021-01-10 20:03:28 +01:00
Patrick Pelissier
aefba70c1e
Rework once again how to detect a failure in an application:
...
IF errorlevel 1 only works for positive error code
IF not errorlevel 0 only works for negative error code
There are not reliable. So, use && and || instead.
Remove expected failure on test as all tests pass now
(and it was broken).
2021-01-10 18:08:48 +01:00
Patrick Pelissier
c9ed4ba820
Fix compiler error with MSVC with new implementation of offsetof
2021-01-10 18:01:19 +01:00
Patrick Pelissier
df97ea848c
Fix error for C++
2021-01-10 10:01:54 +01:00
Patrick Pelissier
93d810421d
Fix warning with newest gcc
2021-01-10 09:57:07 +01:00
Patrick Pelissier
f560839516
Add example of string_sets
2021-01-10 09:51:53 +01:00
Patrick Pelissier
8a9d5f6a00
Add macro string_sets (like string_cats)
2021-01-10 09:51:38 +01:00
Patrick Pelissier
5f05c1e169
Make stdarg an optional header. Some works remain to do to make stdio fully optional
2021-01-10 09:40:37 +01:00
Patrick Pelissier
3df2408ffb
Add macro M_CSTR
2021-01-10 09:26:27 +01:00
Patrick Pelissier
ffc2ec8c4b
Fix format
2021-01-10 09:25:27 +01:00
Patrick Pelissier
b0ebbb306e
Update
2021-01-10 09:20:42 +01:00
Patrick Pelissier
c3574aa290
Update comments
2021-01-10 09:02:52 +01:00
Patrick Pelissier
eabc867c2a
Rename used namespace for C++ to m_lib
2021-01-10 08:48:46 +01:00
Patrick Pelissier
a03b2e80c6
Document string_cats
2021-01-07 22:13:10 +01:00
Patrick Pelissier
c4f23640d5
Add test for string_cats
2021-01-07 22:13:10 +01:00
Patrick Pelissier
a42b854f14
Add macro string_cats to concat multiple strings
2021-01-07 22:13:10 +01:00
Patrick Pelissier
9aa08bfc59
Add support for struct in M_AS_TYPE
2021-01-07 22:13:10 +01:00
Patrick Pelissier
06b79a6caa
Add tests for M_AS_TYPE
2021-01-07 22:13:10 +01:00
Patrick Pelissier
6d533bd52a
Add (internal) macro M_CONDITIONAL
2021-01-07 22:13:10 +01:00
Patrick Pelissier
1b4c608087
Rename operator TEST_EMPTY into EMPTY_P to be compliant with iterator operator
2021-01-07 22:13:10 +01:00
Patrick Pelissier
6ccc81fd92
Remove unused operator UPDATE_TYPE
2021-01-07 22:13:09 +01:00
Patrick Pelissier
6f7d3fcd79
Add limiation on M_EMPTY_P
2020-12-31 00:12:36 +01:00
Patrick Pelissier
7484dee707
Fix a corner case for M_EMPTY_P where it performs too much evaluation steps
2020-12-31 00:12:21 +01:00
Patrick Pelissier
a580aaac83
Add more test cases for M_EMPTY_P
2020-12-31 00:11:37 +01:00
Patrick Pelissier
52bef353e0
Workaround WIN clang that claims to be C11 but fails to deliver a working assert.h (See #85 )
2020-12-30 19:03:10 +01:00
Patrick Pelissier
826ecf76c0
Workaround a compiler warning
2020-12-30 19:02:00 +01:00
Patrick Pelissier
2cf5bff32d
Fix negative error code termination for MSVS (See #86 )
2020-12-30 17:58:43 +01:00
Patrick Pelissier
1377d7a1c2
Fix usage of strncpy_s and strncat_s
...
Provides a full wrapper around strncpy & strncat
(for MSVS as it complains on using strncpy & strncat).
See #86
2020-12-28 23:35:50 +01:00
Patrick Pelissier
ab9284ca20
Update documentation
2020-12-27 10:44:41 +01:00
Patrick Pelissier
5dab01c1c7
Fix spelling
2020-12-26 09:08:42 +01:00
Patrick Pelissier
f9c434401b
Fix M_GET_STRING_ARG (See #84 )
2020-12-26 09:00:39 +01:00
Patrick Pelissier
76b9f9a715
Add test cases for M_GET_STRING
2020-12-26 08:58:52 +01:00
Patrick Pelissier
2ee82c478b
Remove useless type (see #82 )
2020-12-24 10:58:51 +01:00
Patrick Pelissier
211121435d
Fix warning in C++ mode with G++ 10
2020-12-24 08:13:44 +01:00
Patrick Pelissier
fffd1702a5
CLANG 3.8 stdatomic works. Update minimun version
2020-12-24 07:35:45 +01:00
Patrick Pelissier
9aa99bf230
Update package list before installing multilib
2020-12-21 15:23:49 +01:00
Patrick Pelissier
1671ca8d67
Add more assertions
2020-12-21 15:16:16 +01:00
Patrick Pelissier
ad16b310e1
Fix overflow issue in bitset_last_p (see #81 )
2020-12-21 15:08:19 +01:00
Patrick Pelissier
4dbcfd25b3
Fix non support of break in M_LET_IF
2020-12-16 15:27:41 +01:00
Patrick Pelissier
01167b09c4
Add an example of M_LET_IF
2020-12-16 11:07:11 +01:00
Patrick Pelissier
15d0b86c62
Update documentation & add tests as per lastest changes
2020-12-16 11:07:11 +01:00
Patrick Pelissier
edbcecb272
Add support for else condition in M_LET_IF. Fix also a bug in computing unique variable per line
2020-12-16 11:07:11 +01:00
Patrick Pelissier
1689db7b9c
Fix spelling
2020-12-16 11:07:11 +01:00
Patrick Pelissier
f5bc8796f7
Add functions:
...
* string_vprintf
* string_init_vprintf
2020-12-15 22:14:43 +01:00
Patrick Pelissier
e893560a48
Add macros M_LET_IF and M_DEFER to help handling with runtime errors
2020-12-14 21:26:07 +01:00
Patrick Pelissier
a4ff7c71f2
Update documentation
2020-12-13 00:18:53 +01:00
Patrick Pelissier
9f780805f0
Update
2020-12-10 07:59:28 +01:00
Patrick Pelissier
749273d1bb
Update list of methods
2020-12-06 08:32:54 +01:00
Patrick Pelissier
d8fd2e3e69
Update doc as per latest changes
2020-12-06 00:16:53 +01:00
Patrick Pelissier
d443a84254
Remove deprecated funtion
2020-12-06 00:15:17 +01:00
Patrick Pelissier
ef614b19ee
Fix ISO C warning.
2020-12-05 18:33:26 +01:00
Patrick Pelissier
1c5c4aa50f
Fix compatibility with C++
...
which doesn't support designated init.
2020-12-05 18:28:30 +01:00
Patrick Pelissier
5533ffffaa
Add tests for intrusive shared pointers.
2020-12-05 18:14:38 +01:00
Patrick Pelissier
34c990e259
Add function _init_once for intrusive shared pointer
2020-12-05 18:14:22 +01:00
Patrick Pelissier
5f0b6b9f26
Fix format
2020-12-05 12:42:45 +01:00
Patrick Pelissier
26eb882a30
Rename tuple function :
...
* _init_set2 in _init_emplace
* _set2 in _emplace
due to better & clearer naming.
(API break)
2020-12-05 12:29:20 +01:00
Patrick Pelissier
4d0e799c7a
Remove obsolete function.
2020-12-05 12:27:33 +01:00
Patrick Pelissier
6801f688a4
Clarify atomic thin layer limitation (see #79 )
2020-12-01 07:27:14 +01:00
Patrick Pelissier
bdf29af9e9
* Add DJB Xor hash * Rename function (see #78 )
2020-11-29 22:05:24 +01:00
Patrick Pelissier
79dabfc52f
Update documentation as per #76
2020-11-29 20:34:05 +01:00
Patrick Pelissier
de2268c406
Factorization of comparaison by using memcmp
2020-11-29 20:06:56 +01:00
Patrick Pelissier
85ea1f40dc
Use classic hash rather than fast one for C-String (fix assertion failure for C-String hash)
2020-11-29 19:36:28 +01:00
Patrick Pelissier
f89ba94689
Add test for computing C-string hash (raise assertion failure)
2020-11-29 19:35:52 +01:00
Patrick Pelissier
0279dcc3cc
Fix issue on MacOS
2020-11-25 22:56:51 +01:00
Patrick Pelissier
62c8e005bb
Add a new example of array of strings.
2020-11-25 22:41:25 +01:00
Patrick Pelissier
2a28f8d407
Add string_init_printf
2020-11-25 22:41:11 +01:00
Patrick Pelissier
9802fc5098
Remove rapidstring as it is no longer maintained, and the author deleted the repository.
2020-11-24 23:04:33 +01:00
Patrick Pelissier
f372a72fd8
Update list of libraries
2020-11-23 20:29:30 +01:00
Patrick Pelissier
9d661852b2
Factorization of replace_all function for all libraries
2020-11-23 20:14:17 +01:00
Patrick Pelissier
b343d356c3
Add support for empty replaced string
2020-11-22 23:29:38 +01:00
Patrick Pelissier
2e4404ca7e
Fix a (strange) warning for gcc 8 without assertions.
...
Add back the assertions as compile hints.
2020-11-22 23:20:04 +01:00
Patrick Pelissier
29eebaf38d
Factorization of the allocation.
2020-11-22 23:11:09 +01:00
Patrick Pelissier
d0d69aebfa
Add final null char in computation of the needed size for the new function _replace_all
2020-11-22 23:09:37 +01:00
Patrick Pelissier
477c5853f1
Update bench to use new function.
2020-11-22 23:04:50 +01:00
Patrick Pelissier
55e7b3083a
Add function string_replace_all[_str]
...
to replace all occurences of a string by another.
2020-11-22 23:04:32 +01:00
Patrick Pelissier
0b9e27fb7f
Add note on 32 bits systems where atomic library is needed
2020-11-21 11:45:25 +01:00
Patrick Pelissier
36ac6d5104
Fix issue on single core system
2020-11-21 10:53:11 +01:00
Patrick Pelissier
d898d6d4cc
Remove duplicate function
2020-11-21 10:26:02 +01:00
Patrick Pelissier
e7388929c4
Migrate to msys2 v2 for github actions.
2020-11-19 22:43:05 +01:00
Patrick Pelissier
45f8b31efc
Add function string_subset
2020-11-19 22:31:33 +01:00
Patrick Pelissier
ebf440731d
Fix address sanitizer issue
2020-11-15 09:43:41 +01:00
Patrick Pelissier
501a4a65ec
Add test cases
2020-11-15 09:39:29 +01:00
Patrick Pelissier
800d03f728
Update documentation.
2020-11-15 09:39:15 +01:00
Patrick Pelissier
19ff6bfeac
Add equal_p method for m-prioqueue
2020-11-15 09:39:01 +01:00
Patrick Pelissier
24f5739a3b
Update documentation.
2020-11-14 23:56:28 +01:00
Patrick Pelissier
b658598e02
Update documentation for _update & _erase of priority queues.
2020-11-14 23:48:46 +01:00
Patrick Pelissier
47343a2893
Add proper test cases for _update of priority queue
2020-11-14 23:48:23 +01:00
Patrick Pelissier
c1f99359be
Fix issue in update of priority in priority queue:
...
* Rename _update_further into _update.
* it now supports increase or decrease of priority.
* _update_further is deprecated (and was broken).
2020-11-14 23:48:08 +01:00
Patrick Pelissier
bd89e162fc
Add support for additional parameter id
2020-11-14 23:45:38 +01:00
Patrick Pelissier
983a63fbbc
Add more comments to explain how it works.
2020-11-14 22:45:39 +01:00