43 lines
1006 B
C++
43 lines
1006 B
C++
#ifndef RJP_STRING_VAL_HPP
|
|
#define RJP_STRING_VAL_HPP
|
|
|
|
#include <rjp.h>
|
|
#include <rexy/string_base.hpp>
|
|
#include "string.hpp"
|
|
#include "value.hpp"
|
|
|
|
namespace rjp{
|
|
|
|
class string_val : public value
|
|
{
|
|
public:
|
|
using underlying_type = RJP_string;
|
|
public:
|
|
using value::value;
|
|
string_val(const rexy::string_base& str);
|
|
string_val(string&& str);
|
|
string_val(void);
|
|
explicit string_val(const value& val);
|
|
explicit string_val(value&& val);
|
|
string_val(const value& val, const rexy::string_base& i);
|
|
string_val(value&& val, const rexy::string_base& i);
|
|
string_val(const value& val, string&& i);
|
|
string_val(value&& val, string&& i);
|
|
|
|
string_val(const string_val&) = default;
|
|
string_val(string_val&&) = default;
|
|
~string_val(void) = default;
|
|
string_val& operator=(const string_val&) = default;
|
|
string_val& operator=(string_val&&) = default;
|
|
|
|
rexy::static_string get(void)const;
|
|
string steal(void);
|
|
void set(const rexy::string_base& str);
|
|
void set(string&& str);
|
|
|
|
};
|
|
|
|
}
|
|
|
|
#endif
|