source: icGREP/icgrep-devel/icgrep/re/re_nullable.h @ 5786

Last change on this file since 5786 was 5732, checked in by cameron, 21 months ago

More changes in preparation for LLVM 3.9, 4.0

File size: 733 bytes
RevLine 
[3917]1#ifndef RE_NULLABLE_H
2#define RE_NULLABLE_H
3
[5646]4#include <llvm/Support/Compiler.h>
5
[5267]6namespace re { class RE; }
7namespace re { class Vector; }
[3917]8
[4194]9namespace re {
10
[4182]11class RE_Nullable {
[3917]12public:
[5732]13    static RE * removeNullablePrefix(RE * re);
14    static RE * removeNullableSuffix(RE * re);
15    static RE * removeNullableAssertion(RE * re);
16    static RE * removeNullableAfterAssertion(RE * re);
[5509]17    static bool isNullable(const RE * re);
18    static bool hasNullablePrefix(const RE * re);
19    static bool hasNullableSuffix(const RE * re);
[3917]20private:
[5147]21    static bool isNullableAfterAssertion(const RE * re);
22    static RE * removeNullableAfterAssertion_helper(RE * re);
[4197]23    static bool isNullable(const Vector * vec);
[3917]24};
25
[4194]26}
27
[3917]28#endif // RE_NULLABLE_H
Note: See TracBrowser for help on using the repository browser.