]> git.llucax.com Git - z.facultad/75.42/string.git/blobdiff - ascii.cpp
- Bugfixes.
[z.facultad/75.42/string.git] / ascii.cpp
index f4b72d8814b1cd91602bbef2ccddf0e0fcb1387d..8687cdd91cad95fc754404fe97aa933440c50c38 100644 (file)
--- a/ascii.cpp
+++ b/ascii.cpp
@@ -20,7 +20,7 @@
 #   include <iostream>
 #endif
 
-Ascii::Ascii(char c = '0'): caracter(c) {
+Ascii::Ascii(char c): caracter(c) {
 #ifdef DEBUG
     std::cerr << "En constructor de Ascii." << std::endl;
 #endif
@@ -38,6 +38,14 @@ Ascii::~Ascii(void) {
 #endif
 }
 
+bool Ascii::is_endl(void) const {
+#ifdef DEBUG
+    std::cerr << "En Ascii::is_endl()." << std::endl;
+#endif
+    // Si es 0xA = 10 = '\n' devuelve true.
+    return caracter == '\n';
+}
+
 Ascii& Ascii::operator=(const Ascii& ascii) {
 #ifdef DEBUG
     std::cerr << "En operator= de Ascii." << std::endl;
@@ -46,21 +54,28 @@ Ascii& Ascii::operator=(const Ascii& ascii) {
     return *this;
 }
 
-bool Ascii::operator<(const Ascii& ascii) {
+bool Ascii::operator<(const Ascii& ascii) const {
 #ifdef DEBUG
     std::cerr << "En operator< de Ascii." << std::endl;
 #endif
     return caracter < ascii.caracter;
 }
 
-bool Ascii::operator==(const Ascii& ascii) {
+bool Ascii::operator==(const Ascii& ascii) const {
 #ifdef DEBUG
     std::cerr << "En operator== de Ascii." << std::endl;
 #endif
     return caracter == ascii.caracter;
 }
 
-short Ascii::operator short(void) {
+Ascii::operator char(void) const {
+#ifdef DEBUG
+    std::cerr << "En cast de Ascii a char." << std::endl;
+#endif
+    return static_cast<char>(caracter);
+}
+
+Ascii::operator short(void) const {
 #ifdef DEBUG
     std::cerr << "En cast de Ascii a short." << std::endl;
 #endif
@@ -76,7 +91,7 @@ std::ostream& operator<<(std::ostream& out, const Ascii& ascii) {
 }
 
 /// Captura desde un stream de entrada.
-std::istream& operator>>(std::istream& in, const Ascii& ascii) {
+std::istream& operator>>(std::istream& in, Ascii& ascii) {
 #ifdef DEBUG
     std::cerr << "En operator>> de Ascii." << std::endl;
 #endif