Annex D (normative) Compatibility features [depr]

D.6 char* streams [depr.str.strstreams]

D.6.2 Class istrstream [depr.istrstream]

namespace std {
  class istrstream : public basic_istream<char> {
  public:
    explicit istrstream(const char* s);
    explicit istrstream(char* s);
    istrstream(const char* s, streamsize n);
    istrstream(char* s, streamsize n);
    virtual ~istrstream();

    strstreambuf* rdbuf() const;
    char* str();
  private:
    strstreambuf sb;  // exposition only
  };
}

Класс istrstream поддерживает чтение объектов класса strstreambuf. Он предоставляет strstreambuf объект для управления связанным объектом массива. Для демонстрации поддерживаемые данные представлены здесь как:

  • sb, strstreambuf объект.

D.6.2.1 istrstream constructors [depr.istrstream.cons]

explicit istrstream(const char* s); explicit istrstream(char* s);

Effects: Создает объект класса istrstream, инициализируя базовый класс istream(&sb) и инициализируя sb с помощью strstreambuf(s,0). s обозначает первый элемент ntbs .

istrstream(const char* s, streamsize n); istrstream(char* s, streamsize n);

Effects: Создает объект класса istrstream, инициализируя базовый класс istream(&sb) и инициализируя sb с помощью strstreambuf(s,n). s должен обозначать первый элемент массива, длина которого равна n elements, и n должна быть больше нуля.

D.6.2.2 Member functions [depr.istrstream.members]

strstreambuf* rdbuf() const;

Returns: const_­cast<strstreambuf*>(&sb).

char* str();

Returns: rdbuf()->str().