diff options
Diffstat (limited to 'boost/spirit/home/support')
-rw-r--r-- | boost/spirit/home/support/attributes.hpp | 3 | ||||
-rw-r--r-- | boost/spirit/home/support/common_terminals.hpp | 1 | ||||
-rw-r--r-- | boost/spirit/home/support/detail/lexer/generator.hpp | 47 | ||||
-rw-r--r-- | boost/spirit/home/support/detail/pow10.hpp | 1 | ||||
-rw-r--r-- | boost/spirit/home/support/iterators/multi_pass.hpp | 8 |
5 files changed, 20 insertions, 40 deletions
diff --git a/boost/spirit/home/support/attributes.hpp b/boost/spirit/home/support/attributes.hpp index 889e3a370b..dd89521404 100644 --- a/boost/spirit/home/support/attributes.hpp +++ b/boost/spirit/home/support/attributes.hpp @@ -1032,8 +1032,7 @@ namespace boost { namespace spirit { namespace traits template <typename T> void swap_impl(T& a, T& b) { - using namespace std; - swap(a, b); + boost::swap(a, b); } template <typename A> diff --git a/boost/spirit/home/support/common_terminals.hpp b/boost/spirit/home/support/common_terminals.hpp index 2c7772df66..cab01c1c27 100644 --- a/boost/spirit/home/support/common_terminals.hpp +++ b/boost/spirit/home/support/common_terminals.hpp @@ -83,6 +83,7 @@ namespace boost { namespace spirit ( strict, strict_type ) ( relaxed, relaxed_type ) ( duplicate, duplicate_type ) + ( expect, expect_type ) ) // Our extended terminals diff --git a/boost/spirit/home/support/detail/lexer/generator.hpp b/boost/spirit/home/support/detail/lexer/generator.hpp index daa06e7944..103c834978 100644 --- a/boost/spirit/home/support/detail/lexer/generator.hpp +++ b/boost/spirit/home/support/detail/lexer/generator.hpp @@ -16,6 +16,7 @@ #include "parser/tree/node.hpp" #include "parser/parser.hpp" #include "containers/ptr_list.hpp" +#include <boost/move/unique_ptr.hpp> #include "rules.hpp" #include "state_machine.hpp" @@ -116,10 +117,10 @@ public: protected: typedef detail::basic_charset<CharT> charset; typedef detail::ptr_list<charset> charset_list; - typedef std::auto_ptr<charset> charset_ptr; + typedef boost::movelib::unique_ptr<charset> charset_ptr; typedef detail::equivset equivset; typedef detail::ptr_list<equivset> equivset_list; - typedef std::auto_ptr<equivset> equivset_ptr; + typedef boost::movelib::unique_ptr<equivset> equivset_ptr; typedef typename charset::index_set index_set; typedef std::vector<index_set> index_set_vector; typedef detail::basic_parser<CharT> parser; @@ -377,8 +378,8 @@ protected: if (followpos_->empty ()) return npos; std::size_t index_ = 0; - std::auto_ptr<node_set> set_ptr_ (new node_set); - std::auto_ptr<node_vector> vector_ptr_ (new node_vector); + boost::movelib::unique_ptr<node_set> set_ptr_ (new node_set); + boost::movelib::unique_ptr<node_vector> vector_ptr_ (new node_vector); for (typename detail::node::node_vector::const_iterator iter_ = followpos_->begin (), end_ = followpos_->end (); @@ -494,21 +495,13 @@ protected: delete *l_iter_; *l_iter_ = overlap_.release (); - // VC++ 6 Hack: - charset_ptr temp_overlap_ (new charset); - - overlap_ = temp_overlap_; + overlap_.reset (new charset); ++iter_; } else if (r_->empty ()) { - delete r_.release (); - r_ = overlap_; - - // VC++ 6 Hack: - charset_ptr temp_overlap_ (new charset); - - overlap_ = temp_overlap_; + overlap_.swap (r_); + overlap_.reset (new charset); break; } else @@ -517,10 +510,7 @@ protected: static_cast<charset *>(0)); *iter_ = overlap_.release (); - // VC++ 6 Hack: - charset_ptr temp_overlap_ (new charset); - - overlap_ = temp_overlap_; + overlap_.reset(new charset); ++iter_; end_ = lhs_->end (); } @@ -642,21 +632,13 @@ protected: delete *l_iter_; *l_iter_ = overlap_.release (); - // VC++ 6 Hack: - equivset_ptr temp_overlap_ (new equivset); - - overlap_ = temp_overlap_; + overlap_.reset (new equivset); ++iter_; } else if (r_->empty ()) { - delete r_.release (); - r_ = overlap_; - - // VC++ 6 Hack: - equivset_ptr temp_overlap_ (new equivset); - - overlap_ = temp_overlap_; + overlap_.swap (r_); + overlap_.reset (new equivset); break; } else @@ -665,10 +647,7 @@ protected: static_cast<equivset *>(0)); *iter_ = overlap_.release (); - // VC++ 6 Hack: - equivset_ptr temp_overlap_ (new equivset); - - overlap_ = temp_overlap_; + overlap_.reset (new equivset); ++iter_; end_ = lhs_->end (); } diff --git a/boost/spirit/home/support/detail/pow10.hpp b/boost/spirit/home/support/detail/pow10.hpp index b49bb581fd..e21a4dc571 100644 --- a/boost/spirit/home/support/detail/pow10.hpp +++ b/boost/spirit/home/support/detail/pow10.hpp @@ -13,6 +13,7 @@ #pragma once #endif +#include <cfloat> #include <boost/config/no_tr1/cmath.hpp> #include <boost/limits.hpp> #include <boost/spirit/home/support/unused.hpp> diff --git a/boost/spirit/home/support/iterators/multi_pass.hpp b/boost/spirit/home/support/iterators/multi_pass.hpp index 3fc244034f..1c31d7e256 100644 --- a/boost/spirit/home/support/iterators/multi_pass.hpp +++ b/boost/spirit/home/support/iterators/multi_pass.hpp @@ -148,19 +148,19 @@ namespace boost { namespace spirit return policies_base_type::less_than(*this, y); } - bool operator!=(multi_pass const& y) + bool operator!=(multi_pass const& y) const { return !(*this == y); } - bool operator>(multi_pass const& y) + bool operator>(multi_pass const& y) const { return y < *this; } - bool operator>=(multi_pass const& y) + bool operator>=(multi_pass const& y) const { return !(*this < y); } - bool operator<=(multi_pass const& y) + bool operator<=(multi_pass const& y) const { return !(y < *this); } |