8 #include <pybind11/pybind11.h> 16 :
public std::enable_shared_from_this<BoundPropertyBase>
24 std::string
str_()
const;
26 std::string
latex_()
const;
28 std::string
repr_()
const;
33 Ex::iterator
get_it()
const;
48 template <
typename PropT,
typename... ParentTs>
50 :
virtual public ParentTs...
54 using py_type = pybind11::class_<BoundProperty, std::shared_ptr<BoundProperty>, ParentTs...>;
64 std::string
str_()
const;
66 std::string
latex_()
const;
68 std::string
repr_()
const;
73 static std::shared_ptr<BoundProperty>
get_from_kernel(Ex::iterator ex,
const std::string& label,
bool ignore_parent_rel);
80 template <
typename PropT> std::string
get_name();
82 template <
typename BoundPropT>
typename BoundPropT::py_type
def_abstract_prop(pybind11::module& m);
83 template <
typename BoundPropT>
typename BoundPropT::py_type
def_prop(pybind11::module& m);
std::string str_() const
Human-readable form in text, i.e. no special formatting.
Definition: py_properties.cc:203
virtual ~BoundPropertyBase()
Definition: py_properties.cc:76
BoundProperty()
Definition: py_properties.cc:142
Definition: py_properties.hh:49
Ex_ptr for_obj
Definition: py_properties.hh:44
std::string repr_() const
Python-parseable form. FIXME: not correct right now.
Definition: py_properties.cc:114
Ex::iterator get_it() const
Definition: py_properties.cc:135
Definition: py_properties.hh:15
Basic storage class for symbolic mathemematical expressions.
Definition: Storage.hh:140
static Properties & get_props()
Definition: py_properties.cc:125
BoundPropertyBase()
Definition: py_properties.cc:62
static Kernel & get_kernel()
Definition: py_properties.cc:120
std::shared_ptr< Ex > Ex_ptr
Definition: py_ex.hh:9
void attach(Ex_ptr ex) const
Attach this property to a different symbol.
Definition: py_properties.cc:191
Base class for all properties, handling argument parsing and defining the interface.
Definition: Props.hh:126
std::string str_() const
Human-readable form in text, i.e. no special formatting.
Definition: py_properties.cc:81
static std::shared_ptr< BoundProperty > get_from_kernel(Ex::iterator ex, const std::string &label, bool ignore_parent_rel)
Definition: py_properties.cc:166
Functions to handle the exchange properties of two or more symbols in a product.
Definition: Adjform.cc:83
const property * prop
Definition: py_properties.hh:39
void init_properties(py::module &m)
Definition: py_properties.cc:307
BoundPropT::py_type def_prop(pybind11::module &m)
Definition: py_properties.cc:237
std::string repr_() const
Python-parseable form. FIXME: not correct right now.
Definition: py_properties.cc:215
std::string latex_() const
Human-readable form using LaTeX markup.
Definition: py_properties.cc:209
pybind11::list list_properties()
Definition: py_properties.cc:257
pybind11::class_< BoundProperty, std::shared_ptr< BoundProperty >, ParentTs... > py_type
Definition: py_properties.hh:54
std::string latex_() const
Human-readable form using LaTeX markup.
Definition: py_properties.cc:91
PropT cpp_type
Definition: py_properties.hh:53
Class holding a collection of properties attached to expressions.
Definition: Props.hh:233
const cpp_type * get_prop() const
Definition: py_properties.cc:185
BoundPropT::py_type def_abstract_prop(pybind11::module &m, const std::string &name)
Definition: py_properties.cc:221
Ex & get_ex() const
Definition: py_properties.cc:130