Commit Graph

145 Commits

Author SHA1 Message Date
d29dc277e6 Renaming No-bounds concept to Unbounded concept. 2015-06-25 22:42:44 +09:00
a31009e73c at_key and value_at_key are aware of no-bounds sequence. 2015-06-23 11:36:14 +09:00
1e21a4eb7a Add new traits named has_no_bounds.
It is for special usecase: some thing like a window function.
This commit relative to c9ae4fc886 .
Users who wants to access out-of-bounds of sequence, specify new
category to it.

    struct sequence {
        struct category
            : fusion::random_access_traversal_tag
            , fusion::no_bounds_tag {};
        ...
    };

All of bounds related intrinsics of the /no-bounds-sequence/ *should*
guarantee to be well-defined or SFINAE-friendly, or compile error.
2015-06-23 09:44:03 +09:00
869513768d Remove obsolete workaround.
now it doesn't work properly.
2015-05-23 09:51:06 +09:00
67f0863cdd Fix includes. 2015-03-22 12:24:18 +09:00
2114bfca6c More constexpr and noexcept support.
Note 1: Forwarding functions are specified as a C++14 constexpr since
std::forward is not a constexpr within C++11.

Note 2: Though I'm not sure why it doesn't compile, some declarations
are specified as a C++14 constexpr or non-constexpr.

Note 3: Boost.Tuple adaptation and TR1-based tuple implementations are
not constexpr.
2015-03-03 02:21:02 +09:00
687668c110 Fix sprious compile error on VS2015 Preview.
MSVC 2015 Preview will treat unary-ctor call as a variable declaration
even if member call follows, which member has the same name with any
other class (i.e. there are no relations between the member and such
class). This issue already reported at [1].

1. https://connect.microsoft.com/VisualStudio/feedback/details/1037783/unary-ctor-call-v-s-variable-decl

    struct foo
    {
        foo(int) {}
        void set() {}
    };

    struct set;

    int main()
    {
        int i;
        foo(i).set(); // VS2015 try to decl `i` here and conflict with above.
    }
2014-11-24 03:07:16 +09:00
c65000eac8 Merge pull request #41 from Flast/patch-2
`result_of::at<Seq, N>::type` is't defined when sizeof of sequence is less than N
2014-11-19 06:33:04 +08:00
c9ae4fc886 result_of::at<Seq, N>::type is't defined when sizeof of sequence is less than N, close #6507, #7651
Original proposals suggest making as a hard error (by MPL asssert /
static assert), however this change just doesn't define due to
SFINAE-friendly.
2014-11-19 02:05:58 +09:00
cc9b043168 result_of::size::value and result_of::size::type::value should be same type, rels to: #7304. 2014-11-13 15:44:30 +09:00
465c3f273b result_of::{copy,move,swap} are now SFINAE-friendly 2014-11-10 14:38:42 +09:00
6314f1a450 fusion::swap should be inline 2014-11-10 14:34:02 +09:00
ff56beaf55 Remove use of boost::blank, close #8622 2014-11-09 00:49:29 +09:00
a7e9bb2df4 Fix to meet constexpr requirements 2014-11-06 17:10:31 +09:00
bebd553dd6 Use BOOST_CXX14_CONSTEXPR instead of BOOST_CONSTEXPR.
Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-10-19 23:46:36 +09:00
c2abefbab8 Initial constexpr support
This allows to use, e.g., boost::fusion::fold within constexpr functions.

The BOOST_CONSTEXPR macro is used to declare functions constexpr.
2014-08-06 11:09:40 +02:00
70410d1e07 replaced tabs with 4 spaces 2014-07-24 14:45:45 +02:00
f7685b1194 add automatic hash function creation 2014-07-24 14:22:55 +02:00
e113b31fdd final gpu-enabling tweaks 2014-01-28 14:32:03 -08:00
e5b0f3c2e1 gpu-enable more functions, but not stream inserters and extractors 2014-01-23 21:30:18 -08:00
c4f9f0d1b6 gpu-enable functions 2014-01-22 23:55:53 -08:00
de18e59c85 Fixes Ticket #7513
[SVN r86128]
2013-10-01 23:41:38 +00:00
94618528b6 Remove use of obsolete BOOST_NO_TEMPLATED_STREAMS macro.
It was only defined for no-longer-supported-gcc.

[SVN r86062]
2013-09-30 15:56:52 +00:00
7922147716 update fusion Nil template parameters to Nil_ to make ObjC happy. trac #5010
[SVN r84441]
2013-05-23 01:02:52 +00:00
6d265316ed Workaround for ObjC (mis)use of nil (from Mathias Gaunard)
[SVN r81628]
2012-11-30 02:31:23 +00:00
752f911a91 #7427 (Warning fixes in fusion)
[SVN r80812]
2012-10-02 01:12:19 +00:00
8ce40ebd0c Patch by Nathan Ridge to allow BOOST_FUSION_ADAPT_ADT adapted classes to be compared using relational operators.
[SVN r78490]
2012-05-17 01:10:20 +00:00
a25a7092d8 Patches from Tim Blechmann
[SVN r75976]
2011-12-16 00:14:49 +00:00
b905aa11af Added adapter for std::tuple (only for implementations using variadic templates)
[SVN r74788]
2011-10-08 03:47:16 +00:00
d1a397c427 Patch to make deriving from fusion::sequence_facade makes the derived class an MPL sequence by Nathan Ridge.
[SVN r74473]
2011-09-20 01:48:47 +00:00
265bdc7342 Added default typedef mpl::false_ is_segmented;
[SVN r74427]
2011-09-17 03:14:12 +00:00
0e7a013851 Bumped copyright date
[SVN r74407]
2011-09-16 05:30:23 +00:00
df6017dc1c fix use of incomplete fusion::nil as caught by clang
[SVN r74019]
2011-08-23 15:13:30 +00:00
def510808d bug fixes to segmented fusion support, more fwd headers
[SVN r73927]
2011-08-19 18:41:11 +00:00
b8bb98a36b simplify segmented_fold_until interface
[SVN r73898]
2011-08-18 21:33:39 +00:00
9dd14c435e make find and find_if algorithms segment-aware, stylistic consistency tweaks
[SVN r73892]
2011-08-18 17:12:05 +00:00
528ad04fdb baking segmented Fusion
[SVN r73854]
2011-08-17 18:53:56 +00:00
2ccb8d604f progress with integrating the segmented Fusion work
[SVN r73831]
2011-08-16 23:07:51 +00:00
afbda073a3 naming tweaks
[SVN r73771]
2011-08-15 06:53:35 +00:00
9ed1f3d606 use iterator_facade to simplify implementation of segmented_iterator
[SVN r73770]
2011-08-15 06:20:24 +00:00
d9c5b32687 new cleaner(?) implementation for segmented fusion
[SVN r73644]
2011-08-11 04:14:50 +00:00
1efa444f24 renamed assign to copy and moved it to a new algorithm/auxiliary category
[SVN r69137]
2011-02-22 01:30:12 +00:00
dc2303d38b assign should be void
[SVN r69118]
2011-02-21 10:15:24 +00:00
7bfe445d72 new assign intrinsic
[SVN r69113]
2011-02-21 01:08:53 +00:00
0521159fdc sequence/comparison/less_equal.hpp: bug fix in code used only by Visual C++ 7.1 and 8.0
[SVN r68358]
2011-01-21 20:41:06 +00:00
5129f45066 fix for VC8
[SVN r68323]
2011-01-20 19:57:20 +00:00
7f3cd8b46a putting is_native_fusion_sequence in is_sequence.hpp where it belongs.
[SVN r68259]
2011-01-19 00:10:13 +00:00
1da53e2c3f - hoisted enable_equality, enable_comparison and is_native_fusion_sequence to fusion::traits namespace
- added SFINAE-enable
(http://article.gmane.org/gmane.comp.parsers.spirit.devel/3902)

[SVN r68225]
2011-01-18 12:49:01 +00:00
c15dd57405 Fusion: mask fusion::begin/fusion::end with SFINAE, fixes #4028
[SVN r67352]
2010-12-19 18:35:52 +00:00
b508b8e62c Fusion: fixed missing is_native_fusion_sequence for MSVC 7.1 and MSVC 8.0
[SVN r66477]
2010-11-10 07:59:18 +00:00