Uploaded image for project: 'Data Management'
  1. Data Management
  2. DM-8374

Add function for Pybind11 wrapping of PersistableFacade

    XMLWordPrintable

Details

    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>.

      Attachments

        Issue Links

          Activity

            Hi rowen, please review this code to see if there are any design problems I've missed.

            krzys Krzysztof Findeisen added a comment - Hi rowen , please review this code to see if there are any design problems I've missed.

            Looks good to me. Some minor questions on PR.

            pschella Pim Schellart [X] (Inactive) added a comment - Looks good to me. Some minor questions on PR.

            Fixed and merged.

            krzys Krzysztof Findeisen added a comment - Fixed and merged.

            People

              krzys Krzysztof Findeisen
              krzys Krzysztof Findeisen
              Pim Schellart [X] (Inactive)
              Krzysztof Findeisen, Pim Schellart [X] (Inactive), Russell Owen
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Jenkins

                  No builds found.