|
lsst.cpputils gee37125a88+b319181507
|
Namespaces | |
| namespace | backtrace |
| namespace | details |
| namespace | python |
| namespace | version |
Classes | |
| class | Backtrace |
| Singleton, enables automatic backtraces on the following signals: More... | |
| class | Cache |
| Cache of most recently used values. More... | |
| struct | key |
| struct | n |
| class | Symbol |
Functions | |
| std::string | demangleType (std::string const _typeName) |
| std::size_t | hashCombine (std::size_t seed) noexcept |
| Combine hashes. | |
| template<typename T, typename... Rest> | |
| std::size_t | hashCombine (std::size_t seed, const T &value, Rest... rest) noexcept |
| Combine hashes. | |
| template<typename InputIterator> | |
| std::size_t | hashIterable (std::size_t seed, InputIterator begin, InputIterator end) noexcept |
| Combine hashes in an iterable. | |
| double | nanojanskyToABMagnitude (double flux) |
| Convert a flux in nanojansky to AB magnitude. | |
| double | ABMagnitudeToNanojansky (double magnitude) |
| Convert an AB magnitude to a flux in nanojansky. | |
| std::string | getPackageDir (std::string const &packageName) |
| return the root directory of a setup package | |
| std::string | getPackageDirFromAddress (void const *addressInLibrary) |
| return the root directory of the package whose shared library contains the given address | |
| template<typename T> | |
| constexpr void | assertValidHash () |
| Compile-time test of whether a specialization of std::hash conforms to the general spec. | |
| template<typename T> | |
| void | assertHashesEqual (T obj1, T obj2) |
| Test that equal objects have equal hashes. | |
Variables | |
| const double | referenceFlux = 1e23 * pow(10, (48.6 / -2.5)) * 1e9 |
| The Oke & Gunn (1983) AB magnitude reference flux, in nJy (often approximated as 3631.0). | |
| double lsst::cpputils::ABMagnitudeToNanojansky | ( | double | magnitude | ) |
Convert an AB magnitude to a flux in nanojansky.
Definition at line 32 of file Magnitude.cc.
| void lsst::cpputils::assertHashesEqual | ( | T | obj1, |
| T | obj2 ) |
|
constexpr |
| std::string lsst::cpputils::demangleType | ( | std::string const | _typeName | ) |
Definition at line 113 of file Demangle.cc.
| std::string lsst::cpputils::getPackageDir | ( | std::string const & | packageName | ) |
return the root directory of a setup package
| [in] | packageName | name of package (e.g. "utils") |
| lsst::pex::exceptions::NotFoundError | if desired version can't be found |
Definition at line 36 of file packaging.cc.
| std::string lsst::cpputils::getPackageDirFromAddress | ( | void const * | addressInLibrary | ) |
return the root directory of the package whose shared library contains the given address
The address is resolved to its containing shared library via dladdr, and the package root is derived from that library's location (.../lib/libFoo.so -> ...). This allows a package to locate its own data files without relying on environment variables, provided the address belongs to a symbol compiled into that package's own shared library.
| [in] | addressInLibrary | address of a symbol residing in the target package's shared library |
| lsst::pex::exceptions::NotFoundError | if the library cannot be located |
Definition at line 50 of file packaging.cc.
|
inlinenoexcept |
Combine hashes.
A specialization of hashCombine for a trivial argument list.
Definition at line 35 of file hashCombine.h.
|
noexcept |
Combine hashes.
This is provided as a convenience for those who need to hash a composite. C++11 includes std::hash, but neglects to include a facility for combining hashes.
| T,Rest | the types to hash. All types must have a valid (in particular, non-throwing) specialization of std::hash. |
| seed | An arbitrary starting value. |
| value,rest | The objects to hash. |
To use it:
// Arbitrary seed; can change to get different hashes of same argument list std::size_t seed = 0; result = hashCombine(seed, obj1, obj2, obj3);
Definition at line 63 of file hashCombine.h.
|
noexcept |
Combine hashes in an iterable.
This is provided as a convenience for those who need to hash a container.
| InputIterator | an iterator to the objects to be hashed. The pointed-to type must have a valid (in particular, non-throwing) specialization of std::hash. |
| seed | An arbitrary starting value. |
| begin,end | The range to hash. |
To use it:
// Arbitrary seed; can change to get different hashes of same argument list std::size_t seed = 0; result = hashIterable(seed, container.begin(), container.end());
Definition at line 93 of file hashCombine.h.
| double lsst::cpputils::nanojanskyToABMagnitude | ( | double | flux | ) |
Convert a flux in nanojansky to AB magnitude.
Definition at line 30 of file Magnitude.cc.
| const double lsst::cpputils::referenceFlux = 1e23 * pow(10, (48.6 / -2.5)) * 1e9 |
The Oke & Gunn (1983) AB magnitude reference flux, in nJy (often approximated as 3631.0).
Definition at line 46 of file Magnitude.h.