Mercurial > repo
view interps/rail/src/StringVar.h @ 12220:7eaf71f23fbe draft
<oerjan> learn \xce\xbe\xcf\x80\xce\xb1\xce\xbb\xce\xb1\xce\xb9\xce\xbf\xce\xbb\xcf\x8c\xce\xb3\xce\xbf\xcf\x82 is kspalaiologos\'s Ancient Greek twin. He was banned from the theater for making up invalid characters.
author | HackEso <hackeso@esolangs.org> |
---|---|
date | Sun, 01 Dec 2019 02:35:07 +0000 |
parents | 859f9b4339e6 |
children |
line wrap: on
line source
// StringVar.h #ifndef STRING_VAR_H_RAIL_1 #define STRING_VAR_H_RAIL_1 #include "Var.h" class StringVar : public Var { public: StringVar() {} StringVar(std::string const & newData) : data(newData) {} virtual ~StringVar() {} virtual StringVar * getString(void) { return this; } virtual ListVar * getList(void) { return NULL; } virtual NilVar * getNil(void) { return NULL; } virtual Closure * getClosure(void) { return NULL; } virtual std::string toString(void) const { return "\"" + data + "\""; } std::string const & get(void) const { return data; } private: StringVar(StringVar const &) {} StringVar & operator=(StringVar const &) { return *this; } private: std::string data; }; #endif