| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2019-04-14 | Pass allocator in all HashTable/Set constructors | Eugen Wissner | |
| 2019-04-05 | Make Array.get system function | Eugen Wissner | |
| .get() returns a memory block that can be changed if the original array is manipulated after getting the slice. So the slice returned by .get() may allow access to invalid memory. | |||
| 2019-04-03 | Refactor allSatisfy, anySatisfy, staticIndexOfv0.16.1 | Eugen Wissner | |
| 2019-03-29 | Merge pull request #84 from n8sh/inoutConstIteration | Eugene Wissner | |
| In tanya.algorithm.iteration.take & retro preserve const/inout for `empty`/`front`/etc. | |||
| 2019-03-24 | Add meta.trait.hasFunctionAttributes | Eugen Wissner | |
| 2019-03-23 | In tanya.algorithm.iteration.take & retro preserve const/inout for ↵ | Nathan Sashihara | |
| `empty`/`front`/etc. | |||
| 2019-03-23 | Add DIP25 compatibility. Fix #83 | Eugen Wissner | |
| 2019-03-22 | Move memory/package.d into memory.allocator | Eugen Wissner | |
| 2019-03-21 | Fix MmapPool private tests; move remaining tests | Eugen Wissner | |
| 2019-03-20 | algorithm: import searching publically | Eugen Wissner | |
| 2019-03-19 | net: Add missing public imports, move tests | Eugen Wissner | |
| 2019-03-19 | Separate non-documentation tests from the code | Eugen Wissner | |
| 2019-03-17 | Move memory functions into memory.lifecycle | Eugen Wissner | |
| - move - moveEmplace - forward - emplace - swap | |||
| 2019-03-16 | Move memory exception into memory.lifecycle | Eugen Wissner | |
| 2019-03-05 | Make subpackages of os, sys and encoding | Eugen Wissner | |
| 2019-03-02 | Move meta into a separate subpackage | Eugen Wissner | |
| 2019-03-01 | net.ip.Address6.toString() recommended notationv0.16.0 | Eugen Wissner | |
| Fix #65. | |||
| 2019-02-25 | algorithm.iteration: Add singleton() | Eugen Wissner | |
| ... iterating over a single value. | |||
| 2019-02-24 | range.adapter: new arrayInserter | Eugen Wissner | |
| 2019-02-19 | format.sformat: Support range-based toString() | Eugen Wissner | |
| 2019-02-16 | net.ip: Implement .toString() with output ranges | Eugen Wissner | |
| 2019-02-16 | range.adapter: Add container-range adapters. Fix #67 | Eugen Wissner | |
| 2019-02-12 | Use word-wise hash instead of FNV-1a for arrays of word-aligned scalars | Nathan Sashihara | |
| Also special case int-aligned scalars on 64-bit machines. On a 64-bit machine hashing an array of pointers is now ~5.95x faster with LDC2 and ~8.54x faster with DMD, and hashing an array of ints is ~3.34x faster with LDC2 and ~8.12x faster with DMD. | |||
| 2019-02-12 | Add sformat() writing to an output range | Eugen Wissner | |
| 2019-02-11 | Update dmd to 2.084.1 | Eugen Wissner | |
| 2019-02-06 | Deprecate InputRange source for OutputRanges | Eugen Wissner | |
| An output range for E won't be automatically an output range for [E] anymore. The same, an output range for [E] won't be automatically an output range for E. Automatic E <-> [E] conversion seems to be a nice feature at first glance, but it causes much ambiguity. 1) If I want that my output range accepts only UTF-8 strings but not single characters (because it could be only part of a code point and look like broken UTF-8 without the remaining code units), I can't do it because an OutputRange(R, E) can't distinguish between char and string. 2) Here is an example from 2013: import std.range; import std.stdio; Appender!(const(char)[][]) app; put(app, "aasdf"); put(app, 'b'); writeln(app.data); This outputs: ["aasdf", "\0"]. Whether it is a common case or not, such code just shouldn't compile. | |||
| 2019-02-04 | Deprecate put() as an OutputRange primitive | Eugen Wissner | |
| 2019-02-01 | move(): Give compiler an opportunity to optimizev0.15.0 | Eugen Wissner | |
| Fix #75. | |||
| 2019-01-31 | typecons.Variant: Make public. Fix #73 | Eugen Wissner | |
| 2019-01-30 | typecons.Option: Deprecate alias this | Eugen Wissner | |
| 2019-01-29 | typecons.Option: Fix assigning nothing | Eugen Wissner | |
| 2019-01-28 | meta.metafunction: Add Enumerate and EnumerateFrom | Eugen Wissner | |
| 2019-01-27 | Call postblit when emplacing a struct. Fix #81 | Eugen Wissner | |
| 2019-01-25 | net.ip.Address: Address4/Address6 compatibility | Eugen Wissner | |
| 2019-01-24 | net.ip: Add Address4 and Address6 wrapper | Eugen Wissner | |
| 2019-01-09 | Merge remote-tracking branch 'n8sh/retro-slicing' | Eugen Wissner | |
| 2019-01-08 | retro supports slicing if source range supports slicing | Nathan Sashihara | |
| 2018-12-21 | Remove deprecated memory.op.cmp and Entropy class | Eugen Wissner | |
| 2018-12-18 | container.array: Fix assigning non-copyable valuesv0.14.0 | Eugen Wissner | |
| Fix #59. | |||
| 2018-12-17 | Update dmd to 2.083.1 | Eugen Wissner | |
| 2018-11-24 | Make containers work with non-copyable elements | Eugen Wissner | |
| It is the first step. The containers can be at least created with non-copyable structs without compilation errors now. Fix #69. | |||
| 2018-11-23 | Fix emplacing POD structs | Eugen Wissner | |
| 2018-11-19 | range.primitive: Support non copyable elements | Eugen Wissner | |
| ... in all ranges. | |||
| 2018-11-18 | Add test.stub. Fix #51 | Eugen Wissner | |
| 2018-11-13 | Disable length when taking from a lengthless range | Eugen Wissner | |
| Fix #79. | |||
| 2018-11-12 | Add algorithm.mutation.rotate | Eugen Wissner | |
| 2018-11-11 | Add support for DMD 2.083.0 | Eugen Wissner | |
| 2018-11-07 | Merge remote-tracking branch 'n8sh/take-slice' | Eugen Wissner | |
| 2018-11-06 | Merge remote-tracking branch 'retro-retro' | Eugen Wissner | |
| 2018-11-05 | take(take(range,...),n) is take(range, n) and use slicing in `take` like in ↵ | Nathan Sashihara | |
| `takeExactly` Also take!R is the same as takeExactly!R when isInfinite!R. | |||
