- Tumbleweed 2024.07.05-1.3
 - Leap-16.0
 
| std::basic_stringbuf::init_buf_ptrs(3) | C++ Standard Libary | std::basic_stringbuf::init_buf_ptrs(3) | 
NAME¶
std::basic_stringbuf::init_buf_ptrs - std::basic_stringbuf::init_buf_ptrs
Synopsis¶
void init_buf_ptrs(); (exposition only*)
  
   Initializes the input and output sequences from buf according to mode. buf
    and mode
  
   are exposition-only data members of *this.
  
   Immediately after this function returns:
  
   * If std::ios_base::out is set in mode, pbase() points to buf.front() and
    epptr()
  
   >= pbase() + buf.size() is true;
  
   * in addition, if std::ios_base::ate is set in mode, pptr() == pbase() +
  
   buf.size() is true,
  
   * otherwise pptr() == pbase() is true.
  
   * If std::ios_base::in is set in mode, eback() points to buf.front(), and
    gptr()
  
   == eback() && egptr() == eback() + buf.size() is true.
Notes¶
 For efficiency reasons, stream buffer operations can violate
    invariants of buf while
  
   it is held encapsulated in the std::basic_stringbuf, e.g., by writing to
    characters
  
   in the range [buf.data() + buf.size(), buf.data() + buf.capacity()).
  
   All operations retrieving a std::basic_string from buf ensure that the
  
   std::basic_string invariants hold on the returned value.
  
   Defect reports
  
   The following behavior-changing defect reports were applied retroactively to
  
   previously published C++ standards.
  
   DR Applied to Behavior as published Correct behavior
  
   calling init_buf_ptrs() made makes
  
   LWG 1448 C++98 pptr() == pbase() + buf.data() pptr() == pbase() +
  
   for streams that are both input and output buf.size()
  
   streams for append streams
| 2024.06.10 | http://cppreference.com |