Google Analytics

segunda-feira, 2 de maio de 2011

Assinaturas padrão dos operadores de stream

Sempre esqueço da assinatura padrão dos operadores de inserção e remoção do C++. Então resolvi anotar aqui:

std::ostream& operator<<(std::ostream& s, const MyData& data);
std::istream& operator>>(std::istream& s, MyData& data);


Um exemplo de implementação do >>:


istream& operator>>(istream& s, MyDataEnum& data)
{
    int v;
    s >> v;
    
    if (s) //Conversion OK.
        data = MyDataEnum(v);

    return s;
}