Commit Graph

126 Commits

Author SHA1 Message Date
Martchus b8a60a0cd4 Support string builder operator '%' for std::string_view 2019-11-28 23:05:55 +01:00
Martchus 8e3aa84780 Support std::string_view in stringbuilder.h 2019-11-28 22:34:10 +01:00
Martchus 4e3393ee72 Apply clang-format 2019-10-30 23:02:30 +01:00
Martchus 1177381521 Add CppUtilities::endsWith() 2019-10-30 20:34:16 +01:00
Martchus 2cdde81077 Fix startsWith() if strings are equal 2019-10-27 17:59:26 +01:00
Martchus b693c72eb1 Fix old namespaces being mentioned in the documentation 2019-09-04 18:45:28 +02:00
Martchus b48b2f5c06 Have everything in one top-level namespace 2019-06-10 21:56:46 +02:00
Martchus 54aaad49a3 Use std::forward in argsToString() 2019-05-11 19:19:59 +02:00
Martchus eef6cd2f9e Use constexpr or inline in stringbuilder where possible 2019-05-11 19:10:36 +02:00
Martchus 9a50d2b8df Remove types 2019-04-13 20:33:39 +02:00
Martchus f40a800107 Remove USE_NOTHROW and make ConversionException inline 2019-04-13 20:33:39 +02:00
Martchus 264a349751 Remove widen.h, use iconv based string conversion instead 2019-04-13 20:33:39 +02:00
Martchus 41fa627ef4 Apply tidy 2019-03-11 17:47:17 +01:00
Martchus 7452d44e64 Prevent formatting bitrate as "-NaN GiB/s" 2019-03-10 16:26:23 +01:00
Martchus a0dff23c26 Remove extra handling for big endian
The detection for big endian seems to work. But the special
handling for big endian is wrong. Only without it tests pass
under ppc64. Tested with Tumbleweed ppc64 image ran within
qemu-system-ppc64.
2019-01-12 04:53:05 +01:00
Martchus fe4d2b5778 Improve readability of endianness detection 2018-12-29 23:48:01 +01:00
Martchus 8e32fc0229 Apply clang-format 2018-10-06 16:18:53 +02:00
Martchus 5356d793fc Make all tests pass under Windows
* Workaround some issues
* Disable some tests (better than not running tests
  at all)
2018-10-03 22:37:55 +02:00
Martchus 8e3c40abb5 Make conversion from multi byte to wide string generic 2018-10-03 21:26:41 +02:00
Martchus 3a14d39a14 Add conversion from const char* to float/double
Previously only conversion from std::string to float/double
was possible.
2018-09-22 16:47:44 +02:00
Martchus a6eefc3ab6 Fix documentation of string conversion functions 2018-09-22 16:46:48 +02:00
Martchus 651720552e Replace typedef's with using
* Except in code which will be discarded in v5 anyways
* Should not affect source and binary compatibility
2018-09-22 16:41:33 +02:00
Marius Kittler 7e4d9a6c59 Add missing header to fix compilation with GCC 4.9 2018-07-13 13:54:53 +02:00
Martchus 97aac2424a Reduce block-nesting in joinStrings() 2018-07-01 23:21:06 +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 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 1aa8b387e1 Apply clang-format 2018-05-08 00:35:51 +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 df7a3ee93c Apply clang-format from LLVM 6 2018-03-24 17:00:30 +01:00
Martchus 7b974a1b1d Add 'const char *' overload to ConversionException 2018-03-11 22:36:59 +01:00
Martchus da5a027ea3 Add simplified, string_view-compatible version of splitString() 2018-02-28 18:03:07 +01:00
Martchus 6a1280ba8a Fix warning about implicit conversion 2018-01-31 21:00:13 +01:00
Martchus a0c6868e88 Add conversion methods: multiline str <=> array of lines 2017-10-23 01:09:59 +02:00
Martchus e52fd5a4af Apply tidy after updating to clang-format 5.0.0
The behavior of clang-format slightly changed in Clang 5.0.0:
http://releases.llvm.org/5.0.0/tools/clang/docs/ReleaseNotes.html#clang-format
2017-09-17 21:45:23 +02:00
Martchus 22c8e636dc Write digitToChar() in a more compact way 2017-06-29 18:24:11 +02:00
Martchus 28f37bbbcd string to int: Allow specifying string size 2017-06-08 00:41:29 +02:00
Martchus 045c713cf5 string to int: Ignore whitespaces at beginning 2017-06-08 00:39:54 +02:00
Martchus 06f401b393 Prevent warning in swapOrder(uint16 value) 2017-06-03 17:16:52 +02:00
Martchus db46948f2f Apply clang-format 2017-05-04 22:44:15 +02:00
Martchus 59e20b1043 Apply clang-format 2017-05-01 03:13:11 +02:00
Martchus 787d541974 Fix conversion of 0 to string
Return "0" instead of an empty string
2017-03-07 00:28:46 +01:00
Martchus 06af1c4a73 Use std::make_unique provided by C++14 2017-02-05 21:00:52 +01:00
Martchus 94a6b47811 Improve documentation 2017-02-03 00:54:44 +01:00
Martchus 1ace53533a string builder: Remove unused code 2017-01-30 00:40:31 +01:00
Martchus 17fe42e0ad string builder: Support integral types directly
Not only convenient but also performance improvement
2017-01-30 00:11:33 +01:00
Martchus 5c004015ce string builder: Fix ambiguity issues 2017-01-27 18:50:51 +01:00
Martchus a772cdf30b Add conveniently usable string builder
which allows fast string building without multiple heap allocations
2017-01-26 22:16:18 +01:00
Martchus cab332bcad Refactor reading arguments
Replace ArgumentParser::readSpecifiedArgs() with
ArgumentReader class to simplify argument list
2016-12-23 22:40:33 +01:00
Martchus c1e18fcbf5 Fix compilation on Cygwin 2016-11-18 16:41:46 +01:00
Martchus 2be349856f Make numberToString/stringToNumber work with u16string
Don't rely on std::basic_stringstream at least for
integral types.
2016-11-13 23:06:03 +01:00
Martchus d6b08b8ed9 Fix decoration for static builds
- Also add improvemnts a few other things in the build system
2016-08-29 15:35:48 +02:00
Martchus b36572a4dd Add macro to assert execution of application 2016-08-06 22:02:14 +02:00
Martchus 994181cbf9 Improve utilities for testing tageditor CLI 2016-08-03 17:31:28 +02:00
Martchus 0c40a510e5 Add functions for character set conversions 2016-07-27 18:24:37 +02:00
Martchus ec53cf339d Improve doc 2016-07-27 18:21:29 +02:00
Martchus 526cbc5282 Rewrite argument parsing 2016-06-13 00:00:36 +02:00
Martchus db7b02b1db Make header guards more unique and consistent 2016-06-11 19:09:14 +02:00
Martchus c7c64e0784 Improve documentation 2016-06-10 14:08:56 +02:00
Martchus 78c096e20a added functions to swap the byte order 2016-02-23 19:27:46 +01:00
Martchus d04a0fe1a9 added {BE,LE}::getBytes24()
({BE,LE}::toUInt24() counterpart)
2016-01-25 23:59:05 +01:00
Martchus a8f7644350 minor adjustments 2016-01-18 23:41:30 +01:00
Martchus d437126760 throw ConversionException if not all chars could be extracted 2015-11-28 00:19:44 +01:00
Martchus 4d6bf67188 fixed includes 2015-09-06 20:19:09 +02:00
Martchus 603dbf823a fixed includes 2015-09-06 15:30:16 +02:00
Martchus 5689cb8058 added missing includes 2015-09-01 16:06:37 +02:00
Martchus 8e27b97d47 improved encode-/decodeBase64 2015-08-16 23:44:38 +02:00
Martchus 6f5546200c fixed toFloat32 2015-08-13 03:18:11 +02:00
Martchus 8c6f7a9785 dataSizeToString can print the exact size additionally 2015-08-09 23:58:13 +02:00
Martchus c62e25ee2a improved conversion utilities 2015-07-18 01:11:12 +02:00
Martchus 1c4c3ffdc7 added findAndReplace method, little adjustments 2015-07-07 00:52:06 +02:00
Martchus 24ba96a17f First commit 2015-04-22 18:36:40 +02:00