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

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

Handle arbitrary enumerated properties without special casing; improve error reporting

File size: 746 bytes
RevLine 
[4626]1#ifndef RESOLVE_PROPERTIES_H
2#define RESOLVE_PROPERTIES_H
3
4#include <UCD/unicode_set.h>
5
6namespace re {
7    class Name;
[4673]8    class RE_Parser;
[4626]9}
10
[4673]11namespace UCD {
12
[4737]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};
[4673]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);
[4626]23UCD::UnicodeSet resolveUnicodeSet(re::Name * const name);
24
[4673]25}
26
[4626]27#endif // RESOLVE_PROPERTIES_H
Note: See TracBrowser for help on using the repository browser.