19#ifndef CPPREALM_MANAGED_STRING_HPP
20#define CPPRALM_MANAGED_STRING_HPP
22#include <cpprealm/macros.hpp>
68 using value_type = std::string;
69 사용 관리되는<std::string>::managed_base::managed_base;
70 사용 managed<std::string>::managed_base:: 연산자=;
72 [[nodiscard]] std::string fetch()
const;
77 관리되는& 연산자 =(std::string&& v) { set(std::move(v));
return *
this; }
78 관리되는& 연산자 =(
const std::string& v) { set(v);
return *
this; }
79 관리되는& 연산자 =(
const char* v) { set(v);
return *
this; }
101 연산자 std::string_view()
const =
delete;
102 연산자 std::string()
const;
105 [[nodiscard]]
size_t size() const noException;
107 clear () noException을 무효화합니다.
110 managed& append(const std::
string&);
112 관리되는& 연산자+=(const std::
string&);
114 'pop_back()'을
무효화 합니다.
117 rbool operator==(const std::
string& rhs) const noException;
118 rbool 연산자==(const
char* rhs) const noException;
119 rbool 연산자!=(const std::
string& rhs) const noException;
120 rbool 연산자!=(const
char* rhs) const noException;
121 rbool contains(const std::
string &s,
bool case_critical = true) const noException;
122 rbool empty() const noException;
126 oid inline set(const std::
string& v) { m_obj- > template set<std::string>(m_key, v); }
127 [[nodiscard]]
inline std::string get()
const {
return m_obj->get<std::string>(m_key); }
129 managed(
const managed&) =
delete;
130 managed(managed &&) =
삭제;
131 managed& 연산자=(
const managed&) =
삭제;
132 managed& operator=(managed&&) =
delete;
133 템플릿<
typename,
typename>
137 template <>
struct managed<std::optional<std::string>> final :
public managed<std::string> {
138 using value_type = std::optional<std::string>;
139 사용 관리되는<std::string>::operator=;
140 managed& 연산자 =(std::optional<std::string>&& v) { 설정하다(std::move(v));
return *
this; }
141 managed& 연산자 =(
const std::optional<std::string>& v) { 설정하다(v);
return *
this; }
142 관리되는& 연산자 =(
const char* v) { set(v);
return *
this; }
144 [[nodiscard]] std::optional<std::string> fetch()
const {
145 return m_obj-> Template get_optional<std::string>(m_key);
148 [[nodiscard]] std::optional<std::string> 연산자 *()
const {
152 [[nodiscard]]
연산자 std::optional<std::string>()
const {
156 rbool 연산자==(
const std::Optional<std::string>& rhs)
const noException;
157 rbool 연산자!=(
const std::Optional<std::string>& rhs)
const noException;
159 void inline 설정하다(
const std::optional<std::string>& v) { m_obj-> template 설정하다<std::optional<std::string>>(m_key, v); }
165 템플릿<
typename,
typename>
정의: managed_string.hpp:50
정의: managed_string.hpp:30
정의: managed_string.hpp:58
정의: managed_string.hpp:40
정의: managed_string.hpp:67