This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [v3] Variadic templates, fourth revision (2/2)


Updated to deal with the C++0x header bits, re-tested, and committed.
Final patch is attached.

Yippee!

 Cheers,
 Doug

On 12/8/06, Benjamin Kosnik <bkoz@redhat.com> wrote:

> 2006-12-08 Douglas Gregor <doug.gregor@gmail.com> > > * include/Makefile.in: Regenerate. > * include/tr1/mu_iterate.h: Remove. > * include/tr1/tuple (_Tuple_impl): New. > (tuple): Make variadic, re-implement as shell over _Tuple_impl. > (0-element tuple): Basis case. > (2-element tuple): Handle pair methods. > (__get_helper): Remove. > (tuple_element): Reimplement with variadic templates. > (tuple_size): Ditto. > (get): Ditto. > (operator==): Use variadic templates in the signature. > (operator<): Ditto. > (operator!=): Ditto. > (operator>): Ditto. > (operator<=): Ditto. > (operator>=): Ditto. > (__stripped_tuple_type): Remove; we've inlined its behavior. > (make_tuple): Reimplement with variadic templates. > (tie): Ditto. > * include/tr1/tuple_iterate.h: Remove. > * include/tr1/bind_repeat.h: Remove. > * include/tr1/ref_wrap_iterate.h: Remove. > * include/tr1/bind_iterate.h: Remove. > * include/tr1/functional (_Weak_result_type): Add variadic > partial specializations. > (result_of): Ditto. > (__invoke): Reimplement using variadic templates. > (reference_wrapper): Reimplement operator() with variadic > templates. > (_Maybe_unary_or_binary_function): New. > (_Mem_fn): Implement for member function pointers using variadic > templates. > (placeholders): Define 30 placeholders. > (_Index_tuple): New. > (_Build_index_tuple): New. > (_No_tuple_element): New. > (_Safe_tuple_element_impl): New. > (_Safe_tuple_element): New. > (_Mu): Reimplement with variadic templates, use > _Safe_tuple_element instead of tuple_element. > (_Bind): Reimplement with variadic templates and tuples. > (_Bind_result): Ditto. > (bind): Reimplement with variadic templates. > (_Function_handler): Ditto. > (function): Ditto. > * include/tr1/functional_iterate.h: Remove. > * include/tr1/repeat.h: Remove. > * include/Makefile.am: Don't install removed headers.

This is ok.

-benjamin

Attachment: variadic-templates-libstdc++-v3.patch.gz
Description: GNU Zip compressed data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]