153 Commits
Author SHA1 Message Date
Nikita Kniazev 7d4c03fa03 Don't include std stream headers ourselves (#270) 2023-03-18 16:31:22 +08:00
djowel e79a8690f0 Merge branch 'develop' 2022-09-26 08:11:49 +08:00
Nikita Kniazev 4778c4c180 Fix comparison operators enabler
Overloads must not be presented until both arguments are Fusion sequences.
2019-12-04 03:04:34 +03:00
Romain Geissler 08076be2ac Explicitly delete all non implemented assignment operators.
Commit (almost) automatically generated with the following sed command:
sed -i -ne '1h;1!H;${g;s|\n[[:blank:]]*private:\n\([[:blank:]]*\)// silence MSVC warning C4512: assignment operator could not be generated\n\([[:blank:]]*\)\([^\n]\+\);\n|\n\1// silence MSVC warning C4512: assignment operator could not be generated\n\2BOOST_DELETED_FUNCTION(\3)\n|g;p}' $(git ls-files)
2019-05-08 17:11:37 +00:00
Nikita Kniazev 908a34a4ed Tweak sequence intrinsic at
A bit clearer and slightly less work for the inliner
2018-11-01 02:01:15 +03:00
Brian Kuhl 7c15df79f2 isspace(c) is not a macro in Dinkum clib for VxWorks, must be in std namespace 2017-08-10 12:19:32 -04:00
Kohei Takahashi 3189580857 Added workaround for GCC 3.4 due to ambiguous.
NOTE: GCC 3.3 and earlier are not supported officially by Boost community.
2016-03-16 20:25:59 +09:00
fiesh 8767d374ea manip.hpp: Do not use "using namespace std;"
Changed "using namespace std;  ws()" into "std::ws()" to avoid ambiguities with a possible "::ws" namespace.
2015-11-23 17:21:59 +01:00
Kohei Takahashi d29dc277e6 Renaming No-bounds concept to Unbounded concept. 2015-06-25 22:42:44 +09:00
Kohei Takahashi a31009e73c at_key and value_at_key are aware of no-bounds sequence. 2015-06-23 11:36:14 +09:00
Kohei Takahashi 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
Kohei Takahashi 869513768d Remove obsolete workaround.
now it doesn't work properly.
2015-05-23 09:51:06 +09:00
Kohei Takahashi 67f0863cdd Fix includes. 2015-03-22 12:24:18 +09:00
Kohei Takahashi 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
Kohei Takahashi 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
Joel de Guzman 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
Kohei Takahashi 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
Kohei Takahashi 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
Kohei Takahashi 465c3f273b result_of::{copy,move,swap} are now SFINAE-friendly 2014-11-10 14:38:42 +09:00
Kohei Takahashi 6314f1a450 fusion::swap should be inline 2014-11-10 14:34:02 +09:00
Kohei Takahashi ff56beaf55 Remove use of boost::blank, close #8622 2014-11-09 00:49:29 +09:00
Kohei Takahashi a7e9bb2df4 Fix to meet constexpr requirements 2014-11-06 17:10:31 +09:00
Kohei Takahashi 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
gnzlbg 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
fiesh 70410d1e07 replaced tabs with 4 spaces 2014-07-24 14:45:45 +02:00
fiesh f7685b1194 add automatic hash function creation 2014-07-24 14:22:55 +02:00
Eric Niebler e113b31fdd final gpu-enabling tweaks 2014-01-28 14:32:03 -08:00
Eric Niebler e5b0f3c2e1 gpu-enable more functions, but not stream inserters and extractors 2014-01-23 21:30:18 -08:00
Eric Niebler c4f9f0d1b6 gpu-enable functions 2014-01-22 23:55:53 -08:00
Joel de Guzman de18e59c85 Fixes Ticket #7513
[SVN r86128]
2013-10-01 23:41:38 +00:00
Stephen Kelly 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
Michael Caisse 7922147716 update fusion Nil template parameters to Nil_ to make ObjC happy. trac #5010
[SVN r84441]
2013-05-23 01:02:52 +00:00
Joel de Guzman 6d265316ed Workaround for ObjC (mis)use of nil (from Mathias Gaunard)
[SVN r81628]
2012-11-30 02:31:23 +00:00
Joel de Guzman 752f911a91 #7427 (Warning fixes in fusion)
[SVN r80812]
2012-10-02 01:12:19 +00:00
Joel de Guzman 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
Joel de Guzman a25a7092d8 Patches from Tim Blechmann
[SVN r75976]
2011-12-16 00:14:49 +00:00
Joel de Guzman b905aa11af Added adapter for std::tuple (only for implementations using variadic templates)
[SVN r74788]
2011-10-08 03:47:16 +00:00
Joel de Guzman 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
Joel de Guzman 265bdc7342 Added default typedef mpl::false_ is_segmented;
[SVN r74427]
2011-09-17 03:14:12 +00:00
Joel de Guzman 0e7a013851 Bumped copyright date
[SVN r74407]
2011-09-16 05:30:23 +00:00
Eric Niebler df6017dc1c fix use of incomplete fusion::nil as caught by clang
[SVN r74019]
2011-08-23 15:13:30 +00:00
Eric Niebler def510808d bug fixes to segmented fusion support, more fwd headers
[SVN r73927]
2011-08-19 18:41:11 +00:00
Eric Niebler b8bb98a36b simplify segmented_fold_until interface
[SVN r73898]
2011-08-18 21:33:39 +00:00
Eric Niebler 9dd14c435e make find and find_if algorithms segment-aware, stylistic consistency tweaks
[SVN r73892]
2011-08-18 17:12:05 +00:00
Eric Niebler 528ad04fdb baking segmented Fusion
[SVN r73854]
2011-08-17 18:53:56 +00:00
Eric Niebler 2ccb8d604f progress with integrating the segmented Fusion work
[SVN r73831]
2011-08-16 23:07:51 +00:00
Eric Niebler afbda073a3 naming tweaks
[SVN r73771]
2011-08-15 06:53:35 +00:00
Eric Niebler 9ed1f3d606 use iterator_facade to simplify implementation of segmented_iterator
[SVN r73770]
2011-08-15 06:20:24 +00:00
Eric Niebler d9c5b32687 new cleaner(?) implementation for segmented fusion
[SVN r73644]
2011-08-11 04:14:50 +00:00
Joel de Guzman 1efa444f24 renamed assign to copy and moved it to a new algorithm/auxiliary category
[SVN r69137]
2011-02-22 01:30:12 +00:00