source: icGREP/icgrep-devel/icgrep/re/re_intersect.h @ 6173

Last change on this file since 6173 was 6173, checked in by nmedfort, 7 months ago

Added RE_Inspector.

Migrated RE passes to RE_Transformer.

Incorporated Memoizer functionality into RE_Transformer/Inspector.

Removed Memoizer.

Bug fix for unicode_set.

File size: 724 bytes
Line 
1#ifndef RE_INTERSECT_H
2#define RE_INTERSECT_H
3
4#include <re/re_re.h>
5
6namespace re {
7
8class Intersect : public RE {
9public:
10    static inline bool classof(const RE * re) {
11        return re->getClassTypeId() == ClassTypeId::Intersect;
12    }
13    static inline bool classof(const void *) {
14        return false;
15    }
16    RE * getLH() const {
17        return mLh;
18    }
19    RE * getRH() const {
20        return mRh;
21    }
22protected:
23    friend RE * makeIntersect(RE*, RE*);
24    Intersect(RE * lh, RE * rh)
25    : RE(ClassTypeId::Intersect)
26    , mLh(lh)
27    , mRh(rh)
28    {
29
30    }
31    virtual ~Intersect() {}
32private:
33    RE * const mLh;
34    RE * const mRh;
35};
36
37RE * makeIntersect(RE * lh, RE * rh);
38
39}
40
41#endif // RE_INTERSECT_H
Note: See TracBrowser for help on using the repository browser.