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

Last change on this file since 4983 was 4516, checked in by nmedfort, 4 years ago

More memory leak fixes. All known leaks accounted for.

File size: 812 bytes
RevLine 
[4298]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    void setLH(RE * lh) {
20        mLh = lh;
21    }
22    RE * getRH() const {
23        return mRh;
24    }
25    void setRH(RE * rh) {
26        mRh = rh;
27    }
28protected:
[4319]29    friend RE * makeIntersect(RE*, RE*);
[4298]30    Intersect(RE * lh, RE * rh)
31    : RE(ClassTypeId::Intersect)
32    , mLh(lh)
33    , mRh(rh)
34    {
35
36    }
37    virtual ~Intersect() {}
38private:
39    RE * mLh;
40    RE * mRh;
41};
42
[4319]43RE * makeIntersect(RE * lh, RE * rh);
[4298]44
45}
46
47#endif // RE_INTERSECT_H
Note: See TracBrowser for help on using the repository browser.