X-Git-Url: https://git.llucax.com/z.facultad/75.42/string.git/blobdiff_plain/b18e440563dabec6bef71cbfa954bc5e38c84ca6..HEAD:/universalstring.h diff --git a/universalstring.h b/universalstring.h index 51f0e6c..fe740e8 100644 --- a/universalstring.h +++ b/universalstring.h @@ -21,6 +21,7 @@ #include #include #include +#include #ifdef DEBUG # include @@ -59,6 +60,16 @@ class UniversalString { } } + /// Constructor a partir de otro UniversalString. + template < class T2 > + UniversalString(const UniversalString< T2 >& str) { +#ifdef DEBUG + std::cerr << "En constructor de UniversalString a partir de otro." + << std::endl; +#endif + *this = str; + } + /// Constructor de copia. UniversalString(const UniversalString& str) { #ifdef DEBUG @@ -149,11 +160,13 @@ class UniversalString { // Obtengo primer caracter, incluyendo espacios. T c; in >> std::noskipws >> c; - // Mientras que no sea el fin de línea, sigo leyendo caracteres. - while (!c.is_endl()) { + // Mientras que no sea un fin de línea, sigo leyendo caracteres. + while (c != '\n') { str.string.push_back(c); in >> std::noskipws >> c; } + // Vuelvo a setear que ignore espacios. + in >> std::skipws; return in; }