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

Make some afw types usable in compile-time expressions

    XMLWordPrintable

    Details

    • Type: Story
    • Status: Won't Fix
    • Resolution: Done
    • Fix Version/s: None
    • Component/s: afw, geom
    • Story Points:
      8
    • Epic Link:
    • Team:
      Alert Production

      Description

      Compile-time expressions (constexpr) are a C++11 feature that allows constants of any type to be used in contexts that previously required integers. Since this is a fully backward-compatible extension of a class's functionality, Effective Modern C++ recommends using constexpr anywhere where language rules and future implementation changes allow it.

      Retrofitting constexpr to all classes in afw is impractical, but constexpr support is most valuable for classes that represent simple data types (e.g., Angle or Point). This ticket therefore covers a subset of the following types, whose appropriateness will be determined when work begins:

      • 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

          Activity

          krzys Krzysztof Findeisen created issue -
          krzys Krzysztof Findeisen made changes -
          Field Original Value New Value
          Epic Link DM-9788 [ 31141 ]
          krzys Krzysztof Findeisen made changes -
          Assignee Krzysztof Findeisen [ krzys ]
          krzys Krzysztof Findeisen made changes -
          Story Points 3 8
          krzys Krzysztof Findeisen made changes -
          Rank Ranked lower
          Hide
          pschella Pim Schellart [X] (Inactive) added a comment -

          This would be awesome!

          Show
          pschella Pim Schellart [X] (Inactive) added a comment - This would be awesome!
          krzys Krzysztof Findeisen made changes -
          Component/s geom [ 10759 ]
          krzys Krzysztof Findeisen made changes -
          Risk Score 0
          krzys Krzysztof Findeisen made changes -
          Rank Ranked lower
          krzys Krzysztof Findeisen made changes -
          Rank Ranked higher
          sullivan Ian Sullivan made changes -
          Resolution Done [ 10000 ]
          Status To Do [ 10001 ] Won't Fix [ 10405 ]

            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:
              Resolved: