]> git.llucax.com Git - z.facultad/75.42/string.git/blob - ascii.h
- Bugfixes.
[z.facultad/75.42/string.git] / ascii.h
1 /* vim: set et sts=4 sw=4 fdm=marker fmr={,} fdn=1 fo+=t tw=80:
2  *
3  * Taller de Programación (75.42).
4  *
5  * Ejercicio Número 4:
6  * Ordena texto ASCII o Unicode.
7  *
8  * Copyleft 2003 - Leandro Lucarella <llucare@fi.uba.ar>
9  * Puede copiar, modificar y distribuir este programa bajo los términos de
10  * la licencia GPL (http://www.gnu.org/).
11  *
12  * Creado: Mon Sep 22 21:00:15 ART 2003
13  *
14  * $Id$
15  */
16
17 #ifndef ASCII_H
18 #define ASCII_H
19
20 #include <ostream>
21 #include <istream>
22
23 #ifdef DEBUG
24 #   include <iostream>
25 #endif
26
27 /// Caracter ASCII.
28 class Ascii {
29
30         /// Caracter ASCII almacenado.
31         char caracter;
32
33     public:
34
35         /// Constructor.
36         Ascii(char c = '0');
37
38         /// Constructor de copia.
39         Ascii(const Ascii& ascii);
40
41         /// Destructor.
42         virtual ~Ascii(void);
43
44         /// Indica si el caracter es de fin de línea.
45         bool is_endl(void) const;
46
47         /// Asignación de una instancia a otra.
48         Ascii& operator=(const Ascii& ascii);
49
50         /// Comparación por menor de dos instancias.
51         bool operator<(const Ascii& ascii) const;
52
53         /// Comparación por igual de dos instancias.
54         bool operator==(const Ascii& ascii) const;
55
56         /// Cast a char.
57         operator char(void) const;
58
59         /// Cast a short.
60         operator short(void) const;
61
62         /// Volcado a un stream de salida.
63         friend std::ostream& operator<<(std::ostream& out, const Ascii& ascii);
64
65         /// Captura desde un stream de entrada.
66         friend std::istream& operator>>(std::istream& in, Ascii& ascii);
67
68 };
69
70 #endif // ASCII_H