Ignore:
Timestamp:
Mar 12, 2018, 7:22:06 AM (14 months ago)
Author:
cameron
Message:

Initial deployment of bytegrep kernel in icgrep

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/kernels/grep_kernel.h

    r5889 r5902  
    1414
    1515   
     16class UnicodeNonFinalKernel : public pablo::PabloKernel {
     17public:
     18    UnicodeNonFinalKernel(const std::unique_ptr<kernel::KernelBuilder> & kb);
     19    bool isCachable() const override { return true; }
     20    bool hasSignature() const override { return false; }
     21protected:
     22    void generatePabloMethod() override;
     23};
     24
     25class UnicodeLineBreakKernel : public pablo::PabloKernel {
     26public:
     27    UnicodeLineBreakKernel(const std::unique_ptr<kernel::KernelBuilder> & kb);
     28    bool isCachable() const override { return true; }
     29    bool hasSignature() const override { return false; }
     30protected:
     31    void generatePabloMethod() override;
     32};
     33
    1634class RequiredStreams_UTF8 : public pablo::PabloKernel {
    1735public:
     
    5270};
    5371
     72struct ByteGrepSignature {
     73    ByteGrepSignature(re::RE * re);
     74protected:
     75    re::RE * const  mRE;
     76    std::string     mSignature;
     77};
     78
     79
     80class ByteGrepKernel : public ByteGrepSignature, public pablo::PabloKernel {
     81public:
     82    ByteGrepKernel(const std::unique_ptr<kernel::KernelBuilder> & iBuilder, re::RE * const re, std::vector<std::string> externals = {});
     83    std::string makeSignature(const std::unique_ptr<kernel::KernelBuilder> & iBuilder) override;
     84    bool isCachable() const override { return true; }
     85protected:
     86    void generatePabloMethod() override;
     87    std::vector<std::string> mExternals;
     88};
     89   
    5490struct ByteBitGrepSignature {
    5591    ByteBitGrepSignature(re::RE * prefix, re::RE * suffix);
Note: See TracChangeset for help on using the changeset viewer.