Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DM-19575: Add Storable mixin to ExposureInfo components #465

Merged
merged 20 commits into from
Jun 7, 2019

Commits on Jun 7, 2019

  1. Configuration menu
    Copy the full SHA
    a8b3a88 View commit details
    Browse the repository at this point in the history
  2. Remove pybind11 wrappers for Storable.

    Wrapping Storable's optional methods leads to a confusing Python API.
    In practice, any subclass of Storable that is, for example, printable
    or hashable will provide its own wrappers for those operations anyway.
    kfindeisen committed Jun 7, 2019
    Configuration menu
    Copy the full SHA
    8a7f6df View commit details
    Browse the repository at this point in the history
  3. Clarify importance of Storable::clone.

    Non-cloneable Storables cannot be used (practically) with
    PolymorphicValue, and therefore with Key<T extends Storable>.
    kfindeisen committed Jun 7, 2019
    Configuration menu
    Copy the full SHA
    c7137e6 View commit details
    Browse the repository at this point in the history
  4. Rename Storable::clone.

    The requirement to return a smart pointer to Storable made it
    difficult to use Storable as a mixin for classes that already have a
    clone method. Renaming the method minimizes the number of times that
    cloneStorable must be implemented (typically only in the direct
    subclass of Storable).
    kfindeisen committed Jun 7, 2019
    Configuration menu
    Copy the full SHA
    0bdc0b8 View commit details
    Browse the repository at this point in the history
  5. Make Storable::cloneStorable return shared_ptr.

    While unique_ptr is a better return type for a factory method, a
    unique_ptr return cannot be implemented in terms of a shared_ptr
    return (though the reverse is true), and our existing classes cannot
    be modified to clone by unique_ptr without running into a pybind11 bug.
    At present it looks like the pybind11 team is leaning towards
    forbidding such code rather than supporting unique_ptr to
    shared_ptr conversion.
    kfindeisen committed Jun 7, 2019
    Configuration menu
    Copy the full SHA
    9d41e64 View commit details
    Browse the repository at this point in the history
  6. Fix bug in Storable::equals.

    Equals was returning `false` for comparisons to self.
    kfindeisen committed Jun 7, 2019
    Configuration menu
    Copy the full SHA
    d42ffac View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    6c3e0ca View commit details
    Browse the repository at this point in the history
  8. Add helper template for implementing Storable::equals.

    The template handles the most common behavior, where an object of a
    class implementing Storable is comparable to other objects of the same
    class, but should always be unequal to other Storables.
    kfindeisen committed Jun 7, 2019
    Configuration menu
    Copy the full SHA
    2a83ed1 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    62b4da7 View commit details
    Browse the repository at this point in the history
  10. Make SkyWcs Storable.

    kfindeisen committed Jun 7, 2019
    Configuration menu
    Copy the full SHA
    11968e2 View commit details
    Browse the repository at this point in the history
  11. Make Polygon Storable.

    kfindeisen committed Jun 7, 2019
    Configuration menu
    Copy the full SHA
    dcef0e7 View commit details
    Browse the repository at this point in the history
  12. Make Detector Storable.

    kfindeisen committed Jun 7, 2019
    Configuration menu
    Copy the full SHA
    e95d7f0 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    a1b371b View commit details
    Browse the repository at this point in the history
  14. Make ApCorrMap Storable.

    kfindeisen committed Jun 7, 2019
    Configuration menu
    Copy the full SHA
    7ed9bf6 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    24e3978 View commit details
    Browse the repository at this point in the history
  16. Make Filter Storable.

    kfindeisen committed Jun 7, 2019
    Configuration menu
    Copy the full SHA
    b4423e2 View commit details
    Browse the repository at this point in the history
  17. Make PhotoCalib Storable.

    kfindeisen committed Jun 7, 2019
    Configuration menu
    Copy the full SHA
    4bd1e83 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    dadb992 View commit details
    Browse the repository at this point in the history
  19. Make VisitInfo Storable.

    kfindeisen committed Jun 7, 2019
    Configuration menu
    Copy the full SHA
    6795017 View commit details
    Browse the repository at this point in the history
  20. Update copyright.

    kfindeisen committed Jun 7, 2019
    Configuration menu
    Copy the full SHA
    f6b608f View commit details
    Browse the repository at this point in the history