41 #include <boost/optional.hpp>
46 using boost::optional;
53 if (c ==
'/' || c ==
':') {
55 }
else if (c ==
' ') {
59 else if (c ==
'?' || c ==
'.') {
73 for (
size_t i = 0; i < c.length(); ++i) {
85 for (
size_t i = 0; i < _specification.length(); ++i) {
87 if (_specification[i] ==
'%' && (i < _specification.length() - 1)) {
88 char const key = _specification[i + 1];
89 auto j = values.find(key);
90 if (j != values.end() && ignore.find(key) == string::npos) {
91 result += filter (j->second);
98 result += filter (_specification[i]);
102 return result + suffix;
109 return a.specification() == b.specification();
Namespace for everything in libdcp.