Commit Graph

22 Commits

Author SHA1 Message Date
Martchus 8c033ca243 Fix warnings 2021-03-20 21:56:45 +01:00
Martchus 70f827c78e Apply clang-format 2020-11-25 17:53:28 +01:00
Martchus bf8e0db87f Construct tuple in in string builder directly 2020-03-02 18:23:38 +01:00
Martchus 8744cf95ef Ensure no copy is made when using argsToString()
It seems that std::make_tuple() is using __decay_and_strip so
the arguments get copied. Using the std::tuple c'tor directly
instead.

When using the %-operator it is already taken care that strings
are stored as pointers and not by value.
2020-02-18 19:29:23 +01:00
Martchus 7204bc6f06 Support using string builder with types convertible to target string type
So e.g. std::filesystem::path can be used to build an std::string.
2020-02-13 17:05:46 +01:00
Martchus a5283535cc Support nested tuples in string builder
This is useful to concatenate previously constructed sub
strings passed around as tuples.
2020-01-26 19:02:22 +01:00
Martchus 7376a2bb9b Support string builder operator '+' for std::string_view 2019-11-28 23:10:16 +01:00
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 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 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 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 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 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