Commit Graph

532 Commits

Author SHA1 Message Date
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
Martchus 64be5bce63 Document the whole story behind catchiofailure.cpp 2018-04-14 14:48:36 +02:00
Martchus 51e87f3740 Don't wrongly detect libstdc++ 6.4 as >= 7
6.4 has been release after 20170502 but still throws
ios_base::failure with old ABI. It is not a good idea
to use the timestamp to distinguish release versions.

Note that _GLIBCXX_RELEASE is not defined in older
GCC versions. But if the macro is not present, we also
know that it will throw the old version.
2018-04-14 14:43:35 +02:00
Martchus 557856dc5c Apply clang-format 2018-04-01 23:08:41 +02:00
Martchus 8bc3cf9615 Add phrase for overriding current line 2018-04-01 23:08:31 +02:00
Martchus 76ee4a158b Add color overload for ANSI escape codes 2018-03-25 20:02:21 +02:00
Martchus e2e4b4641f Add EscapeCodes::Strikethrough 2018-03-25 20:00:01 +02:00
Martchus df7a3ee93c Apply clang-format from LLVM 6 2018-03-24 17:00:30 +01:00
Martchus 7cafdd551e Fix wrong negation to enable Doxygen target 2018-03-21 22:33:12 +01:00
Martchus 9a352e0b8f Do not add source files to Doxygen target
Adding the files only has the effect that the files
are shown in the IDE. However, the files should be present
anyways and adding them again causes Qt Creator to
accidently use the wrong target for the code model.
2018-03-19 20:38:10 +01:00
Martchus 7b974a1b1d Add 'const char *' overload to ConversionException 2018-03-11 22:36:59 +01:00
Martchus 19332033ec Format all GUI-only files 2018-03-11 18:58:26 +01:00
Martchus 55649d750a Fix calling verifyArgs() 2018-03-11 14:31:10 +01:00
Martchus 6249db3b09 Remove unused parameter in ArgumentParser::verifyArgs() 2018-03-07 20:04:37 +01:00
Martchus 007235973a Use DateTime::exactGmtNow in stringbuilder benchmark 2018-03-07 18:52:03 +01:00
Martchus 9e8ec0fcd5 Split Qt-specific config from other config
So adding Qt-specific config does not require a change
in c++utilities anymore.
2018-03-07 18:23:51 +01:00
Martchus cdecc48a1d Fix warning about signedness conversion in BinaryReader
Length is expected to be positive
2018-03-04 21:06:29 +01:00
Martchus da5a027ea3 Add simplified, string_view-compatible version of splitString() 2018-02-28 18:03:07 +01:00
Martchus 8a83870ac7 Allow variable number of digits in license versions 2018-02-28 18:01:17 +01:00
Martchus d684e20bfc Add launchable to appdata.xml 2018-02-22 00:01:01 +01:00