pybind11/tests
Jason Rhinelander 813d7e8687 Add movable cast support to type casters
This commit allows type_casters to allow their local values to be moved
away, rather than copied, when the type caster instance itself is an rvalue.

This only applies (automatically) to type casters using
PYBIND11_TYPE_CASTER; the generic type type casters don't own their own
pointer, and various value casters (e.g. std::string, std::pair,
arithmetic types) already cast to an rvalue (i.e. they return by value).

This updates various calling code to attempt to get a movable value
whenever the value is itself coming from a type caster about to be
destroyed: for example, when constructing an std::pair or various stl.h
containers.  For types that don't support value moving, the cast_op
falls back to an lvalue cast.

There wasn't an obvious place to add the tests, so I added them to
test_copy_move_policies, but also renamed it to drop the _policies as it
now tests more than just policies.
2017-05-24 13:09:31 -04:00
..
test_cmake_build Test with debug build of Python when DEBUG=1 on Travis 2017-02-28 00:27:26 +01:00
CMakeLists.txt Add movable cast support to type casters 2017-05-24 13:09:31 -04:00
conftest.py Minor pytest maintenance (#702) 2017-03-10 15:42:42 +01:00
constructor_stats.h Minor fixes (#613) 2017-01-31 17:28:29 +01:00
object.h Improve custom holder support (#607) 2017-01-31 17:05:44 +01:00
pybind11_tests.cpp Fix downcasting of base class pointers 2017-04-27 09:12:41 -04:00
pybind11_tests.h Replace std::cout with py::print in tests 2016-09-07 01:25:27 +02:00
pytest.ini Minor pytest maintenance (#702) 2017-03-10 15:42:42 +01:00
test_alias_initialization.cpp Implement py::init_alias<>() constructors 2016-09-09 03:04:09 -04:00
test_alias_initialization.py WIP: PyPy support (#527) 2016-12-16 15:00:46 +01:00
test_buffers.cpp Support pointers to member functions in def_buffer. 2017-05-22 17:53:37 -04:00
test_buffers.py Support pointers to member functions in def_buffer. 2017-05-22 17:53:37 -04:00
test_call_policies.cpp Add a scope guard call policy 2017-04-03 00:52:47 +02:00
test_call_policies.py Add a scope guard call policy 2017-04-03 00:52:47 +02:00
test_callbacks.cpp functional: support bound methods 2017-04-29 10:43:17 -04:00
test_callbacks.py functional: support bound methods 2017-04-29 10:43:17 -04:00
test_chrono.cpp Fix for floating point durations 2017-03-11 23:04:16 -04:00
test_chrono.py Fix for floating point durations 2017-03-11 23:04:16 -04: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 Set maximum line length for Python style checker (#552) 2016-12-13 00:59:28 +01:00
test_constants_and_functions.cpp Support binding noexcept function/methods in C++17 2016-12-14 20:40:49 +01:00
test_constants_and_functions.py Support binding noexcept function/methods in C++17 2016-12-14 20:40:49 +01:00
test_copy_move.cpp Add movable cast support to type casters 2017-05-24 13:09:31 -04:00
test_copy_move.py Add movable cast support to type casters 2017-05-24 13:09:31 -04:00
test_docstring_options.cpp Fix extra docstring newlines under options.disable_function_signatures() 2017-03-08 12:32:42 -05:00
test_docstring_options.py Fix extra docstring newlines under options.disable_function_signatures() 2017-03-08 12:32:42 -05:00
test_eigen.cpp Fix Eigen argument doc strings 2017-04-08 23:25:13 -04:00
test_eigen.py Fix Eigen shape assertion error in dense matrix caster 2017-05-11 16:10:40 +02:00
test_enum.cpp enum_: fix implicit conversion on Python 2.7 2017-04-29 16:35:28 +02:00
test_enum.py pytest target: add USE_TERMINAL flag 2017-04-29 16:35:28 +02:00
test_eval_call.py Add checks to maintain a consistent Python code style and prevent bugs (#515) 2016-11-20 21:21:54 +01:00
test_eval.cpp Add py::exec() as a shortcut for py::eval<py::eval_statements>() 2017-05-08 20:46:16 +02:00
test_eval.py Rewrite eval tests to allow for simple asserts 2016-08-19 16:31:48 +02:00
test_exceptions.cpp Add a method to check Python exception types (#772) 2017-04-02 22:38:50 +02:00
test_exceptions.py Add a method to check Python exception types (#772) 2017-04-02 22:38:50 +02:00
test_inheritance.cpp Make all classes with the same instance size derive from a common base 2017-02-23 15:45:26 +01:00
test_inheritance.py Make all classes with the same instance size derive from a common base 2017-02-23 15:45:26 +01:00
test_issues.cpp Fix debugging output for nameless py::arg_v annotations (#648) 2017-02-08 08:45:51 +01:00
test_issues.py WIP: PyPy support (#527) 2016-12-16 15:00:46 +01:00
test_kwargs_and_defaults.cpp Add support for positional args with args/kwargs 2017-01-31 17:24:41 +01:00
test_kwargs_and_defaults.py Minor pytest maintenance (#702) 2017-03-10 15:42:42 +01:00
test_methods_and_attributes.cpp Don't let PyInstanceMethod hide itself 2017-04-28 11:18:58 -04:00
test_methods_and_attributes.py Don't let PyInstanceMethod hide itself 2017-04-28 11:18:58 -04:00
test_modules.cpp Make test initialization self-registering 2016-09-03 17:34:41 -04:00
test_modules.py Add __module__ attribute to all pybind11 builtin types (#729) 2017-03-15 15:38:14 +01:00
test_multiple_inheritance.cpp Track base class pointers of instances 2017-04-27 09:12:41 -04:00
test_multiple_inheritance.py Track base class pointers of instances 2017-04-27 09:12:41 -04:00
test_numpy_array.cpp Now shape, size, ndims and itemsize are also signed integers. 2017-05-08 01:50:21 +02:00
test_numpy_array.py Now shape, size, ndims and itemsize are also signed integers. 2017-05-08 01:50:21 +02:00
test_numpy_dtypes.cpp Allow std::complex field with PYBIND11_NUMPY_DTYPE (#831) 2017-05-10 11:36:24 +02:00
test_numpy_dtypes.py Allow std::complex field with PYBIND11_NUMPY_DTYPE (#831) 2017-05-10 11:36:24 +02:00
test_numpy_vectorize.cpp Now shape, size, ndims and itemsize are also signed integers. 2017-05-08 01:50:21 +02:00
test_numpy_vectorize.py vectorize: trivial handling for F-order arrays 2017-03-21 18:53:56 -03:00
test_opaque_types.cpp Make test initialization self-registering 2016-09-03 17:34:41 -04:00
test_opaque_types.py Prefer non-converting argument overloads 2017-02-03 20:47:17 -05:00
test_operator_overloading.cpp Fix /= operator under Python 3 2017-05-21 19:15:25 -04:00
test_operator_overloading.py Fix /= operator under Python 3 2017-05-21 19:15:25 -04:00
test_pickling.cpp fix segfault in test suite due to typo (fixes #586) 2017-01-04 15:05:20 +01:00
test_pickling.py WIP: PyPy support (#527) 2016-12-16 15:00:46 +01:00
test_python_types.cpp Improve constructor resolution in variant_caster 2017-05-10 17:47:57 +02:00
test_python_types.py Improve constructor resolution in variant_caster 2017-05-10 17:47:57 +02:00
test_sequences_and_iterators.cpp Add lightweight iterators for tuple, list and sequence 2017-02-26 23:57:03 +01:00
test_sequences_and_iterators.py Add lightweight iterators for tuple, list and sequence 2017-02-26 23:57:03 +01:00
test_smart_ptr.cpp Use dynamic cast for shared_from_this holder init 2017-05-22 11:43:21 -04:00
test_smart_ptr.py Use dynamic cast for shared_from_this holder init 2017-05-22 11:43:21 -04:00
test_stl_binders.cpp Add the buffer interface for wrapped STL vectors 2017-03-14 02:50:04 +01:00
test_stl_binders.py Keep skipping buffer tests on pypy 2017-04-18 14:21:31 -04:00
test_virtual_functions.cpp Remove obsolete comment 2017-05-02 15:21:39 -04:00
test_virtual_functions.py WIP: PyPy support (#527) 2016-12-16 15:00:46 +01:00