更新しました。 ttp://booster.x0.to/ 以下更新内容の一部 [Spirit] Spirit: fixing endianess/truncation problem in Karma|s output iterator Spirit: fixing tests for big endian binary generator Spirit: removed undefined behavior in grammar initialization [Interprocess] Fixes for 1.41 [Intrusive] Fixes for 1.41 [Graph] Removed assertions that may depend on FP precision. [Serialization] add non-polymorphic pointer test [Pool] Allow zero-sized blocks to be allocated by malloc_n. Fixes #386 [Unordered] Use normal emplace implementation for emplace_hint and insert with hint. Fix allocator for construct from initializer list. [Random] Disable some warnings for msvc. Fixes #3532 [Math] Improve ibeta error handling, and add new tests. [Detail] fix for fix in r35591: sometimes __hppa is on PA-RISC but __hpux isn't Fixes ticket #3537 [Signals2] Qualify addressof call, refs #3534. [Python] Fix for #3490, parameter depends on python. [Thread] Added futures to boost.thread
Check failed in file /usr/include/boost/numeric/ublas/vector_expression.hpp at line 548: size1 == size2 terminate called after throwing an instance of 'boost::numeric::ublas::bad_argument' what(): bad argument Aborted
更新しました。今週はsmart_ptr, thread, regex, xpressiveといった割と使われていそうなライブラリに fixや仕様変更が入っています。 ttp://booster.x0.to/ 以下更新内容の一部 [Spirit] Spirit: more work on attribute traits, allowing optional for alternatives, maxwidth supports extracting overhang [Fusion] fix for #2355: discrepancy between std::accumulate and fusion::accumulate [Regex] Tighten up error handling and checking. [Unordered] Remove 'grouped' from hash_table as it isn't used and is a bit confusing. [Circular_buffer] circular_buffer: added erase_begin and erase_end methods
Fix for bug #2067 --- use shared_mutex for thread_group rather than a simple mutex Fix for move assignment of unique_lock if rvalue refs supported More fixes for compilers with rvalue ref support [Xpressive] nested results uses a custom list type that allows incomplete types, does no dynamic allocation in the default constructor, and has a guarnteed O(1) splice; fixes #3278 [Smart_ptr] Renamed enable_shared_from_this2 to enable_shared_from_raw and added shared_from_raw free function. These changes fix the pointer value in shared_ptr which were obtained before an external shared_ptr has taken ownership of the object (for example when a shared_ptr to this is obtained in an object's constructor). [Numeric] see #3501: Reusing concepts from different compile units yields multiple defined symbols (Incomplete) * removed inlines that were added with the last commit * added anonymous namespace to make functions local to compilation unit
[Thread] Fix for bug #2067 --- use shared_mutex for thread_group rather than a simple mutex Fix for move assignment of unique_lock if rvalue refs supported More fixes for compilers with rvalue ref support [Xpressive] nested results uses a custom list type that allows incomplete types, does no dynamic allocation in the default constructor, and has a guarnteed O(1) splice; fixes #3278 [Smart_ptr] Renamed enable_shared_from_this2 to enable_shared_from_raw and added shared_from_raw free function. These changes fix the pointer value in shared_ptr which were obtained before an external shared_ptr has taken ownership of the object (for example when a shared_ptr to this is obtained in an object's constructor). [Numeric] see #3501: Reusing concepts from different compile units yields multiple defined symbols (Incomplete) * removed inlines that were added with the last commit * added anonymous namespace to make functions local to compilation unit
ttp://booster.x0.to/ 以下更新内容の一部 [Spirit] Spirit: fixing lex::tokenize_and_parse functions Fix. Disallow alpha or underscore after "int" Spirit: fixing usage of plain functions as lexer semantic actions Spirit: replaced long long by boost::long_long_type [Ptr_container] https://svn.boost.org/trac/boost/ticket/3579 [Fusion] Fusion: adding a missing 'const' associative_sequence_tag -> associative_tag [Regex] Added support for function objects as well as strings when formatting. [Program_options] Fix 'ambiguous else clause' compiler warning. Fixes #3556. Put description to next line if we'd overflow otherwise. Fixes #689. Use extra parens to silence warnings re &&/|| on same level. [Xpressive] fix infinite loop with some uses of \Q...\E quotemeta, fixes #3586 [Math] remove surplus const-qualifiers. [Wave] Wave: added missing header file and special handling for stlport [Smart_ptr] Added weak_from_raw(), for use in conjunction with enable_shared_from_raw base class.
>>324 あんまり、そこに拘る必要はないです。 lambdaか否かを判断するmeta function が作れればおk。
326 名前:デフォルトの名無しさん [2009/11/10(火) 10:40:42 ]
>>324 F(????)としてるのは、F(int)とすれば template<class F, class A0> struct is_lambda_impl<boost::lambda::lambda_functor<F>(A0)> が選択されるからです。
int 部分にはboost::lambda::_1の型か何か別のものが入ると思う。 _1 や _2 の数によって F(A0) F(A0, A1) の様な形になると思う。
327 名前:デフォルトの名無しさん [2009/11/10(火) 11:00:54 ]
こゆこと? (動作確認してないけど)
template<template <class f> class T, class F> bool is_lambda_(T<F>) { return is_lambda_impl<T<F> >::value; }
template<template <class f, class a0> class T, class F, class A0> bool is_lambda_(T<F, A0>) { return is_lambda_impl<T<F, A0> >::value; }
template<template <class f, class a0, class a1> class T, class F, class A0, class A1> bool is_lambda_(T<F, A0, A1>) { return is_lambda_impl<T<F, A0, A1> >::value; }
更新しました。今週はコンパイル時の警告の抑制が中心の様です。 ttp://booster.x0.to/ 以下更新内容の一部 [Spirit] Spirit: fixing bug in alternatives taking optionals Spirit: started to integrate re2c style code generator for lexer [Regex] Improved error messages generated for thrown exceptions. [Program_options] Fix wordwrapping in presense of default parameters. Don't strip quotes from values. [Smart_ptr] Fixed access to enable_shared_from_raw::weak_this_ when BOOST_NO_MEMBER_TEMPLATE_FRIENDS is defined. [Unordered] Change unordered move tests to be more lenient on compilers without NRVO. [System] System: Correct too_many_symbolic_link_levels misspelling. Fix #3559.
[Graph] Changed to boost::unordered_* containers instead of compiler-specific ones; made hashed containers enabled always [Integer] Reverted Integer back to Release branch state - as per devel-list discussions. [Xpressive] do NOT copy singular iterators, fixes #3538 [Iostreams] Allocate exceptions on the stack, not the heap. Refs #3612, by Richard Smith. Fix unthrown exceptions. Refs #3311. Fix mapped file errors in windows. Refs #3505. [Exeption] Prevent ADL from finding other dispatch functions or types. Required for #2094. [Fusion] avoid iterator invalidation in segmented_range, fixes #3583
[Spirit] Spirit: more static lexer updates Spirit: added new Qi example Spirit: updating example Don't match substrings in symbols::find. Added Nabialek Trick Example typeof example Implement prefix_find. BOOST_SPIRIT_AUTO added Spirit: bumped version number after the release of 1.41 Spirit: fixed references to corresponding articles at Spirit site. [Xpressive] use boost::optional's swap instead of std::swap [Random] Allow arbitrary values to be used as seeds for linear_congruential, linear_feedback_shift, and any generators that depend on them. Fixes #3516 Fix min/max problems
[Exeption] Fixed unqualified use of size_t in object_hex_dump.hpp Bug ticket 3641, also merging other fixes from the Release branch. [Format] copy-constructor now copies .dumped_ , fixing Ticket #3610 fixing elementary syntax error introduced in rev. 57734 [Functional] Turn on warnings as errors for the hash tests. [Program_options] Add option name to a few exception classes. Fixes #3423. Patch from Sascha Ochsenknecht. correct usage of tokenizer, memory bug, Fixes #3525 [Graph] Fix compilation error due to undefined fprintf/stderr. [Unordered] Use 'E' for key extractor, freeing 'K' for key. Support incomplete template parameters to unordered containers. 以上更新内容の一部 ttp://booster.x0.to/
Version 1.41.0 New Library: Property Tree. Updated libraries: DateTime, Filesystem, Iostreams, Math, Multi-index Containers, Proto, Python, Regex, Spirit, System, Thread, Unordered, Utility, Wave, Xpressive. Updates to boost build and quickbook. The CMake build system for Boost, still under development here, has been removed from the main release to avoid confusion.
更新しました。1.41正式版がリリースされてから一週間経ってもtrunkが1.42に移行しておりませんので、 マイナーバージョンアップ版が出るかもしれませんね。 ttp://booster.x0.to/ 以下更新内容の一部 [Program_options] allow empty values in config file, Fixes #1537 [Spirit] Spirit: moved iter_pos parser to repository, added example Spirit: fixed token_def::what() Spirit: Moving karma::symbols to main code base [Format] fixes new functions (remaining_args, expected_args, ...) in case bound.size()==0 [Regex] Allow std::locale's to not have a messages facet installed (fixes some STLPort issues). Allow match_results to handle singular iterators. [Integer] Add support for long long throughout. Fixes #653. Update Boost.Integer meta-programming classes to work with intmax_t where possible - ie to be 64-bit clean. [Thread] Ensure call_once event is correctly cleaned up A partial fix for issue #2100: use boost::throw_exception for all exceptions except thread_interrupted Don't use timed_lock to do a lock Added missing BOOST_THREAD_DECL for at_thread_exit_function Using BOOST_ASSERT rather than assert [Graph] Changed vertex_iterator to have vertex_descriptor rather than vertices_size_type as its value type Removed old CSR interface; fixes #3135 [Smart_ptr] Add error checking to lwm_pthreads.hpp. Refs #2681. Remove std::move references. Refs #3570.
更新しました。SVNは1.42に移行しました。 ttp://booster.x0.to/ 以下更新内容の一部 [Program_options] ProgramOptions: added a couple of missing std:: namespace qualifiers [Spirit] Spirit: added karma::symbols generator, updated docs, tests, and example Spirit: removed UB in rule and token_def initialization, added copy constructor for token_def Spirit: added karma::auto_ and related facilities, added test Spirit: added new karma example (auto_facilities.cpp), tweaks to auto_ tests Spirit: added auto based overloads for API functions where possible [Serialization] fixed BOOST_STATIC_WARNING implementation macro name conflict Fix memory leaks in void_caster short cut memory leaks [Uuid] Added uuid library Removed BOOST_STATIC_ASSERT, replaced with a static method [Iterator] Made sure that iterator_facade's nested ``::pointer`` type is always the same as what's returned from operator->. For input iterators, that wasn't always the case (see operator_arrow_proxy).Fixes #1019. [Graph] Fixed missing #endif [Integer] Change long long to boost::long_long_type etc. Make code respect BOOST_NO_INTEGRAL_INT64_T. [Bind] Make mem_fn work with overloaded unary operator&. Refs #3003. Sorry it took so long. [Exeption] Ticket #3211