#ifndef __rf_string_ih__ #define __rf_string_ih__ #include "rf_string.hh" #include "rf_common.ih" namespace rftype { using namespace rfrt ; inline String::String(size_t _len) : Object(), WString(_len) {} inline String::String (WString const& _s): Object(), WString(_s) {} inline String::String(size_t _len, wchar_t _fill) : Object(), WString(_len) { for (size_t i = 0; i < _len; i++) (*this)[i] = _fill; } inline String& String::operator = (String const& _s) { if (this != &_s) { this->~String(); new(this) String(_s); } return self; } inline unsigned String::get_type () const { return reg.get_type(); } inline pxx::WString String::to_string () const { return pxx::WString(this->get_data()); } // // inline uint32_t String::hash () const { return 0; } inline bool String::operator == (Object const& _obj) const { try { String const& str = dynamic_cast(_obj); return (this->get_data()) == str.get_data(); } catch (std::bad_cast&) { return false; } } } #endif // __rf_string_ih__