variable.h
Go to the documentation of this file.
/******************************************************
* Presage, an extensible predictive text entry system
* ---------------------------------------------------
*
* Copyright (C) 2008 Matteo Vescovi <matteo.vescovi@yahoo.co.uk>
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.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
**********(*)*/
#ifndef PRESAGE_VARIABLE
#define PRESAGE_VARIABLE
#include <string>
#include <vector>
#include "observable.h"
class Variable : public Observable {
public:
Variable(const char* variable);
Variable(const std::string& variable);
Variable(const std::vector<std::string>& variable);
~Variable();
std::string get_name () const;
std::vector<std::string> get_name_vector () const;
std::string get_value () const;
void set_value (std::string value);
size_t size() const { return m_name_vector.size(); }
bool operator<(const Variable& other) const { return (get_name () < other.get_name ()); }
static std::vector<std::string> string_to_vector(const std::string& str);
static std::string vector_to_string(const std::vector<std::string>& var);
private:
std::string m_name;
std::vector<std::string> m_name_vector;
std::string m_value;
};
#endif // PRESAGE_VARIABLE
Variable::string_to_vector
static std::vector< std::string > string_to_vector(const std::string &str)
Definition: variable.cpp:82
Variable::m_name
std::string m_name
Definition: variable.h:55
Variable::Variable
Variable(const char *variable)
Definition: variable.cpp:29
Variable::operator<
bool operator<(const Variable &other) const
Definition: variable.h:48
observable.h
Variable
Definition: variable.h:33
Variable::~Variable
~Variable()
Definition: variable.cpp:47
Variable::get_name
std::string get_name() const
Definition: variable.cpp:52
Variable::vector_to_string
static std::string vector_to_string(const std::vector< std::string > &var)
Definition: variable.cpp:107
Variable::set_value
void set_value(std::string value)
Definition: variable.cpp:67
Variable::m_name_vector
std::vector< std::string > m_name_vector
Definition: variable.h:56
Variable::m_value
std::string m_value
Definition: variable.h:57
Variable::size
size_t size() const
Definition: variable.h:46
Variable::get_name_vector
std::vector< std::string > get_name_vector() const
Definition: variable.cpp:57
Observable
Definition: observable.h:37
Variable::get_value
std::string get_value() const
Definition: variable.cpp:62