Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/ResolvExpr/ResolvMode.h

    r0536c03 r396037d  
    2222                const bool prune;            ///< Prune alternatives to min-cost per return type? [true]
    2323                const bool failFast;         ///< Fail on no resulting alternatives? [true]
     24                const bool satisfyAssns;     ///< Satisfy assertions? [false]
    2425
    25                 constexpr ResolvMode(bool a, bool p, bool ff)
    26                 : adjust(a), prune(p), failFast(ff) {}
     26        private:
     27                constexpr ResolvMode(bool a, bool p, bool ff, bool sa)
     28                : adjust(a), prune(p), failFast(ff), satisfyAssns(sa) {}
    2729
     30        public:
    2831                /// Default settings
    29                 constexpr ResolvMode() : adjust(false), prune(true), failFast(true) {}
     32                constexpr ResolvMode() : adjust(false), prune(true), failFast(true), satisfyAssns(false) {}
    3033               
    3134                /// With adjust flag set; turns array and function types into equivalent pointers
    32                 static constexpr ResolvMode withAdjustment() { return { true, true, true }; }
     35                static constexpr ResolvMode withAdjustment() { return { true, true, true, false }; }
    3336
    3437                /// With adjust flag set but prune unset; pruning ensures there is at least one alternative
    3538                /// per result type
    36                 static constexpr ResolvMode withoutPrune() { return { true, false, true }; }
     39                static constexpr ResolvMode withoutPrune() { return { true, false, true, false }; }
    3740
    3841                /// With adjust and prune flags set but failFast unset; failFast ensures there is at least
    3942                /// one resulting alternative
    40                 static constexpr ResolvMode withoutFailFast() { return { true, true, false }; }
     43                static constexpr ResolvMode withoutFailFast() { return { true, true, false, false }; }
    4144
    4245                /// The same mode, but with satisfyAssns turned on; for top-level calls
    43                 ResolvMode atTopLevel() const { return { adjust, true, failFast }; }
     46                ResolvMode atTopLevel() const { return { adjust, prune, failFast, true }; }
    4447        };
    4548} // namespace ResolvExpr
Note: See TracChangeset for help on using the changeset viewer.