Blender V4.3
ExtraTags.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
9#pragma once
10
11#include <map>
12#include <string>
13#include <vector>
14
17class ExtraTags {
18 public:
20 ExtraTags(const std::string profile);
21
23 virtual ~ExtraTags();
24
26 bool addTag(std::string tag, std::string data);
27
29 bool setData(std::string tag, short *data);
30
32 bool setData(std::string tag, int *data);
33
35 bool setData(std::string tag, float *data);
36
38 bool setData(std::string tag, char *data);
39 std::string setData(std::string tag, std::string &data);
40
42 std::vector<std::string> dataSplitString(const std::string &tag);
43
45 bool isProfile(std::string profile);
46
47 private:
49 ExtraTags(const ExtraTags &pre);
51 const ExtraTags &operator=(const ExtraTags &pre);
52
54 std::string profile;
55
57 std::map<std::string, std::string> tags;
58
60 int asInt(std::string tag, bool *r_ok);
62 float asFloat(std::string tag, bool *r_ok);
64 std::string asString(std::string tag, bool *r_ok);
65};
Class for saving <extra> tags for a specific UniqueId.
Definition ExtraTags.h:17
ExtraTags(const std::string profile)
Definition ExtraTags.cpp:18
virtual ~ExtraTags()
bool isProfile(std::string profile)
Definition ExtraTags.cpp:26
std::vector< std::string > dataSplitString(const std::string &tag)
bool setData(std::string tag, short *data)
Definition ExtraTags.cpp:68
bool addTag(std::string tag, std::string data)
Definition ExtraTags.cpp:31