Lines Matching defs:holder

212     // Main constructor for a found value/holder:
218 // Default constructor (used to signal a value-and-holder not found by get_value_and_holder())
230 template <typename H> H &holder() const {
313 * Extracts C++ value and holder pointer references from an instance (which may contain multiple
316 * `find_type` is omitted (or explicitly specified as nullptr) the first value/holder are returned,
357 // Simple path: no python-side multiple inheritance, and a small-enough holder
363 else { // multiple base types or a too-large holder
365 // [hN] is the (uninitialized) holder instance for value N, and [bb...] is a set of bool
366 // values that tracks whether each associated holder has been initialized. Each [block] is
371 space += t->holder_size_in_ptrs; // holder instance
876 static handle cast_holder(const itype *src, const void *holder) {
880 nullptr, nullptr, holder);
1436 /// Type caster for holder types like std::shared_ptr, etc.
1454 explicit operator holder_type*() { return std::addressof(holder); }
1459 operator holder_type&() { return holder; }
1461 explicit operator holder_type&() { return holder; }
1473 throw cast_error("Unable to load a custom holder type from a default-holder instance");
1479 holder = v_h.template holder<holder_type>();
1500 holder = holder_type(sub_caster.holder, (type *) value);
1510 holder_type holder;
1540 /// Create a specialization for custom holder types (silently ignores std::shared_ptr)
1550 // PYBIND11_DECLARE_HOLDER_TYPE holder types:
1551 template <typename base, typename holder> struct is_holder_type :
1552 std::is_base_of<detail::type_caster_holder<base, holder>, detail::type_caster<holder>> {};