Annex D (normative) Compatibility features [depr]

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

D.15.2 Class strstreambuf [depr.strstreambuf]

D.15.2.2 strstreambuf constructors [depr.strstreambuf.cons]

explicit strstreambuf(streamsize alsize_arg);
Effects: Initializes the base class with streambuf().
The postconditions of this function are indicated in Table 147.
Table 147: strstreambuf(streamsize) effects [tab:depr.strstreambuf.cons.sz]
Element
Value
strmode
dynamic
alsize
alsize_arg
palloc
a null pointer
pfree
a null pointer
strstreambuf(void* (*palloc_arg)(size_t), void (*pfree_arg)(void*));
Effects: Initializes the base class with streambuf().
The postconditions of this function are indicated in Table 148.
Table 148: strstreambuf(void* (*)(size_t), void (*)(void*)) effects [tab:depr.strstreambuf.cons.alloc]
Element
Value
strmode
dynamic
alsize
an unspecified value
palloc
palloc_arg
pfree
pfree_arg
strstreambuf(char* gnext_arg, streamsize n, char* pbeg_arg = nullptr); strstreambuf(signed char* gnext_arg, streamsize n, signed char* pbeg_arg = nullptr); strstreambuf(unsigned char* gnext_arg, streamsize n, unsigned char* pbeg_arg = nullptr);
Effects: Initializes the base class with streambuf().
The postconditions of this function are indicated in Table 149.
Table 149: strstreambuf(charT*, streamsize, charT*) effects [tab:depr.strstreambuf.cons.ptr]
Element
Value
strmode
0
alsize
an unspecified value
palloc
a null pointer
pfree
a null pointer
gnext_arg shall point to the first element of an array object whose number of elements N is determined as follows:
If pbeg_arg is a null pointer, the function executes: setg(gnext_arg, gnext_arg, gnext_arg + N);
Otherwise, the function executes: setg(gnext_arg, gnext_arg, pbeg_arg); setp(pbeg_arg, pbeg_arg + N);
strstreambuf(const char* gnext_arg, streamsize n); strstreambuf(const signed char* gnext_arg, streamsize n); strstreambuf(const unsigned char* gnext_arg, streamsize n);
Effects: Behaves the same as strstreambuf((char*)gnext_arg,n), except that the constructor also sets constant in strmode.
virtual ~strstreambuf();
Effects: Destroys an object of class strstreambuf.
The function frees the dynamically allocated array object only if (strmode & allocated) != 0 and (strmode & frozen) == 0.
([depr.strstreambuf.virtuals] describes how a dynamically allocated array object is freed.)
306)306)
The function signature strlen(const char*) is declared in <cstring>.
The macro INT_MAX is defined in <climits>.