]> git.llucax.com Git - z.facultad/75.42/string.git/blob - unicode.cpp
Ya compilan Ascii y Unicode.
[z.facultad/75.42/string.git] / unicode.cpp
1 /* vim: set et sts=4 sw=4 fdm=indent 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:07 ART 2003
13  *
14  * $Id$
15  */
16
17 #include "unicode.h"
18
19 #ifdef DEBUG
20 #   include <iostream>
21 #endif
22
23 Unicode::Unicode(short c): caracter(c) {
24 #ifdef DEBUG
25     std::cerr << "En constructor de Unicode." << std::endl;
26 #endif
27 }
28
29 Unicode::Unicode(const Unicode& unicode): caracter(unicode.caracter) {
30 #ifdef DEBUG
31     std::cerr << "En constructor de copia de Unicode." << std::endl;
32 #endif
33 }
34
35 Unicode::~Unicode(void) {
36 #ifdef DEBUG
37     std::cerr << "En destructor de Unicode." << std::endl;
38 #endif
39 }
40
41 Unicode& Unicode::operator=(const Unicode& unicode) {
42 #ifdef DEBUG
43     std::cerr << "En operator= de Unicode." << std::endl;
44 #endif
45     caracter = unicode.caracter;
46     return *this;
47 }
48
49 bool Unicode::operator<(const Unicode& unicode) {
50 #ifdef DEBUG
51     std::cerr << "En operator< de Unicode." << std::endl;
52 #endif
53     return caracter < unicode.caracter;
54 }
55
56 bool Unicode::operator==(const Unicode& unicode) {
57 #ifdef DEBUG
58     std::cerr << "En operator== de Unicode." << std::endl;
59 #endif
60     return caracter == unicode.caracter;
61 }
62
63 Unicode::operator short(void) const {
64 #ifdef DEBUG
65     std::cerr << "En cast de Unicode a char." << std::endl;
66 #endif
67     return static_cast<short>(caracter);
68 }
69
70 Unicode::operator char(void) const {
71 #ifdef DEBUG
72     std::cerr << "En cast de Unicode a char." << std::endl;
73 #endif
74     return static_cast<char>(caracter);
75 }
76
77 std::ostream& operator<<(std::ostream& out, const Unicode& unicode) {
78 #ifdef DEBUG
79     std::cerr << "En operator<< de Unicode." << std::endl;
80 #endif
81     return out << unicode.caracter;
82 }
83
84 std::istream& operator>>(std::istream& in, const Unicode& unicode) {
85 #ifdef DEBUG
86     std::cerr << "En operator>> de Unicode." << std::endl;
87 #endif
88     return in >> unicode.caracter;
89 }
90