Ignore:
Timestamp:
May 7, 2017, 4:34:48 PM (2 years ago)
Author:
nmedfort
Message:

Continued refactoring work. PabloKernel? now abstract base type with a 'generatePabloMethod' hook to generate Pablo code.

File:
1 edited

Legend:

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

    r5435 r5436  
    66#define CC_KERNEL_H
    77
    8 #include <pablo/pablo_kernel.h>  // for PabloKernel
    9 #include "kernel.h"              // for KernelBuilder
    10 #include <vector>                // for vector
    11 #include <string>                // for string
     8#include <pablo/pablo_kernel.h>
     9
    1210namespace IDISA { class IDISA_Builder; }
    1311namespace re { class CC; }
     
    1715class DirectCharacterClassKernelBuilder final : public BlockOrientedKernel {
    1816public:   
    19     DirectCharacterClassKernelBuilder(const std::unique_ptr<IDISA::IDISA_Builder> & b, std::string ccSetName, std::vector<re::CC *> charClasses, unsigned codeUnitSize);
     17    DirectCharacterClassKernelBuilder(const std::unique_ptr<kernel::KernelBuilder> & b, std::string ccSetName, std::vector<re::CC *> charClasses, unsigned codeUnitSize);
    2018    void generateDoBlockMethod() override;
    2119private:
     
    2725class ParabixCharacterClassKernelBuilder final : public pablo::PabloKernel {
    2826public:
    29     ParabixCharacterClassKernelBuilder(const std::unique_ptr<IDISA::IDISA_Builder> & b, std::string ccSetName, const std::vector<re::CC *> & charClasses, unsigned codeUnitSize);
     27    ParabixCharacterClassKernelBuilder(const std::unique_ptr<kernel::KernelBuilder> & b, std::string ccSetName, const std::vector<re::CC *> & charClasses, unsigned codeUnitSize);
    3028protected:
    31     void prepareKernel() override;
     29    void generatePabloMethod() override;
    3230private:
    3331    const std::vector<re::CC *> mCharClasses;
Note: See TracChangeset for help on using the changeset viewer.