更新しました。何となく1.41リリースが近い様な気がします。 ttp://booster.x0.to/ 以下更新内容の一部 [Spirit] Spirit: fixing re-initialization problem for optional attributes Spirit: improved fix for re-initialization of optionals, added tests Spirit: added missing specialization to transform_attribute. Fixed qi::subrule to use this Spirit: updating examples and tests Spirit: removing remnants of safe_bool [Fusion] Spirit: improved fix for re-initialization of optionals, added tests [Graph] Fixed bugs in F-R layout Fixed numlocalverts bug Changed boost::get() call to get() to reflect new distributed property map namespace (boost::parallel) [Serialization] Address complaints for Inspect fix memory leaks Fix problem with multiple declaration of void_cast_register [Exeption] Added errinfo_nested_exception typedef. Fixed minor documentation error. [Signals2] Work around missing include in Boost.Variant headers Include <functional>, for std::greater. [Interprocess] Fixes for 1.41 [Unordered] Correct macro checks for initializer lists. [Graph_parallel] Added edges_are_sorted tag to distributed CSR graph ctor since passing a sorted iterator range to the unsorted ctor seems to produce a different graph than passing a sorted iterator range to the sorted ctor.
更新しました。 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.