Commit graph

65 commits

Author SHA1 Message Date
q66 ff90009450 get rid of stupid Type suffixes (we already know it's a type from the name) 2015-06-03 20:00:41 +01:00
q66 bfc94e31d7 uglify the code by using unique identifiers only (prevent macro conflicts) 2015-06-02 00:57:34 +01:00
q66 8bfd38f2e6 remove unused vars 2015-06-01 02:39:19 +01:00
q66 67600c4637 first -> front, last -> back 2015-06-01 01:13:37 +01:00
q66 ca5d80189a RangeOf template to get a range for the given type 2015-06-01 00:33:59 +01:00
q66 51b210e1d6 cleanups 2015-05-30 01:46:50 +01:00
q66 9f37057e51 cleanups 2015-05-30 01:09:13 +01:00
q66 cb1bf48aaa allow range traits to work on halves 2015-05-29 23:48:05 +01:00
q66 3c6ef6e593 initial support for "range halves" ("range iterator") 2015-05-29 23:32:25 +01:00
q66 15507e0143 remove useless equality/inequality operators on ranges 2015-05-29 21:49:07 +01:00
q66 a54db37a9c get const right on ranges 2015-05-29 20:21:35 +01:00
q66 26f83b9efb pop_first() and pop_last() now return bool instead of void (true if popped, false if not) 2015-05-29 20:02:40 +01:00
q66 38fc61481a initial support for "range extension" - i.e. push_first and push_last methods (+ push_first_n, push_last_n) 2015-05-29 19:52:20 +01:00
q66 2f035f44ce simplify PointerRange more 2015-05-29 00:30:27 +01:00
q66 f96764fad0 simplify PointerRange 2015-05-29 00:01:24 +01:00
q66 a49716034e begin to_string infra 2015-05-28 02:38:52 +01:00
q66 1371a32db7 use size() instead of length() 2015-05-27 23:19:16 +01:00
q66 07881f2a4f octa::chunks 2015-05-27 20:56:44 +01:00
q66 d2f48ea0a5 octa::take 2015-05-27 20:45:34 +01:00
q66 029575d4a6 add octa::each 2015-05-26 19:25:20 +01:00
q66 fe6325d5e3 check for input range before checking for put() - avoid potential false positives 2015-05-23 22:27:57 +01:00
q66 329aefdecd IsOutputRange will now test for presence of the right 'put' method, enabling IsOutputRange tests on hybrid ranges (i.e. input ranges that satisfy output requirements) 2015-05-23 22:24:12 +01:00
q66 7589a93539 add some traits to check range for range types including proper type inheritance 2015-05-23 20:33:08 +01:00
q66 8908ac0506 new range category: FiniteRandomAccessRange 2015-05-23 20:00:03 +01:00
q66 b90fce8d84 Revert "add range difference type"
This reverts commit 4adbeb4e1b.
2015-05-23 17:56:08 +01:00
q66 4adbeb4e1b add range difference type 2015-05-23 17:40:36 +01:00
q66 9c3486903d add optional pop_first_n and pop_last_n methods on ranges 2015-05-23 17:36:26 +01:00
q66 64810e4006 remove the noexcept stuff; nothing in octastd ever throws 2015-05-20 22:05:41 +01:00
q66 6a8dec424a range fixes 2015-05-08 02:03:48 +01:00
q66 ff9c78c1d4 fix 2015-05-07 21:07:06 +01:00
q66 98e7566ad9 coding style 2015-05-03 23:44:48 +01:00
q66 2d10cd9280 ditch RangeTraits for alias definitions 2015-05-03 21:54:26 +01:00
q66 b1192b248c noexcept formatting 2015-04-29 01:38:16 +01:00
q66 1a2d606ae7 noexcept the library 2015-04-28 18:48:58 +01:00
q66 de7ceba269 minor renames 2015-04-27 19:56:06 +01:00
q66 e98b8946ae define size_type for ranges 2015-04-27 19:53:48 +01:00
q66 d7778cf259 ditch the separate "type" struct 2015-04-27 19:38:34 +01:00
q66 f106c5ae24 get rid of namespace internal 2015-04-24 18:16:35 +01:00
q66 ff5fc7368d add EnumeratedRange + octa::enumerate 2015-04-21 17:58:36 +01:00
q66 6807d22df5 satisfy OutputRange on MoveRange and PointerRange (might be mutable), add more algorithms 2015-04-21 17:56:36 +01:00
q66 ed0b28f2e0 add PointerRange constructor for pointer + length 2015-04-19 20:53:02 +01:00
q66 58063fe392 add min, max, min_element, max_element in algorithm.h; rename VectorRange to PointerRange and move to range.h (useful as generic, e.g. with InitializerList) 2015-04-19 00:04:17 +01:00
q66 dc2dacaf5d add slicing for finite random access ranges 2015-04-18 22:05:24 +01:00
q66 35424dd248 assignment op overloads for reverserange/moverange (c++ deletes them because of move ctor) 2015-04-18 20:31:07 +01:00
q66 296b7cdeb9 move move/forward to utility.h 2015-04-18 00:11:16 +01:00
q66 32d925d298 define support for OutputRange 2015-04-17 21:33:01 +01:00
q66 c9b7afc035 add NumberRange specialization for 1 argument (creates a "[0, v)" range) 2015-04-17 20:33:36 +01:00
q66 1557c227d0 remove range traits pointer specializations, as a pointer is not a range... also remove the pointer member type 2015-04-17 20:29:38 +01:00
q66 0116d3cf4c equality checking for NumberRange 2015-04-17 20:20:38 +01:00
q66 37aa387734 use inheritance to guarantee iterable behavior (also shortens code) 2015-04-17 20:15:03 +01:00