pybind11/tests
Jason Rhinelander ec62d977c4 Implement py::init_alias<>() constructors
This commit adds support for forcing alias type initialization by
defining constructors with `py::init_alias<arg1, arg2>()` instead of
`py::init<arg1, arg2>()`.  Currently py::init<> only results in Alias
initialization if the type is extended in python, or the given
arguments can't be used to construct the base type, but can be used to
construct the alias.  py::init_alias<>, in contrast, always invokes the
constructor of the alias type.

It looks like this was already the intention of
`py::detail::init_alias`, which was forward-declared in
86d825f330, but was apparently never
finished: despite the existance of a .def method accepting it, the
`detail::init_alias` class isn't actually defined anywhere.

This commit completes the feature (or possibly repurposes it), allowing
declaration of classes that will always initialize the trampoline which
is (as I argued in #397) sometimes useful.
2016-09-09 03:04:09 -04:00
..
CMakeLists.txt Implement py::init_alias<>() constructors 2016-09-09 03:04:09 -04:00
conftest.py Replace std::cout with py::print in tests 2016-09-07 01:25:27 +02:00
constructor_stats.h Replace std::cout with py::print in tests 2016-09-07 01:25:27 +02:00
object.h minor doc & style fixes 2016-09-06 13:02:29 +09:00
pybind11_tests.cpp Make test initialization self-registering 2016-09-03 17:34:41 -04: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 Support keyword arguments and generalized unpacking in C++ 2016-09-06 16:41:50 +02:00
test_class_args.cpp Allow arbitrary class_ template option ordering 2016-09-06 12:22:13 -04: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_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 minor doc & style fixes 2016-09-06 13:02:29 +09:00
test_enum.py Move enum tests into a new file 2016-08-19 13:19:38 +02: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 test initialization self-registering 2016-09-03 17:34:41 -04:00
test_eval.py Rewrite eval tests to allow for simple asserts 2016-08-19 16:31:48 +02:00
test_exceptions.cpp Set error if it's not set in error_already_set() 2016-09-07 21:10:16 +01:00
test_exceptions.py Set error if it's not set in error_already_set() 2016-09-07 21:10:16 +01:00
test_inheritance.cpp Allow passing base types as a template parameter 2016-09-06 20:34:24 -04:00
test_inheritance.py Allow passing base types as a template parameter 2016-09-06 20:34:24 -04:00
test_issues.cpp Implement py::init_alias<>() constructors 2016-09-09 03:04:09 -04:00
test_issues.py Implement py::init_alias<>() constructors 2016-09-09 03:04:09 -04: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 Remove superseded handle::operator() overloads 2016-09-06 16:41:50 +02:00
test_methods_and_attributes.cpp Make test initialization self-registering 2016-09-03 17:34:41 -04:00
test_methods_and_attributes.py Port tests to pytest 2016-08-19 13:19:38 +02: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_numpy_dtypes.cpp Make test initialization self-registering 2016-09-03 17:34:41 -04:00
test_numpy_dtypes.py Fix test suite failure without numpy and improve module init diagnostics 2016-08-25 17:08:09 +02: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 Simplify tests by replacing output capture with asserts where possible 2016-08-19 13:19:38 +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 Make test initialization self-registering 2016-09-03 17:34:41 -04:00
test_pickling.py Port tests to pytest 2016-08-19 13:19:38 +02:00
test_python_types.cpp Replace std::cout with py::print in tests 2016-09-07 01:25:27 +02:00
test_python_types.py Replace std::cout with py::print in tests 2016-09-07 01:25:27 +02:00
test_sequences_and_iterators.cpp Make test initialization self-registering 2016-09-03 17:34:41 -04:00
test_sequences_and_iterators.py Add tests for generalized iterators 2016-08-24 23:30:00 +01:00
test_smart_ptr.cpp Replace std::cout with py::print in tests 2016-09-07 01:25:27 +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 minor doc & style fixes 2016-09-06 13:02:29 +09:00
test_stl_binders.py Adding bind_map 2016-09-05 17:11:16 -04:00
test_virtual_functions.cpp Merge pull request #385 from jagerman/relax-class-arguments 2016-09-07 23:49:00 +09:00
test_virtual_functions.py Fix template trampoline overload lookup failure 2016-08-29 19:41:44 -04:00