Como crio meu próprio ostream / streambuf?

Para fins educacionais, quero criar um ostream e um buffer de fluxo para:

corrigir endians ao fazer << myVar;armazene em um contêiner deque em vez de usar std: cout ou gravar em um arquivoregistrar dados extras, como quantas vezes eu fiz <<, quantas vezes eu escrevi .write, a quantidade de bytes que escrevi e quantas vezes eu liberei (). Mas eu não preciso de todas as informações.

Tentei sobrecarregar, mas falhei horrivelmente. Tentei sobrecarregar a gravação fazendo

ostream& write( const char* s, streamsize n ) 

na minha classe basic_stringstream2 (copiei e colei basic_stringstream no meu arquivo cpp e o modifiquei), mas o código continuou usando basic_ostream. Examinei o código e parece que eu preciso sobrecarregar o xsputn (que não é mencionado nesta páginahttp://www.cplusplus.com/reference/iostream/ostream ) mas o que mais eu preciso sobrecarregar? e como construo minha classe (o que é necessário herdar, etc.)?

questionAnswers(3)

yourAnswerToTheQuestion