Martchus
2e2b66e398
Add mingw-w64 specific targets only when using mingw-w64
2018-07-27 16:18:27 +02:00
Marius Kittler
eb98b98c03
Improve build variables documentation
2018-07-13 15:36:53 +02:00
Marius Kittler
7e4d9a6c59
Add missing header to fix compilation with GCC 4.9
2018-07-13 13:54:53 +02:00
Marius Kittler
5e74deccf3
Document all traits
2018-07-10 13:17:26 +02:00
Marius Kittler
9743dc7d28
Improve dereferenceMaybe()
...
* Support smart-pointers and other types which can
be dereferenced
* Add tests
* Add documentation
2018-07-10 13:17:04 +02:00
Martchus
d029b33a19
Add TESTUTILS_ASSERT_LIKE macro
2018-07-02 23:09:52 +02:00
Martchus
236309971d
Add dereferenceMaybe()
2018-07-01 23:22:33 +02:00
Martchus
97aac2424a
Reduce block-nesting in joinStrings()
2018-07-01 23:21:06 +02:00
Martchus
6dcd39f1ac
Set CXX_STANDARD on header-only lib target for Qt Creator
2018-06-26 00:05:26 +02:00
Martchus
3a6bbb0115
Allow enabling GUI config even when no specific sources present
...
Useful when GUI specific code is only wrapped using #ifdef so
there are no extra files.
2018-06-24 20:47:19 +02:00
Martchus
79679c0f42
Improve fake target for Qt Creator
...
This target is required so files for header-only libs
show up in Qt Creator. So far it was just a custom target.
However, this way include directories and build flags are
not correctly passed to the code model. So creating an
actual library now.
2018-06-24 20:43:08 +02:00
Martchus
27d5041e06
Add Traits::IsSpecializingAnyOf
2018-06-24 20:13:41 +02:00
Martchus
0fb92e3685
Add Traits::None
2018-06-23 14:33:00 +02:00
Martchus
7b01938ece
Add {TimeSpan,DateTime}::ticks() for easier read/write
2018-06-23 14:32:46 +02:00
Martchus
e0fee70d58
Print vector<char> and similar in hex notation on assert fail
2018-06-21 23:27:05 +02:00
Martchus
0c7e7eb91d
Fix BinaryReader::read(int32 &one32BitInt)
2018-06-21 23:25:14 +02:00
Martchus
30adb1bc47
Add Traits::IsResizable
2018-06-20 23:07:08 +02:00
Martchus
e4bf7142f5
Add Traits::Is{Any,None}Of
2018-06-20 23:07:08 +02:00
Martchus
5deb077fe5
Extend Binary{Reader,Writer} to ease binary (de)serialization
...
To implement reflection-enabled binary (de)serialization
in https://github.com/Martchus/reflective-rapidjson .
2018-06-20 23:07:08 +02:00
Martchus
b77607f3e0
Rename META_REQUIRED_FEATURES
...
Because those features are actually not required.
2018-06-03 22:15:20 +02:00
Martchus
52734ebf51
Make use of thread_local optional
...
Because it doesn't seem to be implemented for
apple-darwin targets.
2018-06-03 22:14:22 +02:00
Martchus
4a69db787d
Allow to create header for feature detection
...
The header will only contain some preprocessor conditions.
CMake will *not* do checks with the current compiler.
2018-06-03 21:49:01 +02:00
Martchus
a21ed51505
Improve coding style in toFloat{32,64}() functions
...
* Use const
* Don't duplicate BE/LE branches
2018-05-31 22:45:45 +02:00
Martchus
d174f3f157
Make toInt() functions constexpr
2018-05-31 22:43:35 +02:00
Martchus
7125e52e87
Make error messages in stringconversion.h more verbose
2018-05-31 22:28:38 +02:00
Martchus
f4920abebc
Fix thread-safety of character set conversion functions
2018-05-31 01:24:04 +02:00
Martchus
5bc2ca87e0
Don't use size factor for conversion from UTF-8 to Latin-1
2018-05-31 01:19:56 +02:00
Martchus
d9f2ad7260
Fix warnings in character set conversion functions
2018-05-31 01:19:34 +02:00
Martchus
89a4c2f33a
Skip suggestions for pre-defined values if none assigned
2018-05-11 18:13:14 +02:00
Martchus
b69b841fa3
Prevent huge memory allocation for Damerau-Levenshtein algo
2018-05-11 16:15:16 +02:00
Martchus
5e8d8cb7d1
Show dashes in suggestions
2018-05-11 16:15:02 +02:00
Martchus
24720bbbc1
Fix passing cursor position to findSuggestions()
2018-05-11 15:51:30 +02:00
Martchus
5eb3e2aa75
Fix suggestion if only one available
2018-05-11 15:29:10 +02:00
Martchus
1aa8b387e1
Apply clang-format
2018-05-08 00:35:51 +02:00
Martchus
f0b777207e
Fix dependency version under GCC 8
2018-05-08 00:35:41 +02:00
Martchus
a4435bbcf3
Fix usage of enable_if with GCC 8
...
Seems like the trick with the three dots isn't working
with GCC 8 anymore. So let's make it a default template
parameter then.
Not sure whether GCC 8 is here correct and whether this
workaround causes further trouble.
2018-05-07 23:22:43 +02:00
Martchus
8ef92cbf47
Use Levenshtein algo to provide suggestions if arg not found
2018-05-07 21:59:23 +02:00
Martchus
44f0206a13
Refactor ArgumentReader::read()
...
* Use return-code for error handling
* Improve documentation/comments
* Improve const correctness
2018-05-07 20:04:30 +02:00
Martchus
0e8dcbecae
Refactor value completion in ArgumentParser::printBashCompletion()
2018-05-06 00:36:37 +02:00
Martchus
872ee49979
Refactor ArgumentParser::printBashCompletion()
2018-05-06 00:26:42 +02:00
Martchus
3c04514649
Ensure stack-allocated distance array is initialized
2018-05-06 00:26:08 +02:00
Martchus
14f906cc6b
Update README.md
2018-05-05 23:28:21 +02:00
Martchus
429de98836
Add algorithm for computing Damerau–Levenshtein distance
2018-05-05 23:26:53 +02:00
Martchus
034b8a75d1
Add min(), max() for any number of arguments
2018-05-05 23:06:51 +02:00
Martchus
c26e84ff8c
Add TODOs for math utilities
2018-05-05 23:06:15 +02:00
Martchus
25057fa8e3
Add MultiArray class which provides an N-dimensional array
2018-05-05 23:05:46 +02:00
Martchus
52bf075317
Move creation of srcdirref and testfiles dir to BasicConfig
...
Those make testing more convenient and are also useful when
there's no test target, eg. when testing syncthingtray with
mocked configuration.
2018-05-01 23:59:28 +02:00
Martchus
94e76f5a1a
Add experimental methods to convert argument values
...
* Currently lacks error handling
* Needs testing
2018-04-28 13:07:48 +02:00
Martchus
26a286a7db
Prevent installation of private header
2018-04-28 12:15:34 +02:00
Martchus
c8bf068e74
Reorder method declarations in Argument and ArgumentParser
...
So it becomes clear which parts might be moved to a separate class
to prevent Argument from becoming to big.
2018-04-28 12:08:12 +02:00