Lines Matching refs:ActionInterface
106 // a new action, you should also consider implementing ActionInterface
157 // 1. a class FooAction that implements the ActionInterface interface, and
700 class ActionInterface {
705 ActionInterface() {}
706 virtual ~ActionInterface() {}
715 ActionInterface(const ActionInterface&) = delete;
716 ActionInterface& operator=(const ActionInterface&) = delete;
725 // std::shared_ptr to const ActionInterface<T>. Don't inherit from Action! You
726 // can view an object implementing ActionInterface<F> as a concrete action
733 // Adapter class to allow constructing Action from a legacy ActionInterface.
737 ::std::shared_ptr<ActionInterface<F>> impl_;
770 explicit Action(ActionInterface<F>* impl)
771 : fun_(ActionAdapter{::std::shared_ptr<ActionInterface<F>>(impl)}) {}
784 // the corresponding method in ActionInterface is not. The reason
875 class MonomorphicImpl : public ActionInterface<F> {
896 Action<F> MakeAction(ActionInterface<F>* impl) {
1163 class Impl : public ActionInterface<F> {
1205 class Impl : public ActionInterface<F> {
1383 class Impl : public ActionInterface<F> {