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

Add C++11 inheritance safeguards to afw

    Details

    • Templates:
    • Story Points:
      6
    • Sprint:
      AP F18-3
    • Team:
      Alert Production

      Description

      C++11 allows programmers with more control over how classes are inherited and how methods are overridden. These features allow for safer code, particularly when applied to fundamental data types. They can be retrofitted onto existing code fairly mechanically.

      This ticket includes the following changes:

      • Declare standalone types final (do not do this for any type that's part of an inheritance hierarchy, even if it appears to be intended as a leaf class).
      • Declare methods final only if their existing documentation forbids overriding them.
      • Declare overriding methods override.

      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

          Container Issues

            Issue Links

              Activity

                People

                • Assignee:
                  krzys Krzysztof Findeisen
                  Reporter:
                  krzys Krzysztof Findeisen
                  Reviewers:
                  Russell Owen
                  Watchers:
                  Krzysztof Findeisen, Russell Owen
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  2 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:

                    Summary Panel