File PolymorphicValue.h¶
-
template<>
structhash
<lsst::afw::typehandling::PolymorphicValue>¶ - #include <PolymorphicValue.h>
Hash specialization for PolymorphicValue.
- Return
the hash of the Storable inside the PolymorphicValue, or an arbitrary value if it is empty
- Exceptions
UnsupportedOperationException
: Thrown if the Storable is not hashable.
Public Types
-
template<>
usingargument_type
= lsst::afw::typehandling::PolymorphicValue¶
-
template<>
usingresult_type
= size_t¶
Public Functions
-
size_t
operator()
(argument_type const &obj) const
-
namespace
lsst
Class for a simple mapping implementing a generic AstrometryTransform.
Remove all non-astronomical counts from the Chunk Exposure’s pixels.
Forward declarations for lsst::utils::Cache
For details on the Cache class, see the Cache.h file.
It uses a template rather than a pointer so that the derived classes can use the specifics of the transform. The class simplePolyMapping overloads a few routines.
A base class for image defects
Numeric constants used by the Integrate.h integrator routines.
Compute Image Statistics
- Note
Gauss-Kronrod-Patterson quadrature coefficients for use in quadpack routine qng. These coefficients were calculated with 101 decimal digit arithmetic by L. W. Fullerton, Bell Labs, Nov 1981.
- Note
The Statistics class itself can only handle lsst::afw::image::MaskedImage() types. The philosophy has been to handle other types by making them look like lsst::afw::image::MaskedImage() and reusing that code. Users should have no need to instantiate a Statistics object directly, but should use the overloaded makeStatistics() factory functions.
-
namespace
afw
-
namespace
typehandling
Functions
-
void
swap
(PolymorphicValue &lhs, PolymorphicValue &rhs) Swap specialization for PolymorphicValue.
-
class
PolymorphicValue
- #include <PolymorphicValue.h>
Container that passes Storable objects by value while preserving type.
This class is implicitly convertible to and from a reference to Storable, but behaves like a value: changing the internal Storable changes the object’s state, and copying the object creates a new Storable.
- Note
While a PolymorphicValue is always initialized with a Storable, it may become empty if it is the source of a move-construction or move-assignment. Conversion of an empty value to Storable& throws.
Unnamed Group
-
PolymorphicValue
(PolymorphicValue const &other) Try to copy a PolymorphicValue.
- Parameters
other
: the PolymorphicValue to copy.
- Exceptions
UnsupportedOperationException
: Thrown if a copy is required and the object inother
does not implement Storable::cloneStorable.
-
PolymorphicValue
(PolymorphicValue &&other)
Unnamed Group
-
PolymorphicValue &
operator=
(PolymorphicValue const &other) Try to assign a PolymorphicValue.
To preserve the run-time type of the object in
other
, this method swaps (and possibly copies) the Storables instead of relying on theStorable
’soperator=
.- Parameters
other
: the PolymorphicValue to overwrite this value with.
- Exceptions
UnsupportedOperationException
: Thrown if a copy is required and the object inother
does not implement Storable::cloneStorable.
-
PolymorphicValue &
operator=
(PolymorphicValue &&other)
-
void
swap
(PolymorphicValue &other) Exchange the contents of this container and another.
Unnamed Group
-
operator Storable&
() Return a reference to the internal Storable, if one exists.
- Return
a reference to the internal object
- Exceptions
pex::exceptions::LogicError
: Thrown if this object is empty.
-
operator Storable const&
() const
-
Storable &
get
()
-
Storable const &
get
() const
Unnamed Group
-
bool
operator==
(PolymorphicValue const &other) const Test whether the contained Storables are equal.
Empty PolymorphicValues compare equal to each other and unequal to any non-empty PolymorphicValue.
-
bool
operator!=
(PolymorphicValue const &other) const
Public Functions
-
PolymorphicValue
(Storable const &value) Create a new object containing a copy of a Storable.
- Parameters
value
: the value to copy into a PolymorphicValue
-
~PolymorphicValue
()
-
bool
empty
() const Check whether this object contains a Storable.
- Return
true
if this object has no Storable,false
otherwise
-
std::size_t
hash_value
() const Return a hash of this object (optional operation).
- Exceptions
UnsupportedOperationException
: Thrown if the internal Storable is not hashable.
Related
-
void
swap
(PolymorphicValue &lhs, PolymorphicValue &rhs) Swap specialization for PolymorphicValue.
-
void
-
namespace
-
namespace
std
Functions
-
template<>
voidswap
(lsst::afw::typehandling::PolymorphicValue &lhs, lsst::afw::typehandling::PolymorphicValue &rhs)¶ Swap specialization for PolymorphicValue.
-
template<>
structhash
<lsst::afw::typehandling::PolymorphicValue> - #include <PolymorphicValue.h>
Hash specialization for PolymorphicValue.
- Return
the hash of the Storable inside the PolymorphicValue, or an arbitrary value if it is empty
- Exceptions
UnsupportedOperationException
: Thrown if the Storable is not hashable.
Public Types
-
template<>
usingargument_type
= lsst::afw::typehandling::PolymorphicValue
-
template<>
usingresult_type
= size_t
Public Functions
-
size_t
operator()
(argument_type const &obj) const
-
template<>