summaryrefslogtreecommitdiff
path: root/source
AgeCommit message (Collapse)Author
2018-12-18container.array: Fix assigning non-copyable valuesv0.14.0Eugen Wissner
Fix #59.
2018-11-24Make containers work with non-copyable elementsEugen 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-23Fix emplacing POD structsEugen Wissner
2018-11-19range.primitive: Support non copyable elementsEugen Wissner
... in all ranges.
2018-11-18Add test.stub. Fix #51Eugen Wissner
2018-11-13Disable length when taking from a lengthless rangeEugen Wissner
Fix #79.
2018-11-12Add algorithm.mutation.rotateEugen Wissner
2018-11-07Merge remote-tracking branch 'n8sh/take-slice'Eugen Wissner
2018-11-06Merge remote-tracking branch 'retro-retro'Eugen Wissner
2018-11-05take(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.
2018-11-05retro(retro(range)) is rangeNathan Sashihara
2018-11-05Use inout in tanya.range.array functionsNathan Sashihara
This is to reduce distinct generated functions in final executable. Also add `scope` and `return` to function parameters.
2018-11-04Add range primitive sameHeadEugen Wissner
2018-10-30memory.op.equal: Fix parameter documentationEugen Wissner
2018-10-29algorithm.mutation.destroyAll: Newv0.13.0Eugen Wissner
Fix #71.
2018-10-25Add FNV constants for size_t == ucentNathan Sashihara
2018-10-24Add algorithm.mutation.initializeAllEugen Wissner
2018-10-22Make hasLvalueElements work with non-copyableEugen Wissner
2018-10-21Use new __traits(isZeroInit) to check for a null initializer at compile time ↵Nathan Sashihara
instead of runtime
2018-10-20Add algorithm.mutation.uninitializedFillEugen Wissner
2018-10-14conv.emplace: Don't call a destructorEugen Wissner
Don't call the destructor on uninitialized elements.
2018-10-08conv.emplace: Fix emplacing structs w/o this()Eugen Wissner
2018-10-06Add algorithm.mutation.fill()Eugen Wissner
2018-10-05Deprecate Entropy (leaving platform sources alone)Eugen Wissner
Also introduces unavoidable breaking change in EntropySource interface: poll() returns Option!ubyte instead of Nullable.
2018-10-03net.ip: Parse embedded Ipv4. Fix #64Eugen Wissner
2018-10-02Replace memory.op.cmp with optimized equal versionEugen Wissner
Deprecate cmp. Fix #68.
2018-09-30Add algorithm.searching.countEugen Wissner
2018-09-29Remove code deprecated in 0.11.2 and earlierEugen Wissner
- conv.to!String - meta.metafunction.Tuple - range.adapter.take - range.adapter.takeExactly - range.primitive: put()-ting input range into an output one
2018-09-28Add algorithm.iterationv0.12.0Eugen Wissner
2018-09-24net.ip: Implement opCmp. Fix #63Eugen Wissner
2018-09-23typecons: Add option constructor functionEugen Wissner
2018-09-22Add typecons.tuple(), Tuple construction functionEugen Wissner
2018-09-21functional.forward: Fix template visibility bugEugen Wissner
Because of the private template forwardOne, forward couldn't be used in other modules. forwardOne cannot be a local template either since it accepts an alias as its template parameter.
2018-09-18typecons.Option: Implement toHash forwarderEugen Wissner
2018-09-17Add predicate support for algorithm.comparison.equalEugen Wissner
2018-09-16Add bitmanip.BitFlagsEugen Wissner
2018-09-15meta.trait.EnumMembers: Fix one-member enumsEugen Wissner
Produce a tuple for an enum with only one member.
2018-09-14Introduce hash.lookup.isHashFunction traitEugen Wissner
Fix #66.
2018-09-11Implement compare algorithm. Fix #50Eugen Wissner
2018-09-08Implement IPv6 parser, fix #49v0.11.2Eugen Wissner
2018-09-06Move range.adapter to algorithms + take() bugfixesEugen Wissner
A lot of algorithms like lazy sort() can be also classified as adapters since it wraps the original range and allows to access the elements of the range in a particular order. The only reason why take() was in range.adapter is that take() is trivial - it doesn't change the order of elements but can turn an infinite range into finite one. This distinction between trivial and non-trivial algorithms isn't absolutely clear. So let us put all algorithms and any adapters that change the range iteration in some way into "algorithm" package to avoid any confusion later. - range.adapter is renamed into algorithm.iteration - range.adapter is deprecated - Added missing imports for take() and takeExactly() - takeExactly() doesn't wrap ranges that have slicing anymore - Voldemort structs for take() takeExactly() are now static
2018-09-03Use fixed dscanner versionEugen Wissner
2018-09-02net.iface: Add indexToNameEugen Wissner
2018-09-02memory.op: Add findNullTerminatedEugen Wissner
2018-09-01Parse for the main part of an IPv6 addressEugen Wissner
2018-09-01Add module for network interfacesEugen Wissner
2018-08-30Fix #60: Copying overlapping array slicesEugen Wissner
2018-08-28Add constants and syscall for if_nametoindexEugen Wissner
2018-08-22net.ip.Address4: Reject malformed addressesEugen Wissner
2018-08-12Merge remote-tracking branch 'n8sh/relax-hasher-reqs'Eugen Wissner