summaryrefslogtreecommitdiff
path: root/boost/fusion/container/list/cons_iterator.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/fusion/container/list/cons_iterator.hpp')
-rw-r--r--boost/fusion/container/list/cons_iterator.hpp34
1 files changed, 22 insertions, 12 deletions
diff --git a/boost/fusion/container/list/cons_iterator.hpp b/boost/fusion/container/list/cons_iterator.hpp
index da694756e5..58b7fd9e36 100644
--- a/boost/fusion/container/list/cons_iterator.hpp
+++ b/boost/fusion/container/list/cons_iterator.hpp
@@ -36,8 +36,8 @@ namespace boost { namespace fusion
typename add_const<Cons>::type>
identity;
- BOOST_FUSION_GPU_ENABLED
- explicit cons_iterator(cons_type& in_cons)
+ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
+ explicit cons_iterator(cons_type& in_cons) BOOST_NOEXCEPT
: cons(in_cons) {}
cons_type& cons;
@@ -55,47 +55,57 @@ namespace boost { namespace fusion
typedef cons_iterator_identity<
add_const<nil_>::type>
identity;
+
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- nil_iterator() {}
+ nil_iterator() BOOST_NOEXCEPT {}
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- explicit nil_iterator(nil_ const&) {}
+ explicit nil_iterator(nil_ const&) BOOST_NOEXCEPT {}
};
template <>
struct cons_iterator<nil_> : nil_iterator
{
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- cons_iterator() {}
+ cons_iterator() BOOST_NOEXCEPT {}
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- explicit cons_iterator(nil_ const&) {}
+ explicit cons_iterator(nil_ const&) BOOST_NOEXCEPT {}
};
template <>
struct cons_iterator<nil_ const> : nil_iterator
{
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- cons_iterator() {}
+ cons_iterator() BOOST_NOEXCEPT {}
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- explicit cons_iterator(nil_ const&) {}
+ explicit cons_iterator(nil_ const&) BOOST_NOEXCEPT {}
};
template <>
struct cons_iterator<list<> > : nil_iterator
{
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- cons_iterator() {}
+ cons_iterator() BOOST_NOEXCEPT {}
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- explicit cons_iterator(nil_ const&) {}
+ explicit cons_iterator(nil_ const&) BOOST_NOEXCEPT {}
};
template <>
struct cons_iterator<list<> const> : nil_iterator
{
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- cons_iterator() {}
+ cons_iterator() BOOST_NOEXCEPT {}
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- explicit cons_iterator(nil_ const&) {}
+ explicit cons_iterator(nil_ const&) BOOST_NOEXCEPT {}
};
}}
+#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408
+namespace std
+{
+ template <typename Cons>
+ struct iterator_traits< ::boost::fusion::cons_iterator<Cons> >
+ { };
+}
+#endif
+
#endif