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

Add function for Pybind11 wrapping of PersistableFacade

    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

            Hide
            krzys Krzysztof Findeisen added a comment -

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

            Show
            krzys Krzysztof Findeisen added a comment - Hi Russell Owen , please review this code to see if there are any design problems I've missed.
            Hide
            pschella Pim Schellart [X] (Inactive) added a comment -

            Looks good to me. Some minor questions on PR.

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

            Fixed and merged.

            Show
            krzys Krzysztof Findeisen added a comment - Fixed and merged.

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Summary Panel