27.6.3.4.2 gestión de memoria intermedia y el posicionamientobasic_streambuf :: seekoff lo que debe devolverse cuando ios_base :: in | ios_base :: out está especificado?
pos_type seekoff(off_type off, ios_base::seekdir way, ios_base::openmode which = ios_base::in | ios_base::out);
- Efectos: altera las posiciones de transmisión en el plazo de una o más de las secuencias de controlados de una manera que se define por separado para cada clase derivado de
basic_streambuf
en esta cláusula (27.8.2.4, 27.9.1.5).- Comportamiento predeterminado: Devuelve
pos_type(off_type(-1))
.
Hasta ahora, muy bien. La derivación basic_streambuf
que estoy usando puede alterar su posición por separado para ios_base::in
y/o ios_base::out
. Pero, ¿qué debo devolver cuando se especifican ambos?
Si especifica ios_base::in
oios_base::out
, que volvería nueva posición corriente de la secuencia específica.
"_in una manera que se define por separado para cada class_" es que una especificación, o una broma? – curiousguy
@curiousguy - Incluso si suena raro, de hecho es una especificación. Permite que las clases derivadas se comporten de una manera sensata que puede variar entre diferentes implementaciones y casos de uso. Sin embargo, no siempre es intuitivo cómo una implementación "debería" comportarse. – 0xbadf00d
"_de hecho es una especificación_" Pero no lo es. Es una alusión a alguna otra especificación en otro lugar. "_ Permite que las clases derivadas se comporten de una manera sensata que puede variar entre diferentes implementaciones y casos de uso." ¿Cuál es el objetivo de esta "especificación"? ¿Qué se puede hacer sabiendo que 'seekoff' altera las posiciones del flujo dentro de una o más de las secuencias controladas de una manera que se define por separado para cada clase derivada? – curiousguy