-
Notifications
You must be signed in to change notification settings - Fork 3
/
allowedtypes.cpp
36 lines (27 loc) · 787 Bytes
/
allowedtypes.cpp
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
#include "allowedtypes.hpp"
#include "boost/algorithm/string.hpp"
#include <algorithm>
#include <cstddef>
using std::size_t;
using std::string;
using std::vector;
namespace allowed {
void AllowedTypes::append(const std::string & name) {
if (!name.empty())
this->allowed.push_back(name);
}
bool AllowedTypes::has(const std::string & descr) const {
std::vector<std::string>::const_iterator pos
= std::find(this->allowed.begin(), this->allowed.end(), descr);
return (pos != this->allowed.end());
}
bool AllowedTypes::empty() const {
return this->allowed.empty();
}
std::ostream& operator<<(std::ostream &os, const AllowedTypes & thing) {
if (thing.empty())
return os;
os << boost::algorithm::join(thing.allowed, ", ");
return os;
}
} // namespace allowed