Loading [MathJax]/extensions/tex2jax.js
LSST Applications g0fba68d861+7a5e04273c,g1ec0fe41b4+e220e2fb2f,g1fd858c14a+46aa96e35a,g35bb328faa+fcb1d3bbc8,g4d2262a081+0401f777d9,g53246c7159+fcb1d3bbc8,g56a49b3a55+6dde5ca9af,g60b5630c4e+f81e3c6253,g67b6fd64d1+fad15079a7,g78460c75b0+2f9a1b4bcd,g786e29fd12+cf7ec2a62a,g8180f54f50+37e0867462,g824a5327fb+3effcb5f7d,g8352419a5c+fcb1d3bbc8,g8852436030+6fb7fc75dc,g89139ef638+fad15079a7,g9125e01d80+fcb1d3bbc8,g94187f82dc+f81e3c6253,g989de1cb63+fad15079a7,g9ccd5d7f00+cce09d2c12,g9d31334357+f81e3c6253,g9f33ca652e+b134ec2ed3,gabe3b4be73+1e0a283bba,gabf8522325+94c30d56e9,gb1101e3267+afdd7c51d9,gb58c049af0+f03b321e39,gb89ab40317+fad15079a7,gc0af124501+3c4db12c16,gcf25f946ba+6fb7fc75dc,gd6cbbdb0b4+8d7f1baacb,gdb1c4ca869+16879ca1a6,gde0f65d7ad+c1c55904c1,ge1ad929117+f81e3c6253,ge278dab8ac+4d6e48c014,ge410e46f29+fad15079a7,gf5e32f922b+fcb1d3bbc8,gf618743f1b+445e15116c,gf67bdafdda+fad15079a7,w.2025.17
LSST Data Management Base Package
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
python.h File Reference
#include "pybind11/pybind11.h"
#include <cstddef>
#include <memory>
#include <string>
#include <sstream>
#include <utility>
#include <list>
#include <functional>
#include <iostream>
#include "lsst/pex/exceptions.h"
#include "lsst/pex/exceptions/python/Exception.h"

Go to the source code of this file.

Classes

class  lsst::cpputils::python::WrapperCollection
 A helper class for subdividing pybind11 module across multiple translation units (i.e. More...
 

Namespaces

namespace  lsst
 
namespace  lsst::cpputils
 
namespace  lsst::cpputils::python
 

Functions

template<typename T, typename PyClass>
void lsst::cpputils::python::addSharedPtrEquality (PyClass &cls)
 Add __eq__ and __ne__ methods based on two std::shared_ptr<T> pointing to the same address.
 
template<class PyClass>
void lsst::cpputils::python::addOutputOp (PyClass &cls, std::string const &method)
 Add __str__ or __repr__ method implemented by operator<<.
 
template<class PyClass>
void lsst::cpputils::python::addHash (PyClass &cls)
 Add __hash__ method implemented by std::hash.
 
std::size_t lsst::cpputils::python::cppIndex (std::ptrdiff_t size, std::ptrdiff_t i)
 Compute a C++ index from a Python index (negative values count from the end) and range-check.
 
std::pair< std::size_t, std::size_tlsst::cpputils::python::cppIndex (std::ptrdiff_t size_i, std::ptrdiff_t size_j, std::ptrdiff_t i, std::ptrdiff_t j)
 Compute a pair of C++ indices from a pair of Python indices (negative values count from the end) and range-check.