core.stdcpp.string
  D header file for interaction with C++ std::string. 
- License:
- Distributed under the Boost Software License 1.0. (See accompanying file LICENSE) 
- Authors:
- Guillaume Chatelet Manu Evans 
- Source
-  core/stdcpp/string.d
- enum DefaultConstruct Default; 
- 
Constructor argument for default construction 
- struct char_traits(CharT); 
- 
Character traits classes specify character properties and provide specific semantics for certain operations on characters and sequences of characters. 
- struct basic_string(T, Traits = char_traits!T, Alloc = allocator!T); 
- 
D language counterpart to C++ std::basic_string.  C++ reference:  
- enum size_type npos; 
- alias size_type = size_t; 
- alias difference_type = ptrdiff_t; 
- alias value_type = T; 
- alias traits_type = Traits; 
- alias allocator_type = Alloc; 
- alias pointer = value_type*; 
- alias const_pointer = const(value_type)*; 
- alias toString = as_array; 
- this(); 
- 
MSVC allocates on default initialisation in debug, which can't be modelled by D struct
 
- alias length = size; 
- alias opDollar = length; 
- const nothrow @safe bool empty(); 
- const pure nothrow @nogc @safe size_t[2] opSlice(size_t dim : 0)(size_t start, size_t end); 
- inout pure nothrow @nogc ref @safe inout(T) opIndex(size_t index); 
- inout pure nothrow @nogc @safe inout(T)[] opIndex(size_t[2] slice); 
- inout pure nothrow @nogc @safe inout(T)[] opIndex(); 
- void clear(); 
- @trusted void resize(size_type n, T c = T(0)); 
- inout nothrow ref @safe inout(T) front(); 
- inout nothrow ref @safe inout(T) back(); 
- const nothrow @safe const(T)* c_str(); 
- ref basic_string opAssign()(auto ref basic_string str); 
- ref basic_string opAssign(const(T)[] str); 
- ref basic_string opAssign(T c); 
- ref basic_string opIndexAssign(T c, size_t index); 
- ref basic_string opIndexAssign(T c, size_t[2] slice); 
- ref basic_string opIndexAssign(const(T)[] str, size_t[2] slice); 
- ref basic_string opIndexAssign(T c); 
- ref basic_string opIndexAssign(const(T)[] str); 
- ref basic_string opIndexOpAssign(string op)(T c, size_t index); 
- ref basic_string opIndexOpAssign(string op)(T c, size_t[2] slice); 
- ref basic_string opIndexOpAssign(string op)(const(T)[] str, size_t[2] slice); 
- ref basic_string opIndexOpAssign(string op)(T c); 
- ref basic_string opIndexOpAssign(string op)(const(T)[] str); 
- ref basic_string append(T c); 
- ref basic_string opOpAssign(string op : "~")(const(T)[] str); 
- ref basic_string opOpAssign(string op : "~")(T c); 
- ref basic_string erase(size_type pos = 0); 
- ref basic_string erase(size_type pos, size_type len); 
- @trusted void push_back(T c); 
- void pop_back(); 
- this(DefaultConstruct); 
- this(const(T)[] str); 
- this(const(T)[] str, ref const(allocator_type) al); 
- inout ref inout(Alloc) get_allocator(); 
- const nothrow @safe size_type max_size(); 
- const nothrow @safe size_type size(); 
- const nothrow @safe size_type capacity(); 
- inout @safe inout(T)* data(); 
- inout nothrow @trusted inout(T)[] as_array(); 
- inout nothrow ref @trusted inout(T) at(size_type i); 
- ref basic_string assign(const(T)[] str); 
- ref basic_string append(const(T)[] str);