Commit Graph

985 Commits

Author SHA1 Message Date
Edward Diener
87d82527b1 Updated zip iterator abstract adds information about the iterator 'tuple'. 2015-08-24 07:18:03 -04:00
Edward Diener
b9448b5fae Updated with an explanation of the new 'tuple' type for a zip_iterator based on Boost fusion sequences. 2015-08-24 00:24:09 -04:00
Edward Diener
76519ea4a7 Merge branch 'Flast-pr/zip_iterator/fusionize' into develop 2015-08-23 23:56:13 -04:00
Edward Diener
878812c42f More tests with fusion sequence as tuple 2015-08-23 23:46:44 -04:00
Edward Diener
2283f084d9 Merge pull request #2 from Flast/pr/zip_iterator/fusionize
Fusion based zip_iterator, close #7526
2015-08-23 23:37:38 -04:00
Edward Diener
a0533d97f5 Merge branch 'pr/zip_iterator/fusionize' of https://github.com/Flast/iterator into Flast-pr/zip_iterator/fusionize 2015-08-21 22:09:37 -04:00
Edward Diener
ece225bbda Merge branch 'develop' 2015-07-18 22:08:52 -04:00
Edward Diener
b62dc6ba9d Remove unneeded header file for undefines. 2015-05-22 00:54:44 -04:00
Edward Diener
20dc7b1abe Merge pull request #14 from eldiener/develop
Changed needed for type_traits version2 to remove icexxx.hpp dependencies.
2015-05-21 23:28:00 -04:00
Edward Diener
0dbbb61bec Put back MPL auxiliary lambda support. 2015-05-21 23:15:31 -04:00
Edward Diener
2de2111db2 Remove dependency on deprecated type_traits headers. 2015-05-21 23:14:42 -04:00
Edward Diener
db04fafe21 Merge pull request #12 from Lastique/patch-1
Remove unused pure_traversal_tag import into boost::iterators::detail
2015-05-21 16:52:07 -04:00
Edward Diener
4e0fc90b60 Merge pull request #11 from jzmaddock/patch-1
Update is_lvalue_iterator.hpp
2015-05-21 16:35:38 -04:00
Andrey Semashev
53cbba6c09 Remove unused name import
As Boost.Range has been updated, there is no need to import pure_traversal_tag into boost::iterators::detail.
2015-01-26 00:02:36 +03:00
jzmaddock
8be623d733 Update is_lvalue_iterator.hpp 2015-01-22 08:48:25 +00:00
jzmaddock
d12d60fa12 Update is_lvalue_iterator.hpp
In the current type_traits rewrite, type_traits headers no long implicitly include mpl ones, so mpl/bool.hpp has to be explicitly included now.
2015-01-21 16:54:54 +00:00
Noel Belcourt
ec7d398578 Merge pull request #10 from Flast/pr/ref-to-ref/dr106
Avoid 'reference to reference' error with strict C++03 compiler.

While I can't reproduce the error you describe, the patch looks good and it tested okay with Clang 6.0 on Mac and gcc-4.9.1 on Linux.  Thanks for the patch.
2014-11-02 15:59:02 -07:00
Kohei Takahashi
3d3560c12d Avoid 'reference to reference' error in C++03.
Some (strict) C++03 compilers (e.g. `gcc -std=c++03`) reject
  'reference-to-reference' in the template and typedef which described
  in CWG DR106 [1].

  In such situations, iterator_facade rejects reference type as a value
  type and some special iterators will become ill-formed:
  the test libs/range/test/join.hpp might be descriptive.

  [1] http://www.open-std.org/Jtc1/sc22/wg21/docs/cwg_defects.html#106

Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-09-29 14:58:40 +09:00
Noel Belcourt
46f9e1753f Merge pull request #9 from boostorg/develop
Merge develop into master

Tested with gcc-4.2.1 on Darwin.
2014-09-06 11:18:28 -06:00
Kohei Takahashi
2511f21d62 Merge upstream branch 'develop' into pr/zip_iterator/fusionize 2014-08-25 00:36:36 +09:00
Noel Belcourt
adee905c51 Merge pull request #8 from Lastique/add_docs
Add docs for iterator category and traversal manipulation tools.

Thanks Andrey.
2014-08-23 16:14:52 -06:00
Andrey Semashev
82779f78ec Added docs for iterator category and traversal manipulation tools. 2014-08-24 01:55:25 +04:00
Noel Belcourt
a569c97969 Merge pull request #6 from Lastique/publish-details
Publish some of the implementation details

Tested with clang-5.1 on darwin.
2014-08-23 14:08:11 -06:00
Noel Belcourt
aad821d28d Merge pull request #7 from danieljames/metadata
Create metadata file.
2014-08-23 13:53:06 -06:00
Daniel James
23934d7c0d Add metadata file. 2014-08-18 15:00:20 +01:00
Andrey Semashev
1073b7f7bc Adjustments for compatibility with commit 48dfb68045. 2014-07-30 23:00:35 +04:00
Andrey Semashev
f158dba6ad Moved minimum_category to the public namespace. Added tests. 2014-07-19 21:39:49 +04:00
Andrey Semashev
8fe632d6b1 Copied minimum_category.hpp to public headers. 2014-07-19 21:03:11 +04:00
Andrey Semashev
810b58cfb0 Moved pure_traversal_tag to public namespace.
Also added an import into the boost::detail namespace for backward compatibility with Boost.Range. Added a pure_iterator_traversal metafunction that automatically converts iterator category as well.
2014-07-19 20:57:42 +04:00
Kohei Takahashi
156c13a494 Merge upstream branch 'develop' into pr/zip_iterator/fusionize
Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-07-12 15:57:03 +09:00
Noel Belcourt
785680d929 Merge pull request #5 from Lastique/adl-protect
Moved most components of the library to iterators:: namespace.

Thanks Andrey.
2014-07-10 11:33:50 -06:00
Andrey Semashev
269de2691a Added a workaround for boost/token_iteratpr.hpp which uses an implementation detail of this library. 2014-07-07 22:22:28 +04:00
Kohei Takahashi
11f7d1bc18 Merge upstream branch 'develop' into pr/zip_iterator/fusionize
Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-07-03 21:52:26 +09:00
Andrey Semashev
4a403cd3eb Trim spaces. 2014-07-03 00:36:44 +04:00
Andrey Semashev
dc96d371fa Moved most components of the library to iterators:: namespace.
This change excludes boost:: and boost::detail:: namespaces from ADL for unqualified function calls (e.g. algorithms). This reduces the possibility of name clashes with other libraries and user's code. One of the effects should be fixing test failures on gcc 4.2 and 4.4 due to clashed with Boost.TypeTraits.

Also some of the functions marked with inline keyword.
2014-07-03 00:22:45 +04:00
Noel Belcourt
e000b676cc Merge pull request #4 from Lastique/sfinae-based-operators
Make iterator operators conditionally defined depending on its category.

Looks okay and fixes several known problems, thanks Andrey.
2014-06-30 16:49:53 -06:00
Daniel James
045a05f81f Run generator_iterator_test.cpp
I accidentally removed it in 8e5b8025d8.
2014-06-30 10:59:03 +01:00
Daniel James
25139e1311 Remove operator_brackets_dispatch.hpp
I should have removed it in 8e5b8025d8.
2014-06-30 10:53:35 +01:00
Kohei Takahashi
aad767ed3f Merge upstream branch 'develop' into pr/zip_iterator/fusionize 2014-06-30 11:13:38 +09:00
Andrey Semashev
7fa65a4278 Made iterator operators conditionally defined depending on its category.
This makes iterators defined using iterator_facade more friendly to type inspection and fixes its use with next()/prior() since commit 651a869d4f.
The arithmetic, indexing and relational operators are only defined if the iterator category or traversal permits that. Note that the implementation requires partial template specialization support now.
2014-06-30 00:05:38 +04:00
Andrey Semashev
fd94cc7d78 Removed executable flags from docs, tests and examples. 2014-06-29 15:49:05 +04:00
Andrey Semashev
36988fcf98 Removed executable flags from headers. 2014-06-29 15:42:47 +04:00
Daniel James
4283d20261 Merge remote-tracking branch 'origin/develop' 2014-06-26 11:53:43 +01:00
Daniel James
91f782ec52 Merge branch 'feature/remove-old-compiler-support' into develop 2014-06-26 11:46:39 +01:00
Kohei Takahashi
9841d87212 Add tests for fusion based zip_iterator
Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-06-14 15:59:31 +09:00
Kohei Takahashi
782313db8c Remove unnecessary specialization
Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-06-14 15:59:31 +09:00
Kohei Takahashi
c040d4c38b make_zip_iterator should be inlined
Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-06-14 15:59:31 +09:00
Kohei Takahashi
1ddaca8297 zip_iterator specialization for std::pair
Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-06-14 15:59:31 +09:00
Kohei Takahashi
acf9b4d4cf Reimplement zip_iterator based on Boost.Fusion
By default, backward compatibility for Boost.Tuple is presented.

Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-06-12 01:05:36 +09:00
Daniel James
e88b3f475c Remove the the broken compiler notes.
Now that the workarounds have been removed, they no longer apply.
2014-06-06 23:03:04 +01:00