Namespace lsst::afw::table::io::python¶
-
namespace
python
Functions
-
template<typename
T
>
voiddeclarePersistableFacade
(pybind11::module &module, std::string const &suffix) Wraps an instantiation of PersistableFacade.
Pybind11 shall assume that
PersistableFacade
is managed usingstd::shared_ptr
, as this is required for compatibility with existing subclasses ofPersistableFacade
. This means that wrapping will only work if new classes also usestd::shared_ptr
as their holder type.- Template Parameters
T
: The type of object thisPersistableFacade
is for.
- Parameters
module
: The pybind11 module that shall containPersistableFacade<T>
suffix
: A string to disambiguate this class from otherPersistableFacades
. The Python name of this class shall bePersistableFacade<suffix>
.
-
template<typename
Class
, typename ...Args
>
voidaddPersistableMethods
(pybind11::class_<Class, Args...> &cls) Add table::io::Persistable and PersistableFacade methods to the pybind11 wrapper for a class
Use this instead of declarePersistableFacade to avoid circular import issues in Python; it allows your class to be used without importing lsst.afw.table.
Use as follows:
When declaring the pybind11 class that wraps your Class do not list table::io::PersistableFacade<Class> and table::io::Persistable as subclasses.
Call this function to wrap the methods that make your object persistable.
-
template<typename