summaryrefslogtreecommitdiff
path: root/src/third_party/boost-1.56.0/boost/spirit/home/classic/utility/impl/chset/range_run.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/third_party/boost-1.56.0/boost/spirit/home/classic/utility/impl/chset/range_run.hpp')
-rw-r--r--src/third_party/boost-1.56.0/boost/spirit/home/classic/utility/impl/chset/range_run.hpp127
1 files changed, 0 insertions, 127 deletions
diff --git a/src/third_party/boost-1.56.0/boost/spirit/home/classic/utility/impl/chset/range_run.hpp b/src/third_party/boost-1.56.0/boost/spirit/home/classic/utility/impl/chset/range_run.hpp
deleted file mode 100644
index 579bcaec708..00000000000
--- a/src/third_party/boost-1.56.0/boost/spirit/home/classic/utility/impl/chset/range_run.hpp
+++ /dev/null
@@ -1,127 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2003 Joel de Guzman
- http://spirit.sourceforge.net/
-
- 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)
-=============================================================================*/
-#ifndef BOOST_SPIRIT_RANGE_RUN_HPP
-#define BOOST_SPIRIT_RANGE_RUN_HPP
-
-///////////////////////////////////////////////////////////////////////////////
-#include <vector>
-
-#include <boost/spirit/home/classic/namespace.hpp>
-
-///////////////////////////////////////////////////////////////////////////////
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-namespace utility { namespace impl {
-
- ///////////////////////////////////////////////////////////////////////////
- //
- // range class
- //
- // Implements a closed range of values. This class is used in
- // the implementation of the range_run class.
- //
- // { Low level implementation detail }
- // { Not to be confused with BOOST_SPIRIT_CLASSIC_NS::range }
- //
- ///////////////////////////////////////////////////////////////////////////
- template <typename CharT>
- struct range {
-
- range(CharT first, CharT last);
-
- bool is_valid() const;
- bool includes(CharT v) const;
- bool includes(range const& r) const;
- bool overlaps(range const& r) const;
- void merge(range const& r);
-
- CharT first;
- CharT last;
- };
-
- //////////////////////////////////
- template <typename CharT>
- struct range_char_compare {
-
- bool operator()(range<CharT> const& x, const CharT y) const
- { return x.first < y; }
-
- bool operator()(const CharT x, range<CharT> const& y) const
- { return x < y.first; }
-
- // This additional operator is required for the checked STL shipped
- // with VC8 testing the ordering of the iterators passed to the
- // std::lower_bound algo this range_char_compare<> predicate is passed
- // to.
- bool operator()(range<CharT> const& x, range<CharT> const& y) const
- { return x.first < y.first; }
- };
-
- //////////////////////////////////
- template <typename CharT>
- struct range_compare {
-
- bool operator()(range<CharT> const& x, range<CharT> const& y) const
- { return x.first < y.first; }
- };
-
- ///////////////////////////////////////////////////////////////////////////
- //
- // range_run
- //
- // An implementation of a sparse bit (boolean) set. The set uses
- // a sorted vector of disjoint ranges. This class implements the
- // bare minimum essentials from which the full range of set
- // operators can be implemented. The set is constructed from
- // ranges. Internally, adjacent or overlapping ranges are
- // coalesced.
- //
- // range_runs are very space-economical in situations where there
- // are lots of ranges and a few individual disjoint values.
- // Searching is O(log n) where n is the number of ranges.
- //
- // { Low level implementation detail }
- //
- ///////////////////////////////////////////////////////////////////////////
- template <typename CharT>
- class range_run {
-
- public:
-
- typedef range<CharT> range_t;
- typedef std::vector<range_t> run_t;
- typedef typename run_t::iterator iterator;
- typedef typename run_t::const_iterator const_iterator;
-
- void swap(range_run& rr);
- bool test(CharT v) const;
- void set(range_t const& r);
- void clear(range_t const& r);
- void clear();
-
- const_iterator begin() const;
- const_iterator end() const;
-
- private:
-
- void merge(iterator iter, range_t const& r);
-
- run_t run;
- };
-
-}}
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace BOOST_SPIRIT_CLASSIC_NS::utility::impl
-
-#endif
-
-#include <boost/spirit/home/classic/utility/impl/chset/range_run.ipp>