]> git.llucax.com Git - z.facultad/75.42/string.git/blob - unicode.h
Se sacan un par de includes sin uso.
[z.facultad/75.42/string.git] / unicode.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 UNICODE_H
18 #define UNICODE_H
19
20 #include <ostream>
21 #include <istream>
22
23 #ifdef DEBUG
24 #   include <iostream>
25 #endif
26
27 /// Caracter Unicode.
28 class Unicode {
29
30         /// Caracter Unicode almacenado.
31         short caracter;
32
33     public:
34
35         /// Constructor.
36         Unicode(short c = 0);
37
38         /// Constructor de copia.
39         Unicode(const Unicode& unicode);
40
41         /// Destructor.
42         virtual ~Unicode(void);
43
44         /// Asignación de una instancia a otra.
45         Unicode& operator=(const Unicode& unicode);
46
47         /// Comparación por menor de dos instancias.
48         bool operator<(const Unicode& unicode) const;
49
50         /// Comparación por igual de dos instancias.
51         bool operator==(const Unicode& unicode) const;
52
53         /// Cast a char.
54         operator char(void) const;
55
56         /// Volcado a un stream de salida.
57         friend std::ostream& operator<<(std::ostream& out,
58                 const Unicode& unicode);
59
60         /// Captura desde un stream de entrada.
61         friend std::istream& operator>>(std::istream& in,
62                 Unicode& unicode);
63
64 };
65
66 #endif // UNICODE_H