ppap4lmp  0.7.2
py_invoker.h
Go to the documentation of this file.
1 
8 #ifndef PYBIND_INVOKER_H
9 #define PYBIND_INVOKER_H
10 
11 #include <alias/pybind.h>
12 #include <invokers/invoker.h>
13 
21 template <class INVO = Invoker>
22 class PyInvoker : public INVO {
23  protected:
24  void execute_impl(
25  const Vec<ShPtr<Processor>> &procs) override
26  {
27  PYBIND11_OVERLOAD_PURE(
28  void, INVO, execute_impl, procs);
29  }
30  public:
31  using INVO::INVO;
32 };
33 
35 namespace pybind
36 {
45  void py_invoker(py::module &m);
46 }
47 
48 #endif
Namespace for functions to bind C++ classes to Python.
std::vector< T > Vec
Vec is an alias for vector (same as list in Python).
Definition: std.h:27
void py_invoker(py::module &m)
Bind Invoker class to Python.
Definition: py_invoker.cpp:10
Trampoline class to bind Invoker class and its subclasses to Python.
Definition: py_invoker.h:22
std::shared_ptr< T > ShPtr
ShPtr is an alias for shared pointer.
Definition: std.h:16
This file has a definition of Invoker class, which executes one or more analysis. ...
This file includes pybind11 and defines an alias for the namespace pybind11.