Geometrize  1.0
An application for geometrizing images into geometric primitives
templatemetadata.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <string>
4 #include <vector>
5 
6 #include "cereal/cereal.hpp"
7 #include "cereal/types/vector.hpp"
8 
9 namespace geometrize
10 {
11 
12 namespace serialization
13 {
14 
19 {
20  std::string name{};
21  std::vector<std::string> tags{};
22  std::vector<std::string> authors{};
23  std::string license{};
24 
25  template<class Archive>
26  void save(Archive& archive)
27  {
28  archive(CEREAL_NVP(name), CEREAL_NVP(tags), CEREAL_NVP(authors), CEREAL_NVP(license));
29  }
30 
31  template<class Archive>
32  void load(Archive& archive)
33  {
34  archive(CEREAL_NVP(name), CEREAL_NVP(tags), CEREAL_NVP(authors), CEREAL_NVP(license));
35  }
36 };
37 
38 }
39 
40 }
geometrize::serialization::TemplateMetadata
The TemplateMetadata struct represents the metadata (such as license information) for a task template...
Definition: templatemetadata.h:19
geometrize::serialization::TemplateMetadata::name
std::string name
The name of the template, suitable for displaying to the user.
Definition: templatemetadata.h:20
geometrize::serialization::TemplateMetadata::save
void save(Archive &archive)
Definition: templatemetadata.h:26
geometrize::serialization::TemplateMetadata::tags
std::vector< std::string > tags
Tag-strings which could be used by the application to sort or search for templates.
Definition: templatemetadata.h:21
geometrize::serialization::TemplateMetadata::license
std::string license
The license under which the template (and associated assets) is released e.g. MIT,...
Definition: templatemetadata.h:23
geometrize
Definition: commandlineparser.cpp:73
geometrize::serialization::TemplateMetadata::load
void load(Archive &archive)
Definition: templatemetadata.h:32
geometrize::serialization::TemplateMetadata::authors
std::vector< std::string > authors
User names which identify the authors of the template.
Definition: templatemetadata.h:22