• Abseil Team's avatar
    Googletest export · fbef0711
    Abseil Team authored
    Change ACTION{,_Pn,_TEMPLATE} macros to build functors rather than ActionInterface<> subclasses, thus changing the Action<> wrappers they create to use the modernized (non-const) argument tuple type, allowing these macros to mutate their arguments.
    
    Functor-based Action<>s deep-copy the implementing object, so have the functors use a shared_ptr to the non-trivial state of bound value parameters.  No longer specialize that shared state to the particular action signature, encoding that information instead only in the instantiation of the implementation function.
    
    PiperOrigin-RevId: 341116208
    fbef0711
gmock-generated-actions.h 30.2 KB