/***************************************************************************
str.h - description
-------------------
begin : Tue Aug 1 2000
copyright : (C) 2000 by W. Baraldi & D. Scarpa
email : baraldi@lacasilla.com.ar
***************************************************************************/
/**
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
*/
#ifndef STR_H
#define STR_H
#include "object.h"
#include <stdlib.h>
#include <string.h>
class Str: public Object{
public:
/**
Contructor default, asigna la cadena pasada como const char * .
Para crear una cadena nula usar : new Str()
*/
Str(const char * string=NULL);
/**
Contructor copy, crea una copia del Str pasado como parámetro
*/
Str(Str * str);
/**
Destructor
*/
~Str();
/**
Asigna la cadena parámetro
*/
void set(const char * string=NULL);
/**
Asigna la cadena parámetro
*/
void set(const Str * str);
/**
Retorna la cadena como const char *.
No debe alterarse la cadena obtenida ya que no es una copia.
*/
const char * get();
/**
Concatena la cadena const char * enviada
*/
void concat(const char * string);
/**
Concatena la cadena enviada
*/
void concat(Str * str);
/**
Retorna true si la cadena const char * enviada esta contenida.
*/
bool contains(const char * string);
/**
Retorna true si la cadena parámetro esta contenida.
*/
bool contains(Str * str);
/** Retorna la longitud de la cadena.*/
int lenght();
/** Compara con la cadena parámetro. Si case_sensitive es true entonces
lo hará case sensitive.*/
bool isEqual(Str * str, bool case_sensitive = true);
/** Deja solo la parte contenida entre start y end.*/
void crop(unsigned int start, unsigned int end);
/**
Retorna el int resultado de convertir la cadena.
*/
int toInt();
/**
Retorna el bool resultado de convertir la cadena. Los valores reconocidos como
false son : "f" o "false" y como true : "t" y "true", sin sensibilidad a mayúsculas
o minúsculas. El valor default devuelto es false;
*/
bool toBool();
/**
Retorna el float resultado de convertir la cadena.
*/
float toFloat();
protected:
char * s;
static const char nul;
};
#endif