diff options
Diffstat (limited to 'raul')
-rw-r--r-- | raul/Symbol.hpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/raul/Symbol.hpp b/raul/Symbol.hpp index c2efbdc..469a4cf 100644 --- a/raul/Symbol.hpp +++ b/raul/Symbol.hpp @@ -45,7 +45,7 @@ public: * It is a fatal error to construct a Symbol from an invalid string, * use is_valid first to check. */ - Symbol(const std::basic_string<char>& symbol) + explicit Symbol(const std::basic_string<char>& symbol) : _str(g_intern_string(symbol.c_str())) { assert(is_valid(symbol)); @@ -56,12 +56,17 @@ public: * It is a fatal error to construct a Symbol from an invalid string, * use is_valid first to check. */ - Symbol(const char* csymbol) + explicit Symbol(const char* csymbol) : _str(g_intern_string(csymbol)) { assert(is_valid(csymbol)); } + Symbol& operator=(const Symbol& other) { + _str = other._str; + return *this; + } + inline const char* c_str() const { return _str; } inline bool operator==(const Symbol& other) const { @@ -78,7 +83,7 @@ public: static bool is_valid(const std::basic_string<char>& symbol); - static std::string symbolify(const std::basic_string<char>& str); + static Raul::Symbol symbolify(const std::basic_string<char>& str); private: const char* _str; |