pybind11/tests
Dean Moldovan e18bc02fc9 Add default and converting constructors for all concrete Python types
* Deprecate the `py::object::str()` member function since `py::str(obj)`
  is now equivalent and preferred

* Make `py::repr()` a free function

* Make sure obj.cast<T>() works as expected when T is a Python type

`obj.cast<T>()` should be the same as `T(obj)`, i.e. it should convert
the given object to a different Python type. However, `obj.cast<T>()`
usually calls `type_caster::load()` which only checks the type without
doing any actual conversion. That causes a very unexpected `cast_error`.
This commit makes it so that `obj.cast<T>()` and `T(obj)` are the same
when T is a Python type.

* Simplify pytypes converting constructor implementation

It's not necessary to maintain a full set of converting constructors
and assignment operators + const& and &&. A single converting const&
constructor will work and there is no impact on binary size. On the
other hand, the conversion functions can be significantly simplified.
2016-11-17 08:55:42 +01:00
..
CMakeLists.txt Provide more control over automatic generation of docstrings (#486) 2016-11-15 12:38:05 +01:00
conftest.py Replace std::cout with py::print in tests 2016-09-07 01:25:27 +02:00
constructor_stats.h Don't construct unique_ptr around unowned pointers (#478) 2016-11-06 19:12:48 +01:00
object.h minor doc & style fixes 2016-09-06 13:02:29 +09:00
pybind11_tests.cpp Make attr and item accessors throw on error instead of returning nullptr 2016-09-23 01:40:22 +02:00
pybind11_tests.h Replace std::cout with py::print in tests 2016-09-07 01:25:27 +02:00
test_alias_initialization.cpp Implement py::init_alias<>() constructors 2016-09-09 03:04:09 -04:00
test_alias_initialization.py Implement py::init_alias<>() constructors 2016-09-09 03:04:09 -04:00
test_buffers.cpp Make test initialization self-registering 2016-09-03 17:34:41 -04:00
test_buffers.py Port tests to pytest 2016-08-19 13:19:38 +02:00
test_callbacks.cpp Add py::dict() keyword constructor 2016-09-06 16:41:50 +02:00
test_callbacks.py nicer error message for invalid function arguments 2016-09-19 13:43:43 +02:00
test_chrono.cpp Changed non system clocks to be time deltas 2016-09-13 20:40:28 +10:00
test_chrono.py Relax constraints on testing to ensure they work in all cases. 2016-09-28 00:59:21 +10:00
test_class_args.cpp Support std::shared_ptr holder type out of the box 2016-10-20 16:19:58 +02:00
test_class_args.py Allow arbitrary class_ template option ordering 2016-09-06 12:22:13 -04:00
test_constants_and_functions.cpp Make test initialization self-registering 2016-09-03 17:34:41 -04:00
test_constants_and_functions.py Move enum tests into a new file 2016-08-19 13:19:38 +02:00
test_copy_move_policies.cpp Test uncopyable static member 2016-10-20 21:32:55 +01:00
test_copy_move_policies.py Test uncopyable static member 2016-10-20 21:32:55 +01:00
test_docstring_options.cpp Provide more control over automatic generation of docstrings (#486) 2016-11-15 12:38:05 +01:00
test_docstring_options.py Provide more control over automatic generation of docstrings (#486) 2016-11-15 12:38:05 +01:00
test_eigen.cpp minor doc & style fixes 2016-09-06 13:02:29 +09:00
test_eigen.py Fix test suite failure without numpy and improve module init diagnostics 2016-08-25 17:08:09 +02:00
test_enum.cpp Extended enum support (#503) 2016-11-16 17:28:11 +01:00
test_enum.py Extended enum support (#503) 2016-11-16 17:28:11 +01:00
test_eval_call.py Rewrite eval tests to allow for simple asserts 2016-08-19 16:31:48 +02:00
test_eval.cpp Make error_already_set fetch and hold the Python error 2016-09-10 12:08:32 +02:00
test_eval.py Rewrite eval tests to allow for simple asserts 2016-08-19 16:31:48 +02:00
test_exceptions.cpp Added py::register_exception for simple case (#296) 2016-09-16 08:04:15 +02:00
test_exceptions.py Added py::register_exception for simple case (#296) 2016-09-16 08:04:15 +02:00
test_inheritance.cpp Add py::isinstance<T>(obj) for generalized Python type checking 2016-11-17 08:55:42 +01:00
test_inheritance.py Add py::isinstance<T>(obj) for generalized Python type checking 2016-11-17 08:55:42 +01:00
test_issues.cpp address number caster regression (fixes #484) 2016-11-07 15:59:01 +01:00
test_issues.py address number caster regression (fixes #484) 2016-11-07 15:59:01 +01:00
test_keep_alive.cpp Replace std::cout with py::print in tests 2016-09-07 01:25:27 +02:00
test_keep_alive.py Port tests to pytest 2016-08-19 13:19:38 +02:00
test_kwargs_and_defaults.cpp Remove superseded handle::operator() overloads 2016-09-06 16:41:50 +02:00
test_kwargs_and_defaults.py nicer error message for invalid function arguments 2016-09-19 13:43:43 +02:00
test_methods_and_attributes.cpp Make reference(_internal) the default return value policy for properties (#473) 2016-11-01 11:44:57 +01:00
test_methods_and_attributes.py Make reference(_internal) the default return value policy for properties (#473) 2016-11-01 11:44:57 +01:00
test_modules.cpp Make test initialization self-registering 2016-09-03 17:34:41 -04:00
test_modules.py Simplify tests by replacing output capture with asserts where possible 2016-08-19 13:19:38 +02:00
test_multiple_inheritance.cpp Support std::shared_ptr holder type out of the box 2016-10-20 16:19:58 +02:00
test_multiple_inheritance.py Multiple inheritance support 2016-09-19 13:45:31 +02:00
test_numpy_array.cpp Switch NumPy variadic indexing to per-value arguments (#500) 2016-11-16 17:53:37 +01:00
test_numpy_array.py pybind11: implicitly convert NumPy integer scalars 2016-10-28 01:02:46 +02:00
test_numpy_dtypes.cpp Add default and converting constructors for all concrete Python types 2016-11-17 08:55:42 +01:00
test_numpy_dtypes.py Use pytest fixtures in numpy dtypes test module 2016-11-03 09:35:05 +00:00
test_numpy_vectorize.cpp Replace std::cout with py::print in tests 2016-09-07 01:25:27 +02:00
test_numpy_vectorize.py Simplify tests by replacing output capture with asserts where possible 2016-08-19 13:19:38 +02:00
test_opaque_types.cpp Make test initialization self-registering 2016-09-03 17:34:41 -04:00
test_opaque_types.py nicer error message for invalid function arguments 2016-09-19 13:43:43 +02:00
test_operator_overloading.cpp Make test initialization self-registering 2016-09-03 17:34:41 -04:00
test_operator_overloading.py Port tests to pytest 2016-08-19 13:19:38 +02:00
test_pickling.cpp Add dynamic attribute support 2016-10-11 22:13:02 +02:00
test_pickling.py Add dynamic attribute support 2016-10-11 22:13:02 +02:00
test_python_types.cpp Add default and converting constructors for all concrete Python types 2016-11-17 08:55:42 +01:00
test_python_types.py Add default and converting constructors for all concrete Python types 2016-11-17 08:55:42 +01:00
test_sequences_and_iterators.cpp Fix test compilation failure under gcc 4.9 (#496) 2016-11-13 10:41:31 +09:00
test_sequences_and_iterators.py Add tests for generalized iterators 2016-08-24 23:30:00 +01:00
test_smart_ptr.cpp Support std::shared_ptr holder type out of the box 2016-10-20 16:19:58 +02:00
test_smart_ptr.py Make unique_ptr's with non-default deleters work 2016-09-04 18:23:55 -04:00
test_stl_binders.cpp Fix stl_bind to support movable, non-copyable value types (#490) 2016-11-15 12:30:38 +01:00
test_stl_binders.py Fix stl_bind to support movable, non-copyable value types (#490) 2016-11-15 12:30:38 +01:00
test_virtual_functions.cpp Update OVERLOAD macros to support ref/ptr return type overloads 2016-09-11 01:21:53 -04:00
test_virtual_functions.py Update OVERLOAD macros to support ref/ptr return type overloads 2016-09-11 01:21:53 -04:00