Commit Graph

895 Commits (c96d64e5baff7d518361622b67b6fc9bf4fbf0b6)

Author SHA1 Message Date
Daniel Kolesa 77f7fed0df more tests + cleaner test runner 2015-05-31 15:50:09 +01:00
Daniel Kolesa a03058391c more vector tests 2015-05-30 16:19:29 +01:00
Daniel Kolesa a33eb18ec3 initial example vector tests 2015-05-30 02:57:35 +01:00
Daniel Kolesa 4dc42a1270 initial testing stuff 2015-05-30 02:51:37 +01:00
Daniel Kolesa 51b210e1d6 cleanups 2015-05-30 01:46:50 +01:00
Daniel Kolesa 9f37057e51 cleanups 2015-05-30 01:09:13 +01:00
Daniel Kolesa cb1bf48aaa allow range traits to work on halves 2015-05-29 23:48:05 +01:00
Daniel Kolesa 3c6ef6e593 initial support for "range halves" ("range iterator") 2015-05-29 23:32:25 +01:00
Daniel Kolesa 15507e0143 remove useless equality/inequality operators on ranges 2015-05-29 21:49:07 +01:00
Daniel Kolesa a54db37a9c get const right on ranges 2015-05-29 20:21:35 +01:00
Daniel Kolesa 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
Daniel Kolesa 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
Daniel Kolesa b5f54b5cca a few more string ops 2015-05-29 01:02:46 +01:00
Daniel Kolesa 2f035f44ce simplify PointerRange more 2015-05-29 00:30:27 +01:00
Daniel Kolesa f96764fad0 simplify PointerRange 2015-05-29 00:01:24 +01:00
Daniel Kolesa c1be7f097d various ToString improvements 2015-05-28 19:58:05 +01:00
Daniel Kolesa a49716034e begin to_string infra 2015-05-28 02:38:52 +01:00
Daniel Kolesa 84336cabef tostring cleanup 2015-05-28 01:44:21 +01:00
Daniel Kolesa 324bdd154c ToString for core number types 2015-05-28 01:26:48 +01:00
Daniel Kolesa 1b75a10ec8 include <new> with OCTA_ALLOW_CXXSTD 2015-05-27 23:52:39 +01:00
Daniel Kolesa 9b98741c4d OCTA_ALLOW_CXXSTD to allow octastd to be used alongside stl (for transition and other projects) 2015-05-27 23:49:59 +01:00
Daniel Kolesa 08bb790612 stl-like initializer list interface (allow octastd to be used with stl outside of octaforge) 2015-05-27 23:46:58 +01:00
Daniel Kolesa 1371a32db7 use size() instead of length() 2015-05-27 23:19:16 +01:00
Daniel Kolesa d2ddb82499 swap args 2015-05-27 22:32:35 +01:00
Daniel Kolesa 6885006199 ToString function object + callback variant of concat 2015-05-27 22:29:57 +01:00
Daniel Kolesa c111483f1d some initial funcs 2015-05-27 22:15:24 +01:00
Daniel Kolesa 434816840b octa::concat 2015-05-27 22:09:22 +01:00
Daniel Kolesa 593acb35e4 initial octa::String 2015-05-27 21:43:13 +01:00
Daniel Kolesa 07881f2a4f octa::chunks 2015-05-27 20:56:44 +01:00
Daniel Kolesa d2f48ea0a5 octa::take 2015-05-27 20:45:34 +01:00
Daniel Kolesa 28828ff448 fix swap_ranges api to correctly handle differently sized ranges 2015-05-27 00:49:35 +01:00
Daniel Kolesa e9367246b5 completely genericized octa::swap (no need for global overloads ever) 2015-05-26 21:29:44 +01:00
Daniel Kolesa 42167fdc5a fix vector::swap 2015-05-26 21:16:59 +01:00
Daniel Kolesa 029575d4a6 add octa::each 2015-05-26 19:25:20 +01:00
Daniel Kolesa ea83f402ab octa::algorithm::{foldl,foldr} 2015-05-25 20:46:49 +01:00
Daniel Kolesa f0380a2aaf initializer list fixes 2015-05-25 19:08:53 +01:00
Daniel Kolesa ffbb7da63a unexpose insertion sort 2015-05-24 18:22:35 +01:00
Daniel Kolesa 96d2404c0e allow different return type for octa::map callbacks 2015-05-24 14:34:37 +01:00
Daniel Kolesa b2f085b9da more accurate range category for FilterRange 2015-05-24 14:16:20 +01:00
Daniel Kolesa 8718630a5a il.range() -> il.each(), add algorithm::filter(range, pred) 2015-05-24 02:31:54 +01:00
Daniel Kolesa fe6325d5e3 check for input range before checking for put() - avoid potential false positives 2015-05-23 22:27:57 +01:00
Daniel Kolesa 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
Daniel Kolesa 7589a93539 add some traits to check range for range types including proper type inheritance 2015-05-23 20:33:08 +01:00
Daniel Kolesa 8908ac0506 new range category: FiniteRandomAccessRange 2015-05-23 20:00:03 +01:00
Daniel Kolesa 3883a0da33 octa::Vector - new constructor and operator= for construction from range (+ random access specialization for efficiency) 2015-05-23 19:52:42 +01:00
Daniel Kolesa 523c0e0ad1 const correctness 2015-05-23 18:59:14 +01:00
Daniel Kolesa 7c91e1cc5b implement random access requirements on MapRange 2015-05-23 18:55:22 +01:00
Daniel Kolesa 8c96179bd6 add octa::algorithm::map 2015-05-23 18:44:06 +01:00
Daniel Kolesa b90fce8d84 Revert "add range difference type"
This reverts commit 4adbeb4e1b.
2015-05-23 17:56:08 +01:00
Daniel Kolesa 4adbeb4e1b add range difference type 2015-05-23 17:40:36 +01:00