LSSTApplications
18.1.0
LSSTDataManagementBasePackage
|
Basic LSST definitions. More...
#include <memory>
Go to the source code of this file.
Macros | |
#define | LSST_WHITESPACE /* White space to avoid swig converting vector<PTR(XX)> into vector<shared_ptr<XX>> */ |
A shared pointer to an object. More... | |
#define | PTR(...) std::shared_ptr<__VA_ARGS__ LSST_WHITESPACE > LSST_WHITESPACE |
#define | CONST_PTR(...) std::shared_ptr<const __VA_ARGS__ LSST_WHITESPACE > LSST_WHITESPACE |
A shared pointer to a const object. More... | |
#define | LSST_EXPORT __attribute__ ((visibility("default"))) |
Make a symbol visible even if visiblity is hidden (e.g. More... | |
#define | LSST_PRIVATE __attribute__ ((visibility("hidden"))) |
Make a symbol hidden even if default visiblity is public. More... | |
Basic LSST definitions.
Definition in file base.h.
#define CONST_PTR | ( | ... | ) | std::shared_ptr<const __VA_ARGS__ LSST_WHITESPACE > LSST_WHITESPACE |
#define LSST_EXPORT __attribute__ ((visibility("default"))) |
#define LSST_PRIVATE __attribute__ ((visibility("hidden"))) |
Make a symbol hidden even if default visiblity is public.
This implementation works for gcc and clang; it has not been tested for other compilers.
This macro should be used for most utility code for pybind11 wrapping (at least non-template, non-inline code). It can also be used in non-pybind11 code to make a symbol private to a library without also forcing it to be private to a single source file.
#define PTR | ( | ... | ) | std::shared_ptr<__VA_ARGS__ LSST_WHITESPACE > LSST_WHITESPACE |