Lines Matching defs:operator

228     explicit operator bool() const { return value_ptr(); }
287 bool operator==(const iterator &other) { return curr.index == other.curr.index; }
288 bool operator!=(const iterator &other) { return curr.index != other.curr.index; }
289 iterator &operator++() {
296 value_and_holder &operator*() { return curr; }
297 value_and_holder *operator->() { return &curr; }
579 vptr = ::operator new(type->type_size,
583 vptr = ::operator new(type->type_size);
742 * Determine suitable casting operator for pointer-or-lvalue-casting type casters. The type caster
743 * needs to provide `operator T*()` and `operator T&()` operators.
745 * If the type supports moving the value away via an `operator T&&() &&` method, it should use
755 * Determine suitable casting operator for a type caster with a movable value. Such a type caster
756 * needs to provide `operator T*()`, `operator T&()`, and `operator T&&() &&`. The latter will be
759 * These operator are automatically provided when using the PYBIND11_TYPE_CASTER macro.
885 operator itype*() { return (type *) value; }
886 operator itype&() { if (!value) throw reference_cast_error(); return *((itype *) value); }
892 does not have a private operator new implementation. */
914 // Shortcut for calling a caster's `cast_op_type` cast operator for casting a type_caster to a T
916 return caster.operator typename make_caster<T>::template cast_op_type<T>();
920 return std::move(caster).operator
930 "std::reference_wrapper<T> caster requires T to have a caster with an `T &` operator");
941 operator std::reference_wrapper<type>() { return subcaster.operator subcaster_cast_op_type&(); }
958 operator type*() { return &value; } \
959 operator type&() { return value; } \
960 operator type&&() && { return std::move(value); } \
1112 operator void *&() { return value; }
1307 operator CharT*() { return none ? nullptr : const_cast<CharT *>(static_cast<StringType &>(str_caster).c_str()); }
1308 operator CharT&() {
1385 operator type() & { return implicit_cast(indices{}); }
1386 operator type() && { return std::move(*this).implicit_cast(indices{}); }
1452 explicit operator type*() { return this->value; }
1453 explicit operator type&() { return *(this->value); }
1454 explicit operator holder_type*() { return std::addressof(holder); }
1459 operator holder_type&() { return holder; }
1461 explicit operator holder_type&() { return holder; }
1587 // - type_caster<T>::operator T&() must exist
1601 std::is_same<decltype(std::declval<make_caster<T>>().operator T&()), T&>
1608 std::is_same<decltype(std::declval<make_caster<T>>().operator T&()), T&>
1698 T ret = std::move(detail::load_type<T>(obj).operator T&());
1788 template <typename T> arg_v operator=(T &&value) const;
1843 arg_v arg::operator=(T &&value) const { return {std::move(*this), std::forward<T>(value)}; }
1852 constexpr arg operator"" _a(const char *name, size_t) { return arg(name); }
2111 object object_api<Derived>::operator()(Args &&...args) const {
2118 return operator()<policy>(std::forward<Args>(args)...);