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

Add C++11 features to afw primitives

    Details

    • Type: Epic
    • Status: To Do
    • Resolution: Unresolved
    • Fix Version/s: None
    • Component/s: afw, geom
    • Epic Name:
      afw C++11
    • Story Points:
      40
    • Team:
      Alert Production

      Description

      With the transition from Swig to pybind11, we are now able to freely use C++11 features. Many of these features allow for more flexible and safer code, particularly when applied to fundamental data types. Conversely, these types are often simple enough that modernizing them is relatively little work

      Except for DM-9935, which lets invalid operations be detected at compile time rather than link or run time, none of the changes in this ticket should change a class's existing behavior. DM-9936 and DM-9938 will allow affected classes to be used in more contexts but will not affect existing client code.

      The classes covered by this ticket are (based on assumed simplicity, and therefore subject to change):

      • afw::cameraGeom::CameraPoint
      • afw::cameraGeom::CameraSys
      • afw::cameraGeom::CameraSysPrefix
      • afw::cameraGeom::Orientation
      • afw::coord::Coord and its subclasses
      • afw::coord::Observatory
      • afw::coord::Weather
      • afw::detection::Threshold
      • afw::geom::Angle
      • afw::geom::AngleUnit
      • afw::geom::Box
      • afw::geom::CoordinateBase and its subclasses
      • afw::geom::CoordinateExpr
      • afw::geom::Span
      • afw::geom::SpherePoint
      • afw::geom::polygon::Polygon
      • afw::image::Calib
      • afw::image::Color
      • afw::image::DefectBase
      • afw::image::Filter
      • afw::image::FilterProperty
      • afw::math::FitResults
      • afw::math::Function and its subclasses
      • afw::math::MaskedVector
      • afw::math::Statistics
      • afw::table::BaseRecord and its subclasses
      • afw::table::ConstFunctorKey
      • afw::table::FieldBase and its subclasses
      • afw::table::InputFunctorKey and its subclasses
      • afw::table::KeyBase and its subclasses
      • afw::table::Match
      • afw::table::OutputFunctorKey and its subclasses
      • afw::table::ReferenceFunctorKey
      • afw::table::SchemaItem
      • afw::table::io::Persistable
      • afw::table::io::PersistableFacade

        Attachments

          Issue Links

          Stories in Epic (Custom Issue Matrix)

            Activity

            Hide
            pschella Pim Schellart [X] (Inactive) added a comment -

            Yes, this sounds very useful!

            Show
            pschella Pim Schellart [X] (Inactive) added a comment - Yes, this sounds very useful!
            Hide
            krzys Krzysztof Findeisen added a comment -

            Some of the clang-tidy checks skipped for DM-13744 may simplify tickets in this epic.

            Show
            krzys Krzysztof Findeisen added a comment - Some of the clang-tidy checks skipped for DM-13744 may simplify tickets in this epic.
            Hide
            pschella Pim Schellart [X] (Inactive) added a comment -

            What do you mean with skipped? Which ones would you like enabled?

            Show
            pschella Pim Schellart [X] (Inactive) added a comment - What do you mean with skipped? Which ones would you like enabled?
            Hide
            krzys Krzysztof Findeisen added a comment -

            I mean whatever you meant by "I ran a subset of the available checks." I assume you meant a strict subset?

            I'm not asking for any particular checks; my comment was just a reminder to my future self that the work may be partially automatable.

            Show
            krzys Krzysztof Findeisen added a comment - I mean whatever you meant by "I ran a subset of the available checks." I assume you meant a strict subset? I'm not asking for any particular checks; my comment was just a reminder to my future self that the work may be partially automatable.
            Hide
            pschella Pim Schellart [X] (Inactive) added a comment -

            Yes, a strict subset indeed. Also note that it shouldn't be too difficult to write a clang-tidy extension ourselves for things that don't have one yet.

            Show
            pschella Pim Schellart [X] (Inactive) added a comment - Yes, a strict subset indeed. Also note that it shouldn't be too difficult to write a clang-tidy extension ourselves for things that don't have one yet.

              People

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

                Dates

                • Created:
                  Updated:

                  Summary Panel