API documentation

btl.autoptr.common Common code shared with other btl.autoptr modules .
btl.autoptr.global_ptr Implementation of pointer to static/GC data GlobalPtr.
btl.autoptr.intrusive_ptr Implementation of intrusive reference counted pointer IntrusivePtr (similar to c++ std::enable_shared_from_this).
btl.autoptr.rc_ptr Implementation of non aliasable reference counted pointer RcPtr (similar to c++ std::shared_ptr without aliasing).
btl.autoptr.shared_ptr Implementation of reference counted pointer SharedPtr (similar to c++ std::shared_ptr).
btl.autoptr.unique_ptr Implementation of unique pointer UniquePtr (alias to RcPtr with immutable control block).
btl.traits.assume TODO
btl.traits.common TODO
btl.traits.range Ranges with non copyable elements.
btl.vector.flat_map Implementation of associative container that supports unique keys FlatMap (similar to c++ boost::flat_map).
btl.list Implementation of linked list List (similar to c++ std::list and std::forward_list).
btl.string Mutable @nogc @safe string struct using std.experimental.allocator for allocations.
btl.vector Implementation of dynamic array Vector (similar to c++ std::vector and folly::small_vector).