X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Flisp%2Flisp.hpp;h=c01170fc21274afbd4aff8206e839f9571d47c97;hb=a113d3bd1feddd510e3b2852b0d42522735eee40;hp=2f14625d828376d584655b3ba07d5cf754892f31;hpb=ff4c6994b952e26b854461d739eb3bcbfc30719f;p=supertux.git diff --git a/src/lisp/lisp.hpp b/src/lisp/lisp.hpp index 2f14625d8..c01170fc2 100644 --- a/src/lisp/lisp.hpp +++ b/src/lisp/lisp.hpp @@ -31,7 +31,7 @@ class Lisp { public: ~Lisp(); - + enum LispType { TYPE_CONS, TYPE_SYMBOL, @@ -42,27 +42,27 @@ public: }; LispType get_type() const - { return type; } + { return type; } Lisp* get_car() const { return v.cons.car; } Lisp* get_cdr() const { return v.cons.cdr; } - + bool get(std::string& val) const - { + { if(type != TYPE_STRING && type != TYPE_SYMBOL) return false; val = v.string; return true; } - + std::string get_string() const { assert(type == TYPE_STRING); return v.string; } - + bool get(unsigned int& val) const { if(type != TYPE_INTEGER) @@ -70,7 +70,7 @@ public: val = v.integer; return true; } - + bool get(int& val) const { if(type != TYPE_INTEGER) @@ -84,7 +84,7 @@ public: assert(type == TYPE_INTEGER); return v.integer; } - + bool get(float& val) const { if(type != TYPE_REAL) { @@ -145,11 +145,11 @@ public: bool get_vector(const char* name, std::vector& vec) const { vec.clear(); - + const Lisp* child = get_lisp(name); if(!child) return false; - + for( ; child != 0; child = child->get_cdr()) { T val; if(!child->get_car()) @@ -158,10 +158,10 @@ public: vec.push_back(val); } } - + return true; } - + Lisp* get_lisp(const char* name) const; Lisp* get_lisp(const std::string& name) const { return get_lisp(name.c_str()); } @@ -192,4 +192,3 @@ private: } // end of namespace lisp #endif -