Program Listing for File eigen-base.hpp
↰ Return to documentation for file (include/nanoeigenpy/eigen-base.hpp
)
#pragma once
#include <nanobind/eigen/dense.h>
#include <nanobind/nanobind.h>
namespace nanoeigenpy {
namespace nb = nanobind;
struct EigenBaseVisitor : nb::def_visitor<EigenBaseVisitor> {
template <typename Derived, typename... Ts>
void execute(nb::class_<Derived, Ts...> &cl) {
using EigenBase = Eigen::EigenBase<Derived>;
static_assert(std::is_base_of_v<EigenBase, Derived>);
cl.def_prop_ro("cols", &Derived::cols)
.def_prop_ro("rows", &Derived::rows)
.def_prop_ro("size", &Derived::size);
}
};
} // namespace nanoeigenpy