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

Add macro for Pybind11 wrapping of LSST_CONTROL_FIELD

    XMLWordPrintable

Details

    Description

      The LSST_CONTROL_FIELD macro defines multiple fields and methods in a Control object's C++ interface, most of which are implementation details hidden from the average programmer. These implementation methods must appear in an object's Python interface for pex_config to work correctly, but should not be wrapped manually as this would break the abstraction provided by the macro.

      The simplest solution is to define a macro that adds all elements of an LSST_CONTROL_FIELD to the appropriate Pybind11 wrapper object. This macro must be defined in pex_config in a place where it can be included by the wrapper code for any other stack package.

      Attachments

        Issue Links

          Activity

            Please review the newly standardized and centralized macro. Thanks!

            krzys Krzysztof Findeisen added a comment - Please review the newly standardized and centralized macro. Thanks!

            Looks fine to me. Just be sure to merge it into the ticket branch instead of master.

            pschella Pim Schellart [X] (Inactive) added a comment - Looks fine to me. Just be sure to merge it into the ticket branch instead of master.

            Something was wrong with JIRA on my machine. Should be Review Complete, not Done.

            pschella Pim Schellart [X] (Inactive) added a comment - Something was wrong with JIRA on my machine. Should be Review Complete, not Done.

            Is tickets/DM-6168 the wrong target?

            krzys Krzysztof Findeisen added a comment - Is tickets/ DM-6168 the wrong target?

            People

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

              Dates

                Created:
                Updated:
                Resolved:

                Jenkins

                  No builds found.