Details
-
Type:
Improvement
-
Status: Done
-
Resolution: Done
-
Fix Version/s: None
-
Component/s: afw
-
Labels:
-
Story Points:1
-
Epic Link:
-
Sprint:Alert Production F16 - 11c
-
Team:Alert Production
Description
Because pybind11 requires explicit wrapping of each template instantiation, the curiously recurring template pattern is difficult to wrap – details of which methods need to be wrapped should be centralized in one place, but the instantiations naturally belong to the classes that inherit from the template.
The PersistableFacade interface is an example of the CRTP used by roughly a dozen classes across the stack. It should be wrapped by defining a function in afw::table::io for creating a pybind11 wrapper, then calling the function when wrapping a class that implements PersistableFacade<T>.
Hi Russell Owen, please review this code to see if there are any design problems I've missed.