Commit Graph

43 Commits (897f1873f7bc10173331d7946c71b4f7f70047f6)

Author SHA1 Message Date
Daniel Kolesa 8fe03741cc fix vector noexcept on gcc 4.8 2015-05-01 20:21:47 +01:00
Daniel Kolesa b1192b248c noexcept formatting 2015-04-29 01:38:16 +01:00
Daniel Kolesa 1a2d606ae7 noexcept the library 2015-04-28 18:48:58 +01:00
Daniel Kolesa 56f19204a2 style update 2015-04-27 20:23:38 +01:00
Daniel Kolesa d7778cf259 ditch the separate "type" struct 2015-04-27 19:38:34 +01:00
Daniel Kolesa 0245db3fec rename traits->type_traits 2015-04-25 16:13:21 +01:00
Daniel Kolesa 6de48f1f21 refactor traits: e.g. "RemoveCV<T>" instead of "typename RemoveCV<T>::type" 2015-04-24 20:03:16 +01:00
Daniel Kolesa cca0a62d34 use IsPOD rather than !IsClass to decide whether to memcpy etc. 2015-04-23 23:31:52 +01:00
Daniel Kolesa 6807d22df5 satisfy OutputRange on MoveRange and PointerRange (might be mutable), add more algorithms 2015-04-21 17:56:36 +01:00
Daniel Kolesa d68d381f72 move initializer lists into initializer_list.h + add new .range() method to retrieve a PointerRange to it 2015-04-20 19:06:47 +01:00
Daniel Kolesa 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
Daniel Kolesa dc2dacaf5d add slicing for finite random access ranges 2015-04-18 22:05:24 +01:00
Daniel Kolesa 35424dd248 assignment op overloads for reverserange/moverange (c++ deletes them because of move ctor) 2015-04-18 20:31:07 +01:00
Daniel Kolesa 0ac7bb4302 initial sort support + cleanups 2015-04-18 20:21:59 +01:00
Daniel Kolesa 32d925d298 define support for OutputRange 2015-04-17 21:33:01 +01:00
Daniel Kolesa 0116d3cf4c equality checking for NumberRange 2015-04-17 20:20:38 +01:00
Daniel Kolesa 37aa387734 use inheritance to guarantee iterable behavior (also shortens code) 2015-04-17 20:15:03 +01:00
Daniel Kolesa 83abf1d44b make RangeIterator more internal; strip down its unnecessary functionality; remove the iterator macro for standard containers; fixes 2015-04-17 18:33:41 +01:00
Daniel Kolesa 603cb42eca fix insert + add move_range 2015-04-16 23:26:10 +01:00
Daniel Kolesa 00175b59ad rename range insert to insert_range (prevent ambiguous calls) 2015-04-16 23:18:30 +01:00
Daniel Kolesa 1458188593 initializer-list insert for vector 2015-04-16 23:11:56 +01:00
Daniel Kolesa cb8e189450 range-based vector insert + add MoveRange that wraps any InputRange with move semantics 2015-04-16 23:06:39 +01:00
Daniel Kolesa 953e4a2afa cleanup insert + move variant 2015-04-16 22:44:37 +01:00
Daniel Kolesa 172b62fa92 use moving in insert 2015-04-16 22:33:31 +01:00
Daniel Kolesa 66f7bc90c2 range category tags + cleanup 2015-04-16 21:50:53 +01:00
Daniel Kolesa b3a49b597c define a range and const_range type for containers 2015-04-16 20:40:59 +01:00
Daniel Kolesa e1b9e208ae better constness on ranges 2015-04-16 20:35:10 +01:00
Daniel Kolesa 0ac0ec24be const stuff 2015-04-16 02:40:49 +01:00
Daniel Kolesa 1f7c5e97b3 reverse range 2015-04-16 02:07:32 +01:00
Daniel Kolesa 988b092778 actually working comparisons 2015-04-16 01:47:02 +01:00
Daniel Kolesa cb68ada121 simplify ranges a bit 2015-04-16 01:18:18 +01:00
Daniel Kolesa c27a77b611 public inheritance for ranges by default 2015-04-16 01:07:58 +01:00
Daniel Kolesa c79e5757f9 initial proof-of-concept implementation of ranges and range iterator 2015-04-16 00:18:00 +01:00
Daniel Kolesa e12b221112 use nullptr 2015-04-15 22:41:32 +01:00
Daniel Kolesa e2f43ed25e initializer list support + insert on vector 2015-04-15 22:38:35 +01:00
Daniel Kolesa 9d5acc2337 more vector utils 2015-04-15 22:09:35 +01:00
Daniel Kolesa d26db78f0d move stuff instead of copy, forward correctly in emplace_back 2015-04-14 23:14:46 +01:00
Daniel Kolesa 2f56d5b52b vector move ctor + emplace_back 2015-04-14 23:04:51 +01:00
Daniel Kolesa f70d8e792d mark explicit 2015-04-14 22:21:17 +01:00
Daniel Kolesa 16c1cc203e working basic vector implementation 2015-04-14 22:16:06 +01:00
Daniel Kolesa 844fc88b9b some core types, initial type traits 2015-04-13 22:25:31 +01:00
Daniel Kolesa 6c6e7b69f7 some vector work 2015-04-12 21:41:02 +01:00
Daniel Kolesa 323e992ea5 new namespace 2015-04-11 21:00:10 +01:00