35 lines
721 B
C++
35 lines
721 B
C++
#ifndef RJP_MEMBER_HPP
|
|
#define RJP_MEMBER_HPP
|
|
|
|
#include "value.hpp"
|
|
#include "string.hpp"
|
|
#include <rexy/string.hpp>
|
|
|
|
#include <utility> //move
|
|
|
|
namespace rjp{
|
|
|
|
class member : public value
|
|
{
|
|
public:
|
|
member(void) = default;
|
|
member(const member&) = default;
|
|
member(member&&) = default;
|
|
member(const value& val):
|
|
value(val){}
|
|
member(value&& val):
|
|
value(std::move(val)){}
|
|
using value::value;
|
|
~member(void) = default;
|
|
|
|
member& operator=(const member&) = default;
|
|
member& operator=(member&&) = default;
|
|
|
|
rexy::static_string key(void)const{return rexy::static_string(rjp_member_key(m_value)->value, rjp_member_key(m_value)->length);}
|
|
string steal_key(void){return string(m_value);}
|
|
};
|
|
|
|
}
|
|
|
|
#endif
|