License
Distributed under the
Boost Software License 1.0.
(See accompanying file LICENSE)
D header file for interaction with C++ std::string.
(See accompanying file LICENSE)
(const(T)[] str, ref const(allocator_type) al)(const(T)[] str)(const ref basic_string str)(DefaultConstruct)(const(T)[] str, ref const(allocator_type) al)(const(T)[] str)(const(T)[] str, ref const(allocator_type) al)(const(T)[] str)()()()Character traits classes specify character properties and provide specific semantics for certain operations on characters and sequences of characters.
D language counterpart to C++ std::basic_string.
C++ reference: https://en.cppreference.com/w/cpp/string/basic_string
size_type nposbool opEquals(scope const ref basic_string s) const pure nothrow @safeTwo `basic_string`s are equal if they represent the same sequence of code units.int opCmp(scope const ref basic_string rhs) const pure nothrow @safePerforms lexicographical comparison.size_t toHash() const @nogc nothrow pure @safeHash to allow `basicstring`s to be used as keys for built-in associative arrays. *The result will generally not be the same as C++ `std::hash<std::basicstring<T>>`.*void clear()void resize(size_type n, T c = T(0)) @trustedbasic_string opAssign()(auto ref basic_string str) refbasic_string opAssign(const(T)[] str) refbasic_string opAssign(T c) refbasic_string opIndexAssign(T c, size_t index) refbasic_string opIndexAssign(T c, size_t[2] slice) refbasic_string opIndexAssign(const(T)[] str, size_t[2] slice) refbasic_string opIndexAssign(T c) refbasic_string opIndexAssign(const(T)[] str) refbasic_string opIndexOpAssign(string op)(T c, size_t index) refbasic_string opIndexOpAssign(string op)(T c, size_t[2] slice) refbasic_string opIndexOpAssign(string op)(const(T)[] str, size_t[2] slice) refbasic_string opIndexOpAssign(string op)(T c) refbasic_string opIndexOpAssign(string op)(const(T)[] str) refbasic_string append(T c) refbasic_string opOpAssign(string op : "~")(const(T)[] str) refbasic_string opOpAssign(string op : "~")(T c) refbasic_string insert(size_type pos, ref const(basic_string) str) refbasic_string insert(size_type pos, ref const(basic_string) str, size_type subpos, size_type sublen) ref @trustedbasic_string insert(S : size_type)(S pos, const(T) * s) refbasic_string insert(size_type pos, const(T)[] s) refbasic_string erase(size_type pos = 0) refbasic_string erase(size_type pos, size_type len) refbasic_string replace()(size_type pos, size_type len, auto ref basic_string str) refbasic_string replace()(size_type pos, size_type len, auto ref basic_string str,
size_type subpos, size_type sublen = npos) refbasic_string replace(size_type pos, size_type len, const(value_type)[] s) refbasic_string replace(S : size_type)(S pos, size_type len, const(value_type) * s) refvoid push_back(T c) @trustedvoid pop_back()this()MSVC allocates on default initialisation in debug, which can't be modelled by D `struct`size_type _M_lengthsize_type _M_capacity_Atomic_word _M_refcount_Rep_base basesize_type _S_max_sizeT _S_terminalsize_type[(_Rep_base.sizeof + T.sizeof + size_type.sizeof - 1) / size_type.sizeof] _S_empty_rep_storagevoid _M_set_sharable() nothrowvoid _M_set_length_and_sharable(size_type __n) nothrowT * _M_grab(ref allocator_type __alloc1, const ref allocator_type __alloc2)_Rep * _S_create(size_type __capacity, size_type __old_capacity, ref Alloc __alloc)void _M_dispose(ref Alloc __a)void _M_destroy(ref Alloc __a)T * _M_clone(ref Alloc __alloc, size_type __res = 0)T[_S_local_capacity + 1] _M_local_bufsize_type _M_allocated_capacity__long __lx__short __lxxsize_type[__n_words] __wordsvoid reserve(size_type _Newcap = 0)void shrink_to_fit()void swap(ref basic_string _Right)void _Become_small()basic_string _Reallocate_for(_ArgTys...)(size_type _New_size, void function(pointer, size_type, _ArgTys) nothrow @nogc _Fn, _ArgTys _Args) refbasic_string _Reallocate_grow_by(_ArgTys...)(size_type _Size_increase, void function(pointer, const(T)[], _ArgTys) nothrow @nogc _Fn, _ArgTys _Args) refvoid _Tidy_deallocate()void _Swap_data(bool _memcpy : true)(ref basic_string _Right)void _Swap_data(bool _memcpy : false)(ref basic_string _Right)void _Swap_bx_large_with_small(ref _Scary_val _Starts_large, ref _Scary_val _Starts_small)void reserve(size_type __res = 0)void swap(ref basic_string __s)void eos(size_type offset)T * _S_construct(const(T) * __beg, const(T) * __end, ref Alloc __a)basic_string _M_replace_safe(size_type __pos1, size_type __n1, const(T) * __s, size_type __n2) refvoid _M_mutate(size_type __pos, size_type __len1, size_type __len2)void reserve(size_type __res = 0)void swap(ref basic_string __s)void _M_set_length(size_type __n)void __alloc_on_swap()(ref allocator_type __a) if (!is_empty!allocator_type.value)void __alloc_on_swap()(ref allocator_type __a) if (is_empty!allocator_type.value)void _M_construct(const(T) * __beg, size_type __dnew)pointer _M_create(ref size_type __capacity, size_type __old_capacity)basic_string _M_replace(size_type __pos, size_type __len1, const(T) * __s, const size_type __len2) refvoid _M_mutate(size_type __pos, size_type __len1, const(T) * __s, size_type __len2)void _M_dispose()void _M_destroy(size_type __size)void _S_move(T * __d, const(T) * __s, size_type __n)void _S_copy(T * __d, const(T) * __s, size_type __n)void reserve(size_type __res_arg = 0)void shrink_to_fit()void swap(ref basic_string __str)void __init(const(value_type) * __s, size_type __sz)void __init(const(value_type) * __s, size_type __sz, size_type __reserve)void __grow_by_and_replace(size_type __old_cap, size_type __delta_cap, size_type __old_sz, size_type __n_copy,
size_type __n_del, size_type __n_add, const(value_type) * __p_new_stuff)void __grow_by(size_type __old_cap, size_type __delta_cap, size_type __old_sz,
size_type __n_copy, size_type __n_del, size_type __n_add = 0)Default = DefaultConstruct()Constructor argument for default construction
_Can_memcpy_val = is(_Traits == char_traits!E, E) && is(pointer == U *, U)_Memcpy_val_offset = _Size_after_ebco_v!_Container_base_Memcpy_val_size = _Scary_val.sizeof - _Memcpy_val_offset_String_alloc!(_String_base_types!(T, Alloc)) _BaseT * _M_ppointer _M_psize_type _M_string_length_S_local_capacity = 15 / T.sizeof__alignment = 16__n_words = __ulx.sizeof / size_type.sizeof__compressed_pair!(__rep, allocator_type) __r_