Commit Graph

160 Commits (master)

Author SHA1 Message Date
Daniel Kolesa f7929a1b45 ditch char_traits in string stuff 2017-12-15 23:32:06 +01:00
Daniel Kolesa 2ce488002a use <> for includes everywhere 2017-06-19 16:59:36 +02:00
Daniel Kolesa 50692c3e29 remove the temp_cstr stuff 2017-06-02 18:33:56 +02:00
Daniel Kolesa 3df3ece0d2 add comparisons against standard strings 2017-06-01 21:50:31 +02:00
Daniel Kolesa a539d6c945 loosen up string range comparisons 2017-06-01 21:44:18 +02:00
Daniel Kolesa d6a2a3f07c include all examples in generated docs 2017-05-03 02:14:27 +02:00
Daniel Kolesa cc8452e265 remove make_ range helpers for containers (use iter_begin/end) 2017-04-23 15:30:51 +02:00
Daniel Kolesa 1619dac782 remove range difference type (unused) 2017-04-16 17:23:09 +02:00
Daniel Kolesa fb02bd2cb9 string.hh documentation + noexcept 2017-04-10 19:43:44 +02:00
Daniel Kolesa 1525edf3d7 type/include cleanup 2017-04-09 16:44:45 +02:00
Daniel Kolesa 62676f4222 rename octastd to libostd 2017-04-06 20:14:52 +02:00
Daniel Kolesa 480b7a56a4 more documentation 2017-04-04 19:29:15 +02:00
Daniel Kolesa f2a78ad589 guaranteed single-argument slice 2017-04-01 16:49:38 +02:00
Daniel Kolesa fe4d7a553a remove pop_front_n/pop_back_n from direct definition 2017-04-01 01:07:30 +02:00
Daniel Kolesa d99768de96 remove equals_ stuff 2017-03-31 03:39:28 +02:00
Daniel Kolesa dc7c124069 remove distance_ stuff 2017-03-31 03:36:40 +02:00
Daniel Kolesa 8f70b60484 remove range push_ stuff 2017-03-31 03:34:35 +02:00
Daniel Kolesa a23a42da1f remove ostd::to_string and ostd::concat (both replaced by more flexible format) 2017-02-20 20:43:38 +01:00
Daniel Kolesa 5a76f29dea revamped format module (more flexible, cleaner api) 2017-02-20 18:04:03 +01:00
Daniel Kolesa 3a82495a4c cleanups and optimizations 2017-02-19 18:46:43 +01:00
Daniel Kolesa 78e6771148 bounds checking pointer/string ranges 2017-02-19 18:31:08 +01:00
Daniel Kolesa d6219046be add range_put_all which can be overloaded with special optimizations 2017-02-19 18:14:09 +01:00
Daniel Kolesa e4dc237f4d revamped output ranges and input range pop funcs 2017-02-19 16:45:06 +01:00
Daniel Kolesa c22f8e4b7a remove ostd::min/max/clamp 2017-02-18 17:54:51 +01:00
Daniel Kolesa 468ddd02e2 remove appender func (unnecessary) 2017-02-18 17:25:49 +01:00
Daniel Kolesa 0977b35fd2 cleaner array/pointer ctor for string ranges 2017-02-17 17:50:44 +01:00
Daniel Kolesa 8e40841219 update to new style everywhere 2017-02-16 20:49:34 +01:00
Daniel Kolesa 68c19a80fb update naming style across range module 2017-02-16 20:02:55 +01:00
Daniel Kolesa 3edcafd9a6 rename string range types to new style 2017-02-16 19:07:14 +01:00
Daniel Kolesa c88660a854 standard way to retrieve range type from ranged_traits + minor fixes 2017-02-15 19:18:57 +01:00
Daniel Kolesa 08e980cd0a start cleaning up the range system for nicer syntax 2017-02-13 23:33:52 +01:00
Daniel Kolesa fd6a47c223 re-add zero-argument format impl and fix char_traits usage for const char ranges 2017-02-12 23:02:49 +01:00
Daniel Kolesa 946cf9d3fe use char_traits in string range types 2017-02-09 21:39:35 +01:00
Daniel Kolesa 2d5c4cab3f clean up pointer/string ranges 2017-02-09 21:27:20 +01:00
Daniel Kolesa c5dd6bb8c3 remove obsolete type traits 2017-02-09 20:56:15 +01:00
Daniel Kolesa 79809a610b remove functional.hh 2017-02-08 01:06:50 +01:00
Daniel Kolesa 0842a24cd3 complete template param support for all ranged make_ funcs and ranged_traits 2017-02-01 20:56:29 +01:00
Daniel Kolesa 62b0c2ecf7 hash operator() needs to be const 2017-01-30 19:31:24 +01:00
Daniel Kolesa 0ee0d3231c use standard types 2017-01-30 19:23:12 +01:00
Daniel Kolesa 2884f4b47b use size_t and ptrdiff_t 2017-01-30 19:11:49 +01:00
Daniel Kolesa 1db7529ad9 remove custom hashing 2017-01-30 18:56:38 +01:00
Daniel Kolesa 343c684820 initial proper string integration 2017-01-30 01:16:29 +01:00
Daniel Kolesa 632147c5fb bump compiler 2017-01-29 21:22:40 +01:00
Daniel Kolesa 2c7f98f57e use standard swap 2017-01-29 15:56:02 +01:00
Daniel Kolesa a8f7122d45 use standard declval 2017-01-29 15:29:11 +01:00
Daniel Kolesa c8c24300ee fully use standard tuples 2017-01-28 19:06:52 +01:00
Daniel Kolesa 2e7bba2c95 remove Pair, more standard tuple usage etc 2017-01-28 18:52:34 +01:00
Daniel Kolesa 7e96183648 start moving over to standard tuple 2017-01-28 18:30:31 +01:00
Daniel Kolesa 56a3327dce use standard vector and move/forward 2017-01-25 01:57:24 +01:00
Daniel Kolesa e7c6032edb add initial numeric limits implementation (type-generic min/max/etc) 2016-11-15 22:46:03 +01:00
Daniel Kolesa 9e609e0057 rename disown to release (consistent with other places) 2016-09-18 19:30:55 +02:00
Daniel Kolesa cd748bd44a remove unneeded code 2016-09-02 17:21:35 +01:00
Daniel Kolesa c4039fa56f add case insensitive string compare 2016-09-02 00:06:13 +01:00
Daniel Kolesa 17365642ef actually safe string cmp 2016-08-18 00:35:21 +01:00
Daniel Kolesa c7862243a8 avoid UB in string compare 2016-08-17 18:18:12 +01:00
Daniel Kolesa 8afffc1fb7 refactoring, style updates, various fixes 2016-07-31 20:40:25 +01:00
Daniel Kolesa 47ed1a700c don't use classic style casts 2016-07-02 04:57:23 +01:00
Daniel Kolesa 676f76acee string element append fix and OS X support note 2016-06-27 19:18:31 +01:00
Daniel Kolesa 7912c24e3a const syntax refactoring 2016-06-23 19:18:35 +01:00
Daniel Kolesa 46d8844a49 return fix 2016-05-24 01:30:11 +01:00
Daniel Kolesa 5189bab1af simplify string operator+= for T 2016-05-22 15:31:11 +01:00
Daniel Kolesa d9bd0f8380 restrict string operator+ (conflicts with range offset) 2016-05-21 15:36:14 +01:00
Daniel Kolesa a5c4b9d3ca global concat op for strings 2016-05-07 17:25:40 +01:00
Daniel Kolesa 6c840ad830 implement zip and tuple ToString 2016-03-27 23:49:57 +01:00
Daniel Kolesa 54789177e2 no need for a typedef 2016-03-24 21:52:16 +00:00
Daniel Kolesa 60a04937c6 string range optimizations 2016-03-23 22:32:30 +00:00
Daniel Kolesa a31ddba522 range fixes 2016-03-23 22:27:46 +00:00
Daniel Kolesa 9de9d99d4d fixes 2016-03-22 01:13:43 +00:00
Daniel Kolesa e48642659d generalize temp cstrings for any range type 2016-03-21 21:21:41 +00:00
Daniel Kolesa 4854242918 typo fix 2016-03-20 20:23:26 +00:00
Daniel Kolesa 6c4fd3d8ae this doesn't actually happen 2016-03-19 20:23:46 +00:00
Daniel Kolesa a63cf1edb1 add experimental api to turn unterminated string ranges to terminated c strings 2016-03-19 19:52:46 +00:00
Daniel Kolesa b66c684add add trailing newlines 2016-02-07 21:19:20 +00:00
Daniel Kolesa 5902299a1d convert the remaining usage of Constant and all the remaining public traits 2016-01-20 19:05:11 +00:00
Daniel Kolesa 8a1671f6ea convert most of the rest to template vars 2016-01-20 18:42:29 +00:00
Daniel Kolesa 9e4d475488 rename IntegralConstant to Constant 2016-01-16 18:31:58 +00:00
Daniel Kolesa 818cbe376a convert the remaining type_traits.hh checking traits to constexpr bools 2016-01-13 18:09:21 +00:00
Daniel Kolesa a6744105dc convert range checks to template vars 2016-01-13 17:42:37 +00:00
Daniel Kolesa 9b11c1d319 convert IsSame to template variable 2016-01-12 22:24:40 +00:00
Daniel Kolesa d53556d336 convert a part of type traits to template variables (reduces verbosity in a lot of places) 2016-01-12 21:45:26 +00:00
Daniel Kolesa 02e7ae76a2 add ostd::starts_with to string library 2015-12-31 16:36:41 +01:00
Daniel Kolesa 0fae09907e string fixes + add advance() 2015-08-07 03:12:00 +01:00
Daniel Kolesa 44d2600067 fix warning when passing nullptr constant 2015-08-07 00:08:59 +01:00
Daniel Kolesa 661bd5244e null checks 2015-08-06 23:57:40 +01:00
Daniel Kolesa 8ba91c12fe string clear check 2015-08-05 21:58:06 +01:00
Daniel Kolesa 50a8562d20 ensure correct ctor overload resolution on char/pointer range for two pointers vs pointer plus size when passed int (or similar) 2015-08-05 02:09:44 +01:00
Daniel Kolesa bcb5f64250 str fixes 2015-08-01 04:29:26 +01:00
Daniel Kolesa 49af758238 explicit overloads of operator= on string for ptr/array because c++ type system blows 2015-08-01 04:19:37 +01:00
Daniel Kolesa c66fa7c7bf forgot inline 2015-08-01 03:08:11 +01:00
Daniel Kolesa 841000d4d8 better string append() and operator+= (easy ranged append) 2015-07-25 02:34:07 +01:00
Daniel Kolesa 6c28e6dd66 fixed typo 2015-07-25 02:07:51 +01:00
Daniel Kolesa 178e6d2ae2 remove AnyString 2015-07-25 01:35:36 +01:00
Daniel Kolesa 90bc301487 reliable and simple string relational operators that work on ConstCharRange 2015-07-24 19:43:39 +01:00
Daniel Kolesa 7ede73f4dc sink based concat() (no allocation in-func) 2015-07-23 02:05:08 +01:00
Daniel Kolesa 287bdbd312 contiguous ranges provide the data() method to retrieve a pointer to the sequence 2015-07-23 01:32:22 +01:00
Daniel Kolesa 7fc4ce0a3a new range category: ContiguousRange (guaranteed to be backed by contiguous memory) 2015-07-23 01:28:25 +01:00
Daniel Kolesa ad2d69e83d use a sink for to_string methods on objects (no extra allocs) 2015-07-23 00:44:23 +01:00
Daniel Kolesa 9446470f3c use ConstCharRange for concat separator 2015-07-22 21:10:04 +01:00
Daniel Kolesa 13ca140b63 string ctor for pointer and literal because c++ semantics suck 2015-07-22 21:01:02 +01:00
Daniel Kolesa 161ab5be85 cleaned up constructors/assign ops for string and vector 2015-07-22 20:51:12 +01:00