]> git.llucax.com Git - z.facultad/75.29/dale.git/commitdiff
Implementa operator>> desde un istream.
authorLeandro Lucarella <luca@llucax.hn.org>
Sun, 9 Oct 2005 21:22:07 +0000 (21:22 +0000)
committerLeandro Lucarella <luca@llucax.hn.org>
Sun, 9 Oct 2005 21:22:07 +0000 (21:22 +0000)
src/number.h

index 8c37df65d5a30670428e876ea38e6d68dcced3ba..bc1e5c2cd573fc0863d775564549f299dba55f0c 100644 (file)
@@ -14,6 +14,8 @@
 #include <iomanip>
 #include <string>
 #include <sstream>
+#include <istream>
+#include <ostream>
 #include <cassert>
 
 #ifdef _WIN32
@@ -478,6 +480,20 @@ std::ostream& operator<< (std::ostream& os, const number< NN, EE >& n)
        return os;
 }
 
+template < typename N, typename E >
+std::istream& operator>> (std::istream& is, number< N, E >& n)
+{
+       std::string str;
+       is >> str;
+       unsigned base = 10;
+       if (is.flags() & std::ios_base::hex) // Si lo piden en hexa
+               base = 16;
+       if (is.flags() & std::ios_base::oct) // Si lo piden en octal
+               base = 8;
+       n = number< N, E >(str, base);
+       return is;
+}
+
 template < typename N, typename E >
 std::string numberToHex(const number< N, E >& n)
 {