|
|
@ -8,6 +8,7 @@
|
|
|
|
#include <map>
|
|
|
|
#include <map>
|
|
|
|
#include <memory>
|
|
|
|
#include <memory>
|
|
|
|
#include <string>
|
|
|
|
#include <string>
|
|
|
|
|
|
|
|
#include <string_view>
|
|
|
|
#include "common/common_funcs.h"
|
|
|
|
#include "common/common_funcs.h"
|
|
|
|
#include "common/common_types.h"
|
|
|
|
#include "common/common_types.h"
|
|
|
|
|
|
|
|
|
|
|
@ -55,8 +56,8 @@ class Field : public FieldInterface {
|
|
|
|
public:
|
|
|
|
public:
|
|
|
|
YUZU_NON_COPYABLE(Field);
|
|
|
|
YUZU_NON_COPYABLE(Field);
|
|
|
|
|
|
|
|
|
|
|
|
Field(FieldType type_, std::string name_, T value_)
|
|
|
|
Field(FieldType type_, std::string_view name_, T value_)
|
|
|
|
: name(std::move(name_)), type(type_), value(std::move(value_)) {}
|
|
|
|
: name(name_), type(type_), value(std::move(value_)) {}
|
|
|
|
|
|
|
|
|
|
|
|
~Field() override = default;
|
|
|
|
~Field() override = default;
|
|
|
|
|
|
|
|
|
|
|
@ -123,7 +124,7 @@ public:
|
|
|
|
* @param value Value for the field to add.
|
|
|
|
* @param value Value for the field to add.
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
template <typename T>
|
|
|
|
template <typename T>
|
|
|
|
void AddField(FieldType type, const char* name, T value) {
|
|
|
|
void AddField(FieldType type, std::string_view name, T value) {
|
|
|
|
return AddField(std::make_unique<Field<T>>(type, name, std::move(value)));
|
|
|
|
return AddField(std::make_unique<Field<T>>(type, name, std::move(value)));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|