blob: 7f21f703edb4e50396d665b99f72511ec31c732a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
/*
core/label.cc
This file is part of the Osirion project and is distributed under
the terms of the GNU General Public License version 2
*/
#include "core/label.h"
namespace core {
bool Label::compare(const Label *first, const Label *second)
{
if (first->label() < second->label()) {
return true;
} else if (first->label() > second->label()) {
return false;
} else {
return (first->label().length() < second->label().length());
}
}
Label::Label()
{
}
Label::Label(const char *label)
{
if (label)
labelstr.assign(label);
}
Label::Label(const std::string & label)
{
labelstr.assign(label);
}
Label::~Label()
{
labelstr.clear();
namestr.clear();
}
void Label::set_label(const std::string & label)
{
labelstr.assign(label);
aux::to_label(labelstr);
}
void Label::set_label(const char *label)
{
if (label) {
labelstr.assign(label);
aux::to_label(labelstr);
} else {
labelstr.clear();
}
}
void Label::set_name(const std::string & name)
{
namestr.assign(name);
aux::strip_quotes(namestr);
}
void Label::set_name(const char *name)
{
if (name) {
namestr.assign(name);
aux::strip_quotes(namestr);
} else {
namestr.clear();
}
}
} // namespace core
|