basic_streambuf Class
Descreve uma classe base abstrata para derivar um buffer de fluxo, que controla a transmissão dos elementos em uma representação específica de um fluxo.
template<class Elem, class Tr = char_traits<Elem> >
class basic_streambuf;
Parâmetros
Elem
A char_type.Tr
O caractere traits_type.
Comentários
A classe de modelo descreve uma classe base abstrata para derivar um buffer de fluxo, que controla a transmissão dos elementos em uma representação específica de um fluxo.Um objeto da classe basic_streambuf ajuda a controlar um fluxo com elementos do tipo Tr, também conhecido como char_type, cujas características de caractere são determinadas pela classe char_traits, também conhecido como traits_type.
Cada buffer de fluxo controles conceitualmente dois fluxos independentes: um para extrações (entrada) e outro para inserções (saída).Uma representação específica pode, Entretanto, fazer um ou ambos esses fluxos inacessível.Normalmente, ele mantém alguma relação entre dois fluxos.Inserir no fluxo de saída de um basic_stringbuf<Elem, Tr> objeto, por exemplo, é o que mais tarde extrair de seu fluxo de entrada.Ao posicionar um fluxo de um basic_filebuf<Elem, Tr> objeto, posicione o fluxo em tandem.
A interface pública para a classe de modelo basic_streambuf fornece as operações que são comuns a todos os buffers de fluxo, porém especializados.Interface protegida fornece operações necessárias para uma representação específica de um fluxo para fazer seu trabalho.As funções de membro virtual protegido permitem adaptar o comportamento de um buffer de fluxo derivado de uma representação específica de um fluxo.Cada buffer de fluxo derivado nesta biblioteca descreve como o comportamento de suas funções de membro virtual protegido é especializada.O comportamento padrão para a classe base, que costuma fazer nada, é descrito neste tópico.
O restante protegido o controle de funções de membro copiar para e de qualquer armazenamento fornecido para transmissões de buffer para e de fluxos.Por exemplo, o buffer de entrada é caracterizado por:
eback, um ponteiro para o início do buffer.
gptr, um ponteiro para o próximo elemento de leitura.
egptr, um ponteiro apenas após o final do buffer.
Da mesma forma, um buffer de saída é caracterizado por:
pbase, um ponteiro para o início do buffer.
pptr, um ponteiro para o próximo elemento de gravação.
epptr, um ponteiro apenas após o final do buffer.
Nenhum buffer é usado o seguinte protocolo:
Se o próximo ponteiro for null, nenhum buffer existe.Caso contrário, todos os ponteiros de três ponto a mesma seqüência.Eles podem ser comparados com segurança para a ordem.
Para um buffer de saída, o ponteiro seguinte compara menor que o ponteiro final, você pode armazenar um elemento na posição de gravação designado pelo próximo ponteiro.
Para um buffer de entrada, o ponteiro seguinte compara menor que o ponteiro final, você pode ler um elemento na posição de leitura designado pelo próximo ponteiro.
Para um buffer de entrada, se o ponteiro de início compara menor que o ponteiro próximo, você pode colocar novamente um elemento na posição putback designada pelo ponteiro próximo diminuído.
Qualquer protegido funções membro virtual gravar para uma classe derivada de basic_streambuf<Elem, Tr> deve cooperar na manutenção desse protocolo.
An object of class basic_streambuf<Elem, Tr> armazena ponteiros de seis descritos anteriormente.Ele também armazena um objeto de localidade em um objeto do tipo localidade para uso potencial por um buffer de fluxo derivado.
Construtores
Constrói um objeto do tipo basic_streambuf. |
Typedefs
Associa um nome de tipo com o Elem parâmetro do modelo. |
|
Associa um nome de tipo de basic_streambuf escopo com o Elem parâmetro do modelo. |
|
Associa um nome de tipo de basic_streambuf escopo com o Elem parâmetro do modelo. |
|
Associa um nome de tipo de basic_streambuf escopo com o Elem parâmetro do modelo. |
|
Associa um nome de tipo com o Tr parâmetro do modelo. |
Funções de membro
Uma função protegida que retorna um ponteiro para o início do buffer de entrada. |
|
Uma função protegida que retorna um ponteiro apenas após o final do buffer de entrada. |
|
Uma função protegida que retorna um ponteiro apenas após o final do buffer de saída. |
|
Uma função protegida que adiciona _Count para o próximo ponteiro para o buffer de entrada. |
|
Obtém o basic_streambuf localidade do objeto. |
|
Uma função protegida que retorna um ponteiro para o próximo elemento do buffer de entrada. |
|
Protegido por uma função virtual chamada por pubimbue. |
|
Retorna o número de elementos que estão prontos para serem lidos do buffer. |
|
Uma função virtual protegida que pode ser chamada quando um novo caractere é inserido em um buffer cheio. |
|
Uma função de membro virtual protegido que tenta colocar novamente um elemento no fluxo de entrada, em seguida, tornar o elemento atual (indicado pelo ponteiro próximo). |
|
Uma função protegida que retorna um ponteiro para o início do buffer de saída. |
|
Uma função protegida que adiciona count para o próximo ponteiro para o buffer de saída. |
|
Uma função protegida que retorna um ponteiro para o próximo elemento do buffer de saída. |
|
Conjuntos de basic_streambuf localidade do objeto. |
|
Chamadas seekoff, uma função virtual é substituída em uma classe derivada de protegido. |
|
Chamadas seekpos, um protegido de função virtual que é substituída em uma classe derivada e redefine a posição atual do ponteiro. |
|
Chamadas setbuf, uma função virtual é substituída em uma classe derivada de protegido. |
|
Chamadas sync, um protegido de função virtual que é substituída em uma classe derivada e atualiza o fluxo externo associado a esse buffer. |
|
Lê e retorna o elemento atual, movendo o ponteiro de fluxo. |
|
A função de membro virtual protegido tenta alterar posições atuais para fluxos controlados. |
|
A função de membro virtual protegido tenta alterar posições atuais para fluxos controlados. |
|
A função de membro virtual protegido realiza uma determinada operação para cada buffer de fluxo derivado. |
|
Uma função protegida que armazena _Gbeg no ponteiro de início, _Gnext no próximo ponteiro, e _Gend no ponteiro final para o buffer de entrada. |
|
Uma função protegida que armazena _Pbeg no ponteiro de início e _Pend no ponteiro final para o buffer de saída. |
|
Retorna o elemento atual sem alterar a posição no fluxo. |
|
Retorna o número de elementos de leitura. |
|
Função de membro virtual protegido que retorna uma contagem do número de caracteres que podem ser extraídos do fluxo de entrada e garantir que o programa não estará sujeito a uma espera indefinida. |
|
Lê o elemento atual e retorna o elemento a seguir. |
|
Coloca um char_type no fluxo. |
|
Coloca um caractere no fluxo. |
|
Coloca uma seqüência de caracteres no fluxo. |
|
Mover após o elemento atual no fluxo. |
|
Obtém um caractere de fluxo. |
|
Troca os valores nesse objeto para os valores no fornecida basic_streambuf parâmetro de objeto. |
|
Uma função virtual protegida que tenta sincronizar fluxos controlados com quaisquer fluxos externos associados. |
|
Uma função virtual protegida que extrai o elemento atual do fluxo de entrada. |
|
Uma função virtual protegida que extrai o elemento atual do fluxo de entrada. |
|
Uma função virtual protegida que extrai os elementos do fluxo de entrada. |
|
Uma função virtual protegida que insere elementos no fluxo de saída. |
Operadores
Atribui os valores deste objeto de outro basic_streambuf objeto. |
Requisitos
Cabeçalho: <streambuf>
Namespace: std
Consulte também
Referência
Segurança do thread na biblioteca C++ padrão