PATH:
opt
/
cpanel
/
ea-ruby27
/
src
/
passenger-release-6.1.2
/
src
/
cxx_supportlib
/
vendor-modified
/
boost
// Boost tokenizer.hpp -----------------------------------------------------// // (c) Copyright Jeremy Siek and 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 documenation // Revision History: // 03 Jul 2003 John Bandela // Converted to new iterator adapter // 02 Feb 2002 Jeremy Siek // Removed tabs and a little cleanup. #ifndef BOOST_TOKENIZER_JRB070303_HPP_ #define BOOST_TOKENIZER_JRB070303_HPP_ #include <boost/token_iterator.hpp> namespace boost { //=========================================================================== // A container-view of a tokenized "sequence" template < typename TokenizerFunc = char_delimiters_separator<char>, typename Iterator = std::string::const_iterator, typename Type = std::string > class tokenizer { private: typedef token_iterator_generator<TokenizerFunc,Iterator,Type> TGen; // It seems that MSVC does not like the unqualified use of iterator, // Thus we use iter internally when it is used unqualified and // the users of this class will always qualify iterator. typedef typename TGen::type iter; public: typedef iter iterator; typedef iter const_iterator; typedef Type value_type; typedef value_type& reference; typedef const value_type& const_reference; typedef value_type* pointer; typedef const pointer const_pointer; typedef void size_type; typedef void difference_type; tokenizer(Iterator first, Iterator last, const TokenizerFunc& f = TokenizerFunc()) : first_(first), last_(last), f_(f) { } template <typename Container> tokenizer(const Container& c) : first_(c.begin()), last_(c.end()), f_() { } template <typename Container> tokenizer(const Container& c,const TokenizerFunc& f) : first_(c.begin()), last_(c.end()), f_(f) { } void assign(Iterator first, Iterator last){ first_ = first; last_ = last; } void assign(Iterator first, Iterator last, const TokenizerFunc& f){ assign(first,last); f_ = f; } template <typename Container> void assign(const Container& c){ assign(c.begin(),c.end()); } template <typename Container> void assign(const Container& c, const TokenizerFunc& f){ assign(c.begin(),c.end(),f); } iter begin() const { return iter(f_,first_,last_); } iter end() const { return iter(f_,last_,last_); } private: Iterator first_; Iterator last_; TokenizerFunc f_; }; } // namespace boost #endif
[-] type.hpp
[edit]
[-] integer.hpp
[edit]
[-] ref.hpp
[edit]
[+]
move
[+]
libs
[+]
predef
[-] is_placeholder.hpp
[edit]
[+]
preprocessor
[-] none.hpp
[edit]
[+]
range
[+]
optional
[-] circular_buffer_fwd.hpp
[edit]
[-] utility.hpp
[edit]
[-] assert.hpp
[edit]
[-] aligned_storage.hpp
[edit]
[-] circular_buffer.hpp
[edit]
[+]
chrono
[-] pointer_cast.hpp
[edit]
[-] optional.hpp
[edit]
[+]
ratio
[-] foreach_fwd.hpp
[edit]
[-] regex.h
[edit]
[+]
describe
[+]
core
[-] foreach.hpp
[edit]
[-] exception_ptr.hpp
[edit]
[+]
tuple
[-] weak_ptr.hpp
[edit]
[+]
config
[+]
iterator
[-] config.hpp
[edit]
[+]
parameter
[+]
regex
[-] mem_fn.hpp
[edit]
[+]
function
[+]
date_time
[-] ratio.hpp
[edit]
[-] enable_shared_from_this.hpp
[edit]
[-] chrono.hpp
[edit]
[-] throw_exception.hpp
[edit]
[+]
pool
[-] thread.hpp
[edit]
[+]
unordered
[-] lexical_cast.hpp
[edit]
[-] regex_fwd.hpp
[edit]
[+]
thread
[-] shared_array.hpp
[edit]
[-] rational.hpp
[edit]
[-] limits.hpp
[edit]
[+]
utility
[+]
..
[-] function_equal.hpp
[edit]
[+]
random
[+]
type_traits
[+]
container
[-] make_shared.hpp
[edit]
[+]
container_hash
[-] none_t.hpp
[edit]
[-] predef.h
[edit]
[+]
atomic
[-] unordered_set.hpp
[edit]
[-] non_type.hpp
[edit]
[-] version.hpp
[edit]
[-] intrusive_ptr.hpp
[edit]
[+]
numeric
[+]
circular_buffer
[-] io_fwd.hpp
[edit]
[+]
mpl
[+]
typeof
[-] tokenizer.hpp
[edit]
[+]
concept
[+]
system
[-] next_prior.hpp
[edit]
[+]
lexical_cast
[+]
io
[+]
intrusive
[+]
mp11
[-] regex.hpp
[edit]
[-] function.hpp
[edit]
[+]
integer
[-] integer_fwd.hpp
[edit]
[-] static_assert.hpp
[edit]
[-] integer_traits.hpp
[edit]
[-] get_pointer.hpp
[edit]
[-] nondet_random.hpp
[edit]
[-] shared_ptr.hpp
[edit]
[-] current_function.hpp
[edit]
[-] token_iterator.hpp
[edit]
[+]
functional
[-] memory_order.hpp
[edit]
[+]
assert
[+]
detail
[-] atomic.hpp
[edit]
[-] cstdint.hpp
[edit]
[+]
exception
[-] operators.hpp
[edit]
[-] scoped_array.hpp
[edit]
[-] token_functions.hpp
[edit]
[+]
bind
[-] scoped_ptr.hpp
[edit]
[-] cregex.hpp
[edit]
[-] random.hpp
[edit]
[-] concept_check.hpp
[edit]
[+]
algorithm
[+]
smart_ptr
[-] noncopyable.hpp
[edit]
[-] unordered_map.hpp
[edit]
[-] visit_each.hpp
[edit]