phobos-next 0.6.15
Various reusable D code.
To use this package, run the following command in your project's root directory:
Manual usage
Put the following dependency into your project's dependences section:
phobos-next
Additional useful containers, algorithms, wrapper types, traits etc. Several are generic enough to have a place in Phobos.
Documentation used to be generated here but it’s currently out of date and I don’t know how to update it.
Announcement here.
Includes
Extra Attributes
tlm
: "template-lazy member" meaning that this member function template is has an extra set of template parameters to delay its instantiation when it's parenting aggregate is instantiated.!tlm
: this member cannot template-lazy
Traits
- When possible builtin
__traits()
are used over templated traits to minimize template bloat. - The
__traits(isPOD, T)
is used to detect when a instance ofT
can be passed by value opposite to passed by move (typically using eithermove
ormoveEmplace
). There are plans for the compiler to perform this optimization automatically. When that is added these calls can replaced with a single assignment. For details see https://forum.dlang.org/post/rkoqrnwybgjmxuvaidlw@forum.dlang.org
Containers
trie.d
: Trie with sortedness and prefix completion(s).dynamic_array.d
: Basic uncopyable array with value semantics and explicit copying via.dup
.fixed_dynamic_array.d
: Dynamically allocated (heap) array with fixed length.minimal_static_array.d
: Minimalistic statically-sized (stack) array of length smaller than 255 fitting in anubyte
for compact packing.hybrid_hashmap.d
: Combined hashset and hashmap with open addressing and support for deletion via hole handling. Pointers and classes are stored as is with support for vacancy and hole handling. Vacancy support forstd.typecons.Nullable
.cyclic_array.d
: Cyclic array.filterarray.d
: Filter array.static_array.d
: Fixed-sized statically allocated (heap) array similar to C++std::array
.bitarray.d
: A dynamically sized (heap) bit array.static_bitarray.d
: A statically sized (stack) bit array.- ...
For reference semantics wrap uncopyable containers in std.typecons.RefCounter
.
Wrapper types
bound.d
: A wrapper for bounded types.notnull.d
: EnhancedNotNull
.digest_ex.d
: A structured wrapper for message digests.sorted.d
: A structured wrapper for sorted random access containers (arrays).- ...
Algorithms
integer_sorting.d
: Integer sorting algorithms, including radix sort.horspool.d
: Boyer-Moore-Hoorspool search.- ...
Utilities
debugio.d
: Debug printing.csunits.d
: Computer Science units.- ...
Extensions
- Various extension to Phobos (often ending with _ex.d)
- ...
License
BSL-1.0.
- 0.6.15 released 18 days ago
- nordlow/phobos-next
- github.com/nordlow/phobos-next
- BSL-1.0
- Copyright © 2023, Per Nordlöw
- Authors:
- Dependencies:
- none
- Versions:
-
0.6.15 2024-Sep-20 0.6.14 2024-Mar-19 ~main 2024-Sep-20 - Download Stats:
-
-
0 downloads today
-
0 downloads this week
-
0 downloads this month
-
784 downloads total
-
- Score:
- 0.6
- Short URL:
- phobos-next.dub.pm