Ignore:
Timestamp:
Nov 22, 2017, 3:32:58 PM (19 months ago)
Author:
nmedfort
Message:

Improvements to memory usage of CCs

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/re/re_cc.h

    r5649 r5742  
    5252    friend CC * intersectCC(const CC * a, const CC * b);
    5353
    54     inline CC()
    55     : RE(ClassTypeId::CC), UnicodeSet() {
    56 
    57     }
     54    CC();
    5855
    5956    CC(const CC & cc);
    6057
    61     inline CC(const codepoint_t codepoint)
    62     : RE(ClassTypeId::CC)
    63     , UCD::UnicodeSet(codepoint) {
     58    CC(const codepoint_t codepoint);
    6459
    65     }
     60    explicit CC(const codepoint_t lo_codepoint, const codepoint_t hi_codepoint);
    6661
    67     inline CC(const codepoint_t lo_codepoint, const codepoint_t hi_codepoint)
    68     : RE(ClassTypeId::CC)
    69     , UCD::UnicodeSet(lo_codepoint, hi_codepoint) {
     62    explicit CC(const CC * cc1, const CC * cc2);
    7063
    71     }
     64    CC(UCD::UnicodeSet && set);
    7265
    73     CC(const CC * cc1, const CC * cc2);
     66    CC(std::initializer_list<interval_t>::iterator begin, std::initializer_list<interval_t>::iterator end);
    7467
    75     inline CC(UCD::UnicodeSet && set)
    76     : RE(ClassTypeId::CC)
    77     , UCD::UnicodeSet(std::move(set)) {
    78 
    79     }
    80 
    81     CC(std::initializer_list<interval_t>::iterator begin, std::initializer_list<interval_t>::iterator end)
    82     : RE(ClassTypeId::CC)
    83     , UCD::UnicodeSet(begin, end)
    84     {
    85 
    86     }
    87 
    88     CC(const std::vector<interval_t>::iterator begin, const std::vector<interval_t>::iterator end)
    89     : RE(ClassTypeId::CC)
    90     , UCD::UnicodeSet(begin, end)
    91     {
    92 
    93     }
     68    CC(const std::vector<interval_t>::iterator begin, const std::vector<interval_t>::iterator end);
    9469
    9570};
Note: See TracChangeset for help on using the changeset viewer.