std::basic_stringbuf<CharT,Traits,Allocator>:: init_buf_ptrs
|
void
init_buf_ptrs
(
)
;
|
( solo para exposición* ) | |
Inicializa las secuencias de entrada y salida desde buf de acuerdo con mode . buf y mode son miembros de datos solo de exposición de * this .
Inmediatamente después de que esta función retorne:
-
Si
std::ios_base::out
está establecido en
mode
,
pbase()
apunta a
buf.
front
(
)
y
epptr
(
)
>=
pbase
(
)
+
buf.
size
(
)
es
true
;
- adicionalmente, si std::ios_base::ate está establecido en mode , pptr ( ) == pbase ( ) + buf. size ( ) es true ,
- de lo contrario pptr ( ) == pbase ( ) es true .
- Si std::ios_base::in está establecido en mode , eback() apunta a buf. front ( ) , y gptr ( ) == eback ( ) && egptr ( ) == eback ( ) + buf. size ( ) es true .
Notas
Por razones de eficiencia, las operaciones del búfer de flujo pueden violar los invariantes de
buf
mientras está encapsulado en el
std::basic_stringbuf
, por ejemplo, escribiendo en caracteres en el rango
[
buf.
data
(
)
+
buf.
size
(
)
,
buf.
data
(
)
+
buf.
capacity
(
)
)
.
Todas las operaciones que recuperan un std::basic_string desde buf garantizan que los invariantes de std::basic_string se mantengan en el valor devuelto.
Informes de defectos
Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares de C++ publicados anteriormente.
| DR | Aplicado a | Comportamiento publicado | Comportamiento correcto |
|---|---|---|---|
| LWG 1448 | C++98 |
llamar a
init_buf_ptrs
()
hacía
pptr ( ) == pbase ( ) + buf. data ( ) para flujos que son tanto de entrada como de salida |
hace
pptr ( ) == pbase ( ) + buf. size ( ) para flujos de anexado |