| 250 | |
| 251 | public: |
| 252 | bool load(handle src, bool convert) { |
| 253 | if (!object_is_convertible_to_std_map(src, convert)) { |
| 254 | return false; |
| 255 | } |
| 256 | if (isinstance<dict>(src)) { |
| 257 | return convert_elements(reinterpret_borrow<dict>(src), convert); |
| 258 | } |
| 259 | if (!convert) { |
| 260 | return false; |
| 261 | } |
| 262 | auto items = reinterpret_steal<object>(PyMapping_Items(src.ptr())); |
| 263 | if (!items) { |
| 264 | throw error_already_set(); |
| 265 | } |
| 266 | assert(isinstance<iterable>(items)); |
| 267 | return convert_elements(dict(reinterpret_borrow<iterable>(items)), convert); |
| 268 | } |
| 269 | |
| 270 | template <typename T> |
| 271 | static handle cast(T &&src, return_value_policy policy, handle parent) { |
no test coverage detected