Ignore:
Timestamp:
Jul 6, 2015, 9:35:48 AM (4 years ago)
Author:
nmedfort
Message:

Next nodes for While statements must be declared similar to how Defined Vars are for Ifs. (Temporarily breaks multiplexing correctness.)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/pablo/expression_map.hpp

    r4602 r4641  
    1111struct ExpressionMap {
    1212    enum {N = sizeof...(Args)};
    13     typedef ExpressionMap<Args...> MapType;
     13    typedef ExpressionMap<Args...> Type;
    1414    typedef std::tuple<PabloAST::ClassTypeId, Args...> Key;
    1515
    16     inline ExpressionMap(MapType * predecessor)
    17     : mPredecessor(predecessor)
    18     {
     16    inline explicit ExpressionMap(Type * predecessor) : mPredecessor(predecessor) { }
    1917
    20     }
     18    ExpressionMap(const Type &) = default;
     19
     20    ExpressionMap(Type &&) = default;
    2121
    2222    template <class Functor, typename... Params>
     
    7979
    8080private:
    81     MapType * const             mPredecessor;
     81    Type *                      mPredecessor;
    8282    std::map<Key, PabloAST *>   mMap;
    8383};
     
    8686struct ExpressionTable {
    8787
    88     ExpressionTable()
     88    ExpressionTable() noexcept
    8989    : mUnary(nullptr)
    9090    , mBinary(nullptr)
    91     , mTernary(nullptr)
    92     {
     91    , mTernary(nullptr) {
    9392
    9493    }
    9594
    96     ExpressionTable(ExpressionTable * predecessor)
     95    explicit ExpressionTable(ExpressionTable * predecessor) noexcept
    9796    : mUnary(predecessor ? &(predecessor->mUnary) : nullptr)
    9897    , mBinary(predecessor ? &(predecessor->mBinary) : nullptr)
    99     , mTernary(predecessor ? &(predecessor->mTernary) : nullptr)
    100     {
     98    , mTernary(predecessor ? &(predecessor->mTernary) : nullptr) {
    10199
    102100    }
     101
     102    ExpressionTable(const ExpressionTable &) = default;
     103
     104    ExpressionTable(ExpressionTable &&) = default;
    103105
    104106    template <class Functor, typename... Params>
Note: See TracChangeset for help on using the changeset viewer.