summaryrefslogtreecommitdiffstats
path: root/raul
diff options
context:
space:
mode:
Diffstat (limited to 'raul')
-rw-r--r--raul/Symbol.hpp11
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;