summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '3rdParty/Boost/boost/token_iterator.hpp')
m---------3rdParty/Boost0
-rw-r--r--3rdParty/Boost/boost/token_iterator.hpp128
2 files changed, 0 insertions, 128 deletions
diff --git a/3rdParty/Boost b/3rdParty/Boost
new file mode 160000
+Subproject 3bbdbc8cf1996f23d9a366da8bac0f97be6ad79
diff --git a/3rdParty/Boost/boost/token_iterator.hpp b/3rdParty/Boost/boost/token_iterator.hpp
deleted file mode 100644
index 19b1db2..0000000
--- a/3rdParty/Boost/boost/token_iterator.hpp
+++ /dev/null
@@ -1,128 +0,0 @@
-// Boost token_iterator.hpp -------------------------------------------------//
-
-// Copyright John R. Bandela 2001
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// See http://www.boost.org/libs/tokenizer for documentation.
-
-// Revision History:
-// 16 Jul 2003 John Bandela
-// Allowed conversions from convertible base iterators
-// 03 Jul 2003 John Bandela
-// Converted to new iterator adapter
-
-
-
-#ifndef BOOST_TOKENIZER_POLICY_JRB070303_HPP_
-#define BOOST_TOKENIZER_POLICY_JRB070303_HPP_
-
-#include<boost/assert.hpp>
-#include<boost/iterator/iterator_adaptor.hpp>
-#include<boost/iterator/detail/minimum_category.hpp>
-#include<boost/token_functions.hpp>
-#include<utility>
-
-namespace boost
-{
- template <class TokenizerFunc, class Iterator, class Type>
- class token_iterator
- : public iterator_facade<
- token_iterator<TokenizerFunc, Iterator, Type>
- , Type
- , typename detail::minimum_category<
- forward_traversal_tag
- , typename iterator_traversal<Iterator>::type
- >::type
- , const Type&
- >
- {
-
- friend class iterator_core_access;
-
- TokenizerFunc f_;
- Iterator begin_;
- Iterator end_;
- bool valid_;
- Type tok_;
-
- void increment(){
- BOOST_ASSERT(valid_);
- valid_ = f_(begin_,end_,tok_);
- }
-
- const Type& dereference() const {
- BOOST_ASSERT(valid_);
- return tok_;
- }
- template<class Other>
- bool equal(const Other& a) const{
- return (a.valid_ && valid_)
- ?( (a.begin_==begin_) && (a.end_ == end_) )
- :(a.valid_==valid_);
-
- }
-
- void initialize(){
- if(valid_) return;
- f_.reset();
- valid_ = (begin_ != end_)?
- f_(begin_,end_,tok_):false;
- }
- public:
- token_iterator():begin_(),end_(),valid_(false),tok_() { }
-
- token_iterator(TokenizerFunc f, Iterator begin, Iterator e = Iterator())
- : f_(f),begin_(begin),end_(e),valid_(false),tok_(){ initialize(); }
-
- token_iterator(Iterator begin, Iterator e = Iterator())
- : f_(),begin_(begin),end_(e),valid_(false),tok_() {initialize();}
-
- template<class OtherIter>
- token_iterator(
- token_iterator<TokenizerFunc, OtherIter,Type> const& t
- , typename enable_if_convertible<OtherIter, Iterator>::type* = 0)
- : f_(t.tokenizer_function()),begin_(t.base())
- ,end_(t.end()),valid_(!t.at_end()),tok_(t.current_token()) {}
-
- Iterator base()const{return begin_;}
-
- Iterator end()const{return end_;};
-
- TokenizerFunc tokenizer_function()const{return f_;}
-
- Type current_token()const{return tok_;}
-
- bool at_end()const{return !valid_;}
-
-
-
-
- };
- template <
- class TokenizerFunc = char_delimiters_separator<char>,
- class Iterator = std::string::const_iterator,
- class Type = std::string
- >
- class token_iterator_generator {
-
- private:
- public:
- typedef token_iterator<TokenizerFunc,Iterator,Type> type;
- };
-
-
- // Type has to be first because it needs to be explicitly specified
- // because there is no way the function can deduce it.
- template<class Type, class Iterator, class TokenizerFunc>
- typename token_iterator_generator<TokenizerFunc,Iterator,Type>::type
- make_token_iterator(Iterator begin, Iterator end,const TokenizerFunc& fun){
- typedef typename
- token_iterator_generator<TokenizerFunc,Iterator,Type>::type ret_type;
- return ret_type(fun,begin,end);
- }
-
-} // namespace boost
-
-#endif