Ignore:
Timestamp:
May 6, 2017, 4:05:05 PM (2 years ago)
Author:
nmedfort
Message:

Continued refactoring work.

File:
1 edited

Legend:

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

    r5297 r5435  
    1515namespace kernel {
    1616
    17 class DirectCharacterClassKernelBuilder : public BlockOrientedKernel {
    18 public:
    19    
    20     DirectCharacterClassKernelBuilder(IDISA::IDISA_Builder * iBuilder, std::string ccSetName, std::vector<re::CC *> charClasses, unsigned codeUnitSize)
    21     : BlockOrientedKernel(iBuilder, std::move(ccSetName),
    22                   {Binding{iBuilder->getStreamSetTy(1, 8 * codeUnitSize), "codeUnitStream"}},
    23                   {Binding{iBuilder->getStreamSetTy(charClasses.size(), 1), "ccStream"}},
    24                   {}, {}, {})
    25     , mCharClasses(charClasses)
    26     , mCodeUnitSize(codeUnitSize) {
    27     }
    28    
     17class DirectCharacterClassKernelBuilder final : public BlockOrientedKernel {
     18public:   
     19    DirectCharacterClassKernelBuilder(const std::unique_ptr<IDISA::IDISA_Builder> & b, std::string ccSetName, std::vector<re::CC *> charClasses, unsigned codeUnitSize);
    2920    void generateDoBlockMethod() override;
    30 
    3121private:
    32     std::vector<re::CC *> mCharClasses;
    33     unsigned mCodeUnitSize;
     22    const std::vector<re::CC *> mCharClasses;
     23    const unsigned              mCodeUnitSize;
    3424   
    3525};
    3626
    37 class ParabixCharacterClassKernelBuilder: public pablo::PabloKernel {
     27class ParabixCharacterClassKernelBuilder final : public pablo::PabloKernel {
    3828public:
    39     ParabixCharacterClassKernelBuilder(IDISA::IDISA_Builder * iBuilder, std::string ccSetName, const std::vector<re::CC *> & charClasses, unsigned basisBitsCount);
     29    ParabixCharacterClassKernelBuilder(const std::unique_ptr<IDISA::IDISA_Builder> & b, std::string ccSetName, const std::vector<re::CC *> & charClasses, unsigned codeUnitSize);
     30protected:
     31    void prepareKernel() override;
     32private:
     33    const std::vector<re::CC *> mCharClasses;
    4034};
    4135
Note: See TracChangeset for help on using the changeset viewer.