basic_string::basic_string

basic_string(const E *s, const A& al = A());
basic_string(const E *s, size_type n, const A& al = A());
basic_string(const basic_string& rhs);
basic_string(const basic_string& rhs, size_type pos, size_type n,
    const A& al = A());
basic_string(size_type n, E c, const A& al = A());
explicit basic_string(const A& al = A());
basic_string(const_iterator first, const_iterator last,
    const A& al = A());

Each constructor stores the allocator object al (or, for the copy constructor, x.get_allocator()) in allocator and initializes the controlled sequence to a copy of the operand sequence specified by the remaining operands. The explicit constructor specifies an empty initial controlled sequence.

In this implementation, if a translator does not support member template functions, the template:

template <class InIt>
    basic_string(InIt first, InIt last, const A& al = A());

is replaced by:

basic_string(const_iterator first, const_iterator last,
    const A& al = A());