| Index: base/callback.h.pump
|
| diff --git a/base/callback.h.pump b/base/callback.h.pump
|
| index ef65e8322f21c2b969538b5148c12935f7492fde..57db9d03519c641a93e67cb31b32716b988f26e1 100644
|
| --- a/base/callback.h.pump
|
| +++ b/base/callback.h.pump
|
| @@ -44,6 +44,10 @@ $var MAX_ARITY = 7
|
| // The reason to pass via a const-reference is to avoid unnecessary
|
| // AddRef/Release pairs to the internal state.
|
| //
|
| +// If a Callback variable must be empty during the Run() of a previous value of
|
| +// that variable, use ResetAndRun(). E.g. if MyClass has a member variable
|
| +// Callback which gets set as a side-effect of Run()'ing the Callback (to
|
| +// something else), ResetAndRun() can be handy.
|
| //
|
| // EXAMPLE USAGE:
|
| //
|
| @@ -292,6 +296,16 @@ $for ARG ,
|
| [[internal::CallbackForward(a$(ARG))]]);
|
| }
|
|
|
| +
|
| + R ResetAndRun($for ARG ,
|
| + [[typename internal::CallbackParamTraits<A$(ARG)>::ForwardType a$(ARG)]]) {
|
| + Callback<RunType> tmp(*this);
|
| + Reset();
|
| + tmp.Run(
|
| +$for ARG ,
|
| + [[internal::CallbackForward(a$(ARG))]]);
|
| + }
|
| +
|
| private:
|
| typedef R(*PolymorphicInvoke)(
|
| internal::BindStateBase*[[]]
|
|
|