3#include <pybind11/pybind11.h>
20 Ex::iterator it = ex->begin();
21 if (ex->is_valid(it)) {
23 algo.set_progress_monitor(pm);
25 ex->update_state(
algo.apply_pre_order(
repeat));
41 template <
class Algo,
typename Arg1>
48 template <
class Algo,
typename Arg1,
typename Arg2>
55 template <
class Algo,
typename Arg1,
typename Arg2,
typename Arg3>
77 std::forward<PyArgs>(
pyargs)...,
78 pybind11::arg(
"deep") =
deep,
79 pybind11::arg(
"repeat") =
repeat,
80 pybind11::arg(
"depth") =
depth,
82 pybind11::return_value_policy::reference_internal);
92 template <
class Algo,
typename Arg1>
99 template <
class Algo,
typename Arg1,
typename Arg2>
119 std::forward<PyArgs>(
pyargs)...,
120 pybind11::arg(
"deep") =
deep,
121 pybind11::arg(
"repeat") =
repeat,
122 pybind11::arg(
"depth") =
depth,
124 pybind11::return_value_policy::reference_internal);
Object keeping track of time spent in nested execution blocks, and keeping track of out-of-band messa...
Definition ProgressMonitor.hh:17
void def_algo(pybind11::module &m, const char *name, bool deep, bool repeat, unsigned int depth, PyArgs... pyargs)
Method to declare a Python function with variable number of arguments, and make that call a C++ algor...
Definition py_algorithms.hh:72
Kernel * get_kernel_from_scope()
Get a pointer to the currently visible kernel.
Definition py_kernel.cc:41
void def_algo_preorder(pybind11::module &m, const char *name, bool deep, bool repeat, unsigned int depth, PyArgs... pyargs)
Method to declare a Python function with variable number of arguments, and make that call a C++ algor...
Definition py_algorithms.hh:114
Ex_ptr apply_algo_base(Algo &algo, Ex_ptr ex, bool deep, bool repeat, unsigned int depth, bool pre_order=false)
Generic internal entry point for the Python side to execute a C++ algorithm.
Definition py_algorithms.hh:18
Functions to handle the exchange properties of two or more symbols in a product.
Definition Adjform.cc:83
Ex_ptr apply_algo(Ex_ptr ex, bool deep, bool repeat, unsigned int depth)
Definition py_algorithms.hh:35
ProgressMonitor * get_progress_monitor()
Definition py_progress.cc:18
void call_post_process(Kernel &kernel, Ex_ptr ex)
Definition py_ex.cc:583
void init_algorithms(py::module &m)
Definition py_algorithms.cc:74
std::shared_ptr< Ex > Ex_ptr
Definition py_ex.hh:9
std::string read_manual(pybind11::module &m, const char *category, const char *name)
Definition py_helpers.cc:66
Ex_ptr apply_algo_preorder(Ex_ptr ex, bool deep, bool repeat, unsigned int depth)
Definition py_algorithms.hh:86
void set(rset_t::iterator &num, multiplier_t fac)
Definition Storage.cc:1063