Standard C++ Library Reference ISO/IEC (VERSION3)

ptr (which must not be a null pointer), where the terminating element is the value
value_type() and is not part of the operand sequence
ptr, count -- a sequence of count elements beginning at ptr (which must not be a
null pointer)
right -- the sequence specified by the basic_string object right
right, roff, count -- the substring of the basic_string object right with up
to count elements (or through the end of the string, whichever comes first) beginning at
position roff
first, last -- a sequence of elements delimited by the iterators first and last, in
the range [first, last), which may overlap the sequence controlled by the string
object whose member function is being called
If a position argument (such as roff above) is beyond the end of the string on a call to a
basic_string member function, the function reports an out-of-range error by throwing an
object of class out_of_range.
If a function is asked to generate a sequence longer than max_size() elements, the function
reports a length error by throwing an object of class length_error.
References, pointers, and iterators that designate elements of the controlled sequence can become
invalid after any call to a function that alters the controlled sequence, or after the first call to the
non-const member functions at, begin, end, operator[], rbegin, or rend. (The idea is to
permit multiple strings to share the same representation until one string becomes a candidate for
change, at which point that string makes a private copy of the representation, using a discipline
called copy on write.)
basic_string::allocator_type
typedef Alloc allocator_type;
The type is a synonym for the template parameter Alloc.
basic_string::append
basic_string& append(const value_type *ptr);
basic_string& append(const value_type *ptr,
size_type count);
basic_string& append(const basic_string& right,
size_type roff, size_type count);
basic_string& append(const basic_string& right);
basic_string& append(size_type count, value_type ch);
template<class InIt>
basic_string& append(InIt first, InIt last);
If InIt is an integer type, the template member function behaves the same as
append((size_type)first, (value_type)last). Otherwise, the member functions