1 /* vim: set et sts=4 sw=4 fdm=indent fdn=1 fo+=t tw=80:
3 * Taller de Programación (75.42).
6 * Ordena texto ASCII o Unicode.
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/).
12 * Creado: Mon Sep 22 21:00:07 ART 2003
23 Ascii::Ascii(char c): caracter(c) {
25 std::cerr << "En constructor de Ascii." << std::endl;
29 Ascii::Ascii(const Ascii& ascii): caracter(ascii.caracter) {
31 std::cerr << "En constructor de copia de Ascii." << std::endl;
37 std::cerr << "En destructor de Ascii." << std::endl;
41 bool Ascii::is_endl(void) {
43 std::cerr << "En Ascii::is_endl()." << std::endl;
45 // Si es 0xA = 10 = '\n' devuelve true.
46 return caracter == '\n';
49 Ascii& Ascii::operator=(const Ascii& ascii) {
51 std::cerr << "En operator= de Ascii." << std::endl;
53 caracter = ascii.caracter;
57 bool Ascii::operator<(const Ascii& ascii) {
59 std::cerr << "En operator< de Ascii." << std::endl;
61 return caracter < ascii.caracter;
64 bool Ascii::operator==(const Ascii& ascii) {
66 std::cerr << "En operator== de Ascii." << std::endl;
68 return caracter == ascii.caracter;
71 Ascii::operator char(void) const {
73 std::cerr << "En cast de Ascii a char." << std::endl;
75 return static_cast<char>(caracter);
78 Ascii::operator short(void) const {
80 std::cerr << "En cast de Ascii a short." << std::endl;
82 return static_cast<short>(caracter);
85 /// Volcado a un stream de salida.
86 std::ostream& operator<<(std::ostream& out, const Ascii& ascii) {
88 std::cerr << "En operator<< de Ascii." << std::endl;
90 return out << ascii.caracter;
93 /// Captura desde un stream de entrada.
94 std::istream& operator>>(std::istream& in, Ascii& ascii) {
96 std::cerr << "En operator>> de Ascii." << std::endl;
98 return in >> ascii.caracter;