Página principal   Lista alfabética   Lista de componentes   Lista de archivos   Miembros de las clases   Archivos de los miembros   Páginas relacionadas  

Referencia de la Clase Lector_Palabras

T.D.A. Lector_Palabras. Más...

#include <lector_palabras.h>

Lista de todos los miembros.

Métodos públicos

 Lector_Palabras ()
 Constructor por defecto.

 Lector_Palabras (std::istream &i)
 Declaración con asociación a istream.

 Lector_Palabras (const std::string &nombre)
 Declaración con asociación a fichero.

 ~Lector_Palabras ()
 destructor

void asociar (std::istream &i)
 Asocia el lector con un flujo de entrada.

void asociar (const std::string &nombre)
 Asocia el lector con un fichero.

 operator void * () const
 Conversor para condiciones.

bool operator! () const
 Estado del lector.

Lector_Palabras & operator>> (std::string &str)
 Lectura de una palabra.


Descripción detallada

T.D.A. Lector_Palabras.

Una instancia l del tipo de datos abstracto Lector_Palabras es un filtro de un flujo de entrada para la lectura de palabras.

Una instancia l se denominará lector, y su función es la de establecer un filtro desde un flujo de entrada para facilitar la lectura de palabras independientes. Diremos que el lector está asociado a dicho flujo.

Un ejemplo de su uso:

#include <lector_palabras.h>
#include <iostream>
#include <clocale> // setlocale
#include <cctype> // tolower
using namespace std;

string a_minuscula(const string& str)
{
  string s(str);
  for (string::size_type i=0;i<s.length();i++)
    s[i]=tolower(s[i]);
  return s;
}

int main(int argc, char*argv[])
{
  Lector_Palabras l;

  setlocale(LC_CTYPE,""); // Se establece idioma
  switch (argc) {
    case 1:
      l.asociar(cin); // se lee desde entrada estándar
      break;
    case 2:
      l.asociar(string(argv[1])); // desde fichero
      if (!l) {
        cerr <<"El fichero "<<argv[1]<< " no existe"<<endl;
        return 1;
      }
      break;
    default:
      cerr << "Uso: "<<argv[0]<< " | "<<argv[0] <<" <fichero fuente>" << endl;
      return 1;
  }

  string str;
  while (l>>str) {
    cout << "Palabra: "<<a_minuscula(str)<<endl;
  }

  return 0;
}

Definición en la línea 29 del archivo lector_palabras.h.


Documentación del constructor y destructor

Lector_Palabras::Lector_Palabras  
 

Constructor por defecto.

Postcondición:
El lector se crea sin establecer ninguna asociación

Definición en la línea 14 del archivo lector_palabras.cpp.

Lector_Palabras::Lector_Palabras std::istream &    i
 

Declaración con asociación a istream.

Parámetros:
i  istream asociado al lector
Postcondición:
Crea un nuevo lector de palabras y lo asocia a un istream. Esta asociación seguirá mientras no se establezca una nueva.

Definición en la línea 17 del archivo lector_palabras.cpp.

Lector_Palabras::Lector_Palabras const std::string &    nombre
 

Declaración con asociación a fichero.

Parámetros:
nombre  fichero con el que asociar el lector
Postcondición:
Si el fichero nombre no existe, el lector se crea sin asociación.

Definición en la línea 21 del archivo lector_palabras.cpp.

References asociar().


Documentación de las funciones miembro

void Lector_Palabras::asociar const std::string &    nombre
 

Asocia el lector con un fichero.

Parámetros:
nombre  fichero con el que se asocia el lector
Postcondición:
Si el fichero nombre no existe, el lector se crea sin asociación. Si el lector ya estaba asociado, elimina la asociación anterior.

Definición en la línea 38 del archivo lector_palabras.cpp.

void Lector_Palabras::asociar std::istream &    i
 

Asocia el lector con un flujo de entrada.

Parámetros:
i  flujo con el que se asocia el lector.
Postcondición:
Si el lector ya estaba asociado, elimina la asociación anterior.

Definición en la línea 31 del archivo lector_palabras.cpp.

Referenciado por Lector_Palabras().

Lector_Palabras::operator void *  
 

Conversor para condiciones.

Postcondición:
Conversión similar a la de los flujos. Permite usar el lector como una condición que devuelve true si la siguiente operación de lectura pudiera tener éxito.

Definición en la línea 55 del archivo lector_palabras.cpp.

bool Lector_Palabras::operator!  
 

Estado del lector.

Devuelve:
el valor true si la siguiente operación de lectura seguro que no va a tener éxito.
Nota:
Esta operación funciona como operator! de flujos C++

Definición en la línea 60 del archivo lector_palabras.cpp.

Lector_Palabras & Lector_Palabras::operator>> std::string &    str
 

Lectura de una palabra.

Parámetros:
str  Variable donde se almacenará el resultado de la lectura
Postcondición:
Si el lector no está asociado a un flujo, o el flujo se ha terminado (fin de entrada) devuelve la cadena vacía.

Definición en la línea 65 del archivo lector_palabras.cpp.


La documentación para esta clase fué generada a partir de los siguientes archivos:
Programación en C++. Desarrollado por Antonio Garrido, © 2003