btl ~master
Basic Template Library
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:
This package provides sub packages which can be used individually:
btl:traits - traits
btl:lifetime - lifetime
btl:autoptr - Smart pointers.
btl:string - Mutable @nogc string struct using `std.experimental.allocator` for allocations.
btl:vector - Dynamic array supporting custom allcoators.
btl:list - List supporting custom allcoators.
Basic Template Library
About
This is colection of packages:
- btl:autoptr: smart pointers like c++
std::shared_ptr
,std::weak_ptr
,std::enable_shared_from_this
and more. - SharedPtr reference counted pointer with support for aliasing and optional weak pointer support.
- RcPtr reference counted pointer with limited support for aliasing (but small size and lock free manipulation of pointer) and optional weak pointer support.
- IntrusivePtr reference counted pointer with reference counting inside of managed object with limited support for aliasing (but small size and lock free manipulation of pointer) and optional weak pointer support.
- UniquePtr non copyable owning pointer that owns and manages object through a pointer and disposes of that object when goes out of scope.
- GlobalPtr (beta) non-owning pointer
GlobalPtr
to global data (static, gc, ...). - btl:string mutable string with small string optimization like c++
std::basic_string
andstd::string
- BasicString Generalization of struct string with optional small string optimization for min
N
characters of type char, wchar and dchar. - SmallString Generalization of struct string with small string optimization for min
N
characters of type char, wchar and dchar. - LargeString Generalization of struct string without small string optimization for characters of type char, wchar and dchar.
- FixedString Generalization of struct string with max
N
characters of type char, wchar and dchar. - String alias to
BasicString!char
. - btl:vector dynamic array like c++
std::vector
andfolly::small_vector
- Vector sequence container with growable capacity.
- SmallVector sequence container with growable capacity that implements small buffer optimization for
N
elements. - FixedVector sequence container with max
N
elements. - btl:list (beta) linked list like c++
std::list
andstd::forward_list
- List sequence container - bidirectional linked list.
- ForwardList sequence container - single linked list.
Documentation
- https://submada.github.io/btl
Code
- https://github.com/submada/btl
- https://gitlab.com/submada/btl
Package
- https://code.dlang.org/packages/btl
History
This repository was in past divided into 3 repositories: `autoptr`, `small-vector` and `basic-string` but they shared many internal parts so I unite them under one.
- Registered by vitamin
- ~master released 2 years ago
- submada/btl
- Boost Software License - Version 1.0
- Copyright © 2022, Adam Búš
- Authors:
- Sub packages:
- btl:traits, btl:lifetime, btl:autoptr, btl:string, btl:vector, btl:list
- Dependencies:
- btl:traits, btl:lifetime, btl:autoptr, btl:string, btl:vector, btl:list
- Versions:
-
1.0.0-rc.18 2022-May-26 1.0.0-rc.17 2022-May-26 1.0.0-rc.16 2022-May-22 1.0.0-rc.15 2022-May-21 1.0.0-rc.14 2022-May-19 - Download Stats:
-
-
0 downloads today
-
0 downloads this week
-
0 downloads this month
-
121 downloads total
-
- Score:
- 1.1
- Short URL:
- btl.dub.pm