LSST Applications g04a91732dc+78e6215e8b,g07dc498a13+97d95b5385,g1409bbee79+97d95b5385,g1a7e361dbc+97d95b5385,g1fd858c14a+05fbb309f5,g33399d78f5+e4334358cc,g35bb328faa+e55fef2c71,g384b62748c+f972c24389,g3bd4b5ce2c+b3ff759c25,g3dabb73f91+a7e3687b5b,g424a4f6e28+8ac7d91166,g44afde23fb+008c51a259,g53246c7159+e55fef2c71,g5477a8d5ce+bf3187b585,g60b5630c4e+8ac7d91166,g78460c75b0+8427c4cc8f,g786e29fd12+307f82e6af,g89139ef638+97d95b5385,g8b49a6ea8e+8ac7d91166,g8e3b232dfe+90b8fd0843,g9125e01d80+e55fef2c71,g989de1cb63+97d95b5385,g9f33ca652e+e11c39fbe9,gaaedd4e678+97d95b5385,gabe3b4be73+9c0c3c7524,gb1101e3267+907f31a7a8,gb58c049af0+28045f66fd,gca43fec769+e55fef2c71,gce7788e931+2f638802eb,gcf25f946ba+e4334358cc,gd6cbbdb0b4+a0407a8a92,gdd9490a0bf+f93345285a,gde0f65d7ad+e9ffcfe3fd,ge278dab8ac+1d4309d908,geab183fbe5+8ac7d91166,gecb8035dfe+4dc72c1cf9,gfba249425e+e55fef2c71,gfe7187db8c+a29bf62668,w.2025.05
LSST Data Management Base Package
Loading...
Searching...
No Matches
_cpputils.cc
Go to the documentation of this file.
1/*
2 * Developed for the LSST Data Management System.
3 * This product includes software developed by the LSST Project
4 * (https://www.lsst.org).
5 * See the COPYRIGHT file at the top-level directory of this distribution
6 * for details of code ownership.
7 *
8 * This program is free software: you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation, either version 3 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program. If not, see <https://www.gnu.org/licenses/>.
20 */
21
22#include "pybind11/pybind11.h"
23
25
26namespace lsst {
27namespace cpputils {
28
29void wrapBacktrace(python::WrapperCollection & wrappers);
30void wrapDemangle(python::WrapperCollection & wrappers);
31void wrapFixGamut(python::WrapperCollection & wrappers);
32
33PYBIND11_MODULE(_cpputils, mod) {
34 python::WrapperCollection wrappers(mod, "_cpputils");
35 {
36 auto backtraceWrappers = wrappers.makeSubmodule("backtrace");
37 wrapBacktrace(backtraceWrappers);
38 wrappers.collectSubmodule(std::move(backtraceWrappers));
39 }
40 wrapDemangle(wrappers);
41 wrapFixGamut(wrappers);
42 wrappers.finish();
43}
44
45} // utils
46} // lsst
A helper class for subdividing pybind11 module across multiple translation units (i....
Definition python.h:242
WrapperCollection makeSubmodule(std::string const &name)
Create a WrapperCollection for a submodule defined in the same binary.
Definition python.h:318
void finish()
Invoke all deferred wrapper-declaring callables.
Definition python.h:435
void collectSubmodule(WrapperCollection &&submodule)
Merge deferred definitions in the given submodule into the parent WrapperCollection.
Definition python.h:329
T move(T... args)
void wrapBacktrace(python::WrapperCollection &wrappers)
Definition _Backtrace.cc:32
void wrapDemangle(python::WrapperCollection &wrappers)
Definition _Demangle.cc:32
PYBIND11_MODULE(_cpputils, mod)
Definition _cpputils.cc:33
void wrapFixGamut(python::WrapperCollection &wrappers)