source: icGREP/icgrep-devel/icgrep/UCD/resolve_properties.h @ 4797

Last change on this file since 4797 was 4737, checked in by cameron, 4 years ago

Handle arbitrary enumerated properties without special casing; improve error reporting

File size: 746 bytes
Line 
1#ifndef RESOLVE_PROPERTIES_H
2#define RESOLVE_PROPERTIES_H
3
4#include <UCD/unicode_set.h>
5
6namespace re {
7    class Name;
8    class RE_Parser;
9}
10
11namespace UCD {
12
13class UnicodePropertyExpressionError : public std::exception {
14public:
15    UnicodePropertyExpressionError(const std::string && msg) noexcept : _msg(msg) {}
16    const char* what() const noexcept { return _msg.c_str();}
17private:
18    inline UnicodePropertyExpressionError() noexcept {}
19    const std::string _msg;
20};
21re::Name * resolveProperty(const std::string value, re::RE_Parser * parser);
22re::Name * resolveProperty(const std::string prop, const std::string value, re::RE_Parser * parser);
23UCD::UnicodeSet resolveUnicodeSet(re::Name * const name);
24
25}
26
27#endif // RESOLVE_PROPERTIES_H
Note: See TracBrowser for help on using the repository browser.