Commit Graph

42 Commits

Author SHA1 Message Date
Martchus e8d829cadd Add helper to ease creation of flag enums
Not sure whether this is the best way, especially the regarding
the namespacing - hence still experimental
2019-08-12 20:21:53 +02:00
Martchus b48b2f5c06 Have everything in one top-level namespace 2019-06-10 21:56:46 +02:00
Martchus e18731d438 Remove polyfill for std::make_unique 2019-06-10 16:15:48 +02:00
Martchus 4c1b733290 Rework ArgumentParser::parseArgs()
* Remove "ext()" and "orExit()" versions
* Exit by default (might be intrusive but it is the most
  common use)
* Rename Failure to ParseError
2019-06-10 16:03:27 +02:00
Martchus 9a2679e57d Fix compile error with GCC 7.2.1
Prevents "error: uninitialized variable 'tmp' in 'constexpr' function"
2019-05-29 14:07:50 +02:00
Martchus c904014794 Make math functions templates and move to misc 2019-05-13 22:42:17 +02:00
Martchus b178bb086c Remove random utilities 2019-04-13 20:33:39 +02:00
Martchus 44e4d1335a Fix Traits::IsSpecializationOf to ignore cv qualifier
So eg. const/volatile std::string is also considered a
specialization of std::basic_string like one would expect.
2018-10-29 23:16:16 +01:00
Martchus cad2977e4e Add Traits::HasOperatorBool 2018-10-21 20:21:28 +02:00
Martchus 252e91c819 Unify namespace descriptions 2018-09-22 17:04:55 +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 236309971d Add dereferenceMaybe() 2018-07-01 23:22:33 +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 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 3c04514649 Ensure stack-allocated distance array is initialized 2018-05-06 00:26:08 +02:00
Martchus 429de98836 Add algorithm for computing Damerau–Levenshtein distance 2018-05-05 23:26:53 +02:00
Martchus 25057fa8e3 Add MultiArray class which provides an N-dimensional array 2018-05-05 23:05:46 +02:00
Martchus 2264ea5cf2 Add trait to check whether type is complete 2017-11-16 02:00:03 +01:00
Martchus 39f69f94d7 Make CPP_UTILITIES_TRAITS_DEFINE_TYPE_CHECK usabe from any ns 2017-11-06 21:28:09 +01:00
Martchus 9fb347db24 Add generic macro for defining (custom) type checks 2017-11-01 15:19:28 +01:00
Martchus fa39e2a1aa Add traits to check for reserve() and size() 2017-10-27 18:25:32 +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 3b74b817ec Add trait to test for strings 2017-05-10 23:31:28 +02:00
Martchus f827c2be00 Add trait to check whether type is iteratable 2017-05-08 19:51:24 +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 94a6b47811 Improve documentation 2017-02-03 00:54:44 +01:00
Martchus df1605c9b1 Add trait to detect template specialization
Useful to check for std::tuple
2017-01-30 00:08:35 +01:00
Martchus 5eec3c3c9b traits: Fix Any and add Enable-/DisableIfAny 2017-01-27 18:49:53 +01:00
Martchus bd9cdfccb2 Add traits for exploiting SFINAE 2016-11-13 22:51:09 +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 ec53cf339d Improve doc 2016-07-27 18:21:29 +02:00
Martchus d28d477ffe Complete generation of API doc
- Use README.md for main page
- Add install target for API doc
- Improve some doc comments
2016-06-10 22:59:22 +02:00
Martchus 93582b4ac0 added more tests, fixed some bugs 2016-01-27 02:25:28 +01:00
Martchus a8f7644350 minor adjustments 2016-01-18 23:41:30 +01:00
Martchus 4e359bdfea small changes 2015-10-06 22:28:33 +02: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 24ba96a17f First commit 2015-04-22 18:36:40 +02:00