1 // ANNA - Anna is Not Nothingness Anymore //
3 // (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo //
5 // See project site at http://redmine.teslayout.com/projects/anna-suite //
6 // See accompanying file LICENSE or copy at http://www.teslayout.com/projects/public/anna.LICENSE //
9 #ifndef anna_core_util_TextVariable_hpp
10 #define anna_core_util_TextVariable_hpp
12 #include <anna/core/util/Variable.hpp>
13 #include <anna/core/util/String.hpp>
22 * Variable que contiene los valores sobre los que trabaja el util::TextComposer.
24 class TextVariable : public Variable {
27 * Asignación a entero.
28 * \param value Valor a asignar a esta variable.
30 TextVariable& operator= (const int value) throw(RuntimeException) { setValue(value); return *this; }
33 * Asignación a cadena.
34 * \param value Valor a asignar a esta variable.
36 TextVariable& operator= (const char* value) throw(RuntimeException) { setValue(value); return *this; }
39 * Asignación a cadena.
40 * \param value Valor a asignar a esta variable.
42 TextVariable& operator= (const anna::String& value) throw(RuntimeException) { setValue(value.c_str()); return *this; }
45 * Asignación a entero de 64 bits.
46 * \param value Valor a asignar a esta variable.
48 TextVariable& operator= (const S64 value) throw(RuntimeException) { setValue(value); return *this; }
51 * Asignación a flotante.
52 * \param value Valor a asignar a esta variable.
54 TextVariable& operator= (const float value) throw(RuntimeException) { setValue(value); return *this; }
57 * Asignación a flotante.
58 * \param value Valor a asignar a esta variable.
60 TextVariable& operator= (const double value) throw(RuntimeException) { setValue(value); return *this; }
65 * \param name Nombre de la variable.
66 * \param type Tipo de dato de la variable.
67 * \param expression Expresión asociada a esta variable.
69 TextVariable(const char* name, const Type::_v type, const anna::String& expression);
73 const anna::String a_expression;
75 const char* compose(DataBlock& buffer) const throw(RuntimeException);
77 friend class TextComposer;