Standard C++ Library Class Reference
Interface
template <class charT,
 class traits = string_char_traits<charT>,
 class Allocator = allocator>
class basic_string {
public:
// Types
typedef traits traits_type;
typedef typename traits::char_type value_type;
typedef Allocator allocator_type;
typename size_type;
typename difference_type;
typename reference;
typename const_reference;
typename pointer;
typename const_pointer;
typename iterator;
typename const_iterator;
typename const_reverse_iterator;
typename reverse_iterator;
static const size_type npos = -1;
// Constructors/Destructors
explicit basic_string(const Allocator& = Allocator());
basic_string(const basic_string&, size_type, size_type = npos);
basic_string(const charT*, size_type,
 const Allocator& = Allocator());
basic_string(const charT*, Allocator& = Allocator());
basic_string(size_type, charT,
 const Allocator& = Allocator());
template <class InputIterator>
basic_string(InputIterator, InputIterator,
 const Allocator& = Allocator());
~basic_string();
// Assignment operators
 basic_string& operator=(const basic_string&);
 basic_string& operator=(const charT*);
 basic_string& operator=(charT);
// Iterators
 iterator begin();
 const_iterator begin() const;
 iterator end();
 const_iterator end() const;
 reverse_iterator rbegin();
 const_reverse_iterator rbegin() const;
 reverse_iterator rend();
 const_reverse_iterator rend() const;
// Capacity
 size_type size() const;
 size_type length() const;
 size_type max_size() const;
 void resize(size_type, charT);
 void resize(size_type);
 size_type capacity() const;
 void reserve(size_type);
 bool empty() const;
// Element access
 charT operator[](size_type) const;










