Remove unneeded stuff
diff --git a/src/text/boost/config.hpp b/src/text/boost/config.hpp deleted file mode 100644 index 8dadfc0..0000000 --- a/src/text/boost/config.hpp +++ /dev/null
@@ -1,3 +0,0 @@ -#ifndef BOOST_CXX14_CONSTEXPR -# define BOOST_CXX14_CONSTEXPR -#endif
diff --git a/src/text/boost/text/config.hpp b/src/text/boost/text/config.hpp index 2c3797c..93ca833 100755 --- a/src/text/boost/text/config.hpp +++ b/src/text/boost/text/config.hpp
@@ -1,8 +1,6 @@ #ifndef BOOST_TEXT_CONFIG_HPP #define BOOST_TEXT_CONFIG_HPP -#include <boost/config.hpp> - /** There are ICU-based implementations of many operations, but those are only defined when BOOST_TEXT_HAS_ICU is nonzero. If you define this, you must @@ -38,7 +36,7 @@ # define BOOST_TEXT_CXX14_CONSTEXPR # define BOOST_TEXT_NO_CXX14_CONSTEXPR #else -# define BOOST_TEXT_CXX14_CONSTEXPR BOOST_CXX14_CONSTEXPR +# define BOOST_TEXT_CXX14_CONSTEXPR # if defined(BOOST_NO_CXX14_CONSTEXPR) # define BOOST_TEXT_NO_CXX14_CONSTEXPR # endif
diff --git a/src/text/boost/text/detail/algorithm.hpp b/src/text/boost/text/detail/algorithm.hpp deleted file mode 100644 index e7e0137..0000000 --- a/src/text/boost/text/detail/algorithm.hpp +++ /dev/null
@@ -1,580 +0,0 @@ -#ifndef BOOST_TEXT_DETAIL_ALGORITHM_HPP -#define BOOST_TEXT_DETAIL_ALGORITHM_HPP - -#include <boost/text/detail/iterator.hpp> - -#include <boost/assert.hpp> - -#include <numeric> -#include <type_traits> -#include <utility> - - -namespace boost { namespace text { - - struct unencoded_rope; - struct unencoded_rope_view; - -}} - -namespace boost { namespace text { namespace detail { - - template<typename...> - struct void_ - { - using type = void; - }; - - template<typename... T> - using void_t = typename void_<T...>::type; - - template<typename T> - struct fixup_ptr - { - using type = T; - }; - - template<typename T> - using remove_v_t = typename std::remove_volatile<T>::type; - - template<typename T> - struct fixup_ptr<T *> - { - using type = remove_v_t<T> const *; - }; - - template<typename T> - using fixup_ptr_t = typename fixup_ptr<T>::type; - - template<typename T> - using remove_cv_ref_t = - typename std::remove_cv<typename std::remove_reference<T>::type>::type; - - struct nonesuch - {}; - - template< - typename Default, - typename AlwaysVoid, - template<typename...> class Template, - typename... Args> - struct detector - { - using value_t = std::false_type; - using type = Default; - }; - - template< - typename Default, - template<typename...> class Template, - typename... Args> - struct detector<Default, void_t<Template<Args...>>, Template, Args...> - { - using value_t = std::true_type; - using type = Template<Args...>; - }; - - template<template<typename...> class Template, typename... Args> - using is_detected = - typename detector<nonesuch, void, Template, Args...>::value_t; - - template<template<typename...> class Template, typename... Args> - using detected_t = - typename detector<nonesuch, void, Template, Args...>::type; - - template< - typename Default, - template<typename...> class Template, - typename... Args> - using detected_or = - typename detector<Default, void, Template, Args...>::type; - - - - template<typename T> - using has_begin = decltype(*std::begin(std::declval<T>())); - template<typename T> - using has_end = decltype(*std::end(std::declval<T>())); - - template<typename T> - using value_type_ = typename std::remove_cv< - typename std::remove_reference<typename T::value_type>::type>::type; - - - template<typename T> - using nonpointer_iterator_category_ = - typename T::iterator::iterator_category; - - template<typename T> - using iterator_category_ = typename std::conditional< - std::is_pointer<typename T::iterator>::value, - std::random_access_iterator_tag, - detected_t<nonpointer_iterator_category_, T>>::type; - - - - template<typename T, typename U, int N> - struct is_convertible_and_n_bytes - : std::integral_constant< - bool, - std::is_convertible<T, U>::value && sizeof(T) == N> - { - }; - - - - template<typename T> - using is_char_iter = std::integral_constant< - bool, - std::is_same<char *, typename std::remove_cv<T>::type>::value || - std::is_same<char const *, typename std::remove_cv<T>::type>:: - value || - is_convertible_and_n_bytes<detected_t<value_type_, T>, char, 1>:: - value>; - - template<typename T> - using is_char_range = std::integral_constant< - bool, - std::is_same<remove_cv_ref_t<T>, unencoded_rope_view>::value || - std::is_same<remove_cv_ref_t<T>, unencoded_rope>::value || - (is_convertible_and_n_bytes< - remove_cv_ref_t<detected_t<has_begin, T>>, - char, - 1>::value && - is_convertible_and_n_bytes< - remove_cv_ref_t<detected_t<has_end, T>>, - char, - 1>::value)>; - - - - template< - typename T, - typename R1, - typename Exclude1, - typename Exclude2, - bool R1IsCharRange = is_char_range<R1>::value && - !std::is_same<R1, Exclude1>::value && - !std::is_same<R1, Exclude2>::value> - struct rng_alg_ret - { - }; - - template<typename T, typename R1, typename Exclude1, typename Exclude2> - struct rng_alg_ret<T, R1, Exclude1, Exclude2, true> - { - using type = T; - }; - - template< - typename T, - typename R1, - typename Exclude1 = void, - typename Exclude2 = void> - using rng_alg_ret_t = typename rng_alg_ret<T, R1, Exclude1, Exclude2>::type; - - template< - typename T, - typename R1, - typename R2, - bool R1IsCharRange = is_char_range<R1>::value, - bool R2IsCharRange = is_char_range<R2>::value> - struct rngs_alg_ret - { - }; - - template<typename T, typename R1, typename R2> - struct rngs_alg_ret<T, R1, R2, true, true> - { - using type = T; - }; - - template<typename T, typename R1, typename R2> - using rngs_alg_ret_t = typename rngs_alg_ret<T, R1, R2>::type; - - - - template<typename T> - using has_contig_begin = decltype(&*std::begin(std::declval<T>())); - template<typename T> - using has_contig_end = decltype(&*std::end(std::declval<T>())); - - template<typename T> - using is_contig_char_range = std::integral_constant< - bool, - std::is_same< - fixup_ptr_t<detected_t<has_contig_begin, T>>, - char const *>::value && - std::is_same< - fixup_ptr_t<detected_t<has_contig_end, T>>, - char const *>::value && - std::is_convertible< - iterator_category_<T>, - std::random_access_iterator_tag>::value && - !std::is_same<T, unencoded_rope>::value && - !std::is_same<T, unencoded_rope_view>::value>; - - - - template< - typename T, - typename R1, - bool R1IsContigCharRange = is_contig_char_range<R1>::value> - struct contig_rng_alg_ret - { - }; - - template<typename T, typename R1> - struct contig_rng_alg_ret<T, R1, true> - { - using type = T; - }; - - template<typename T, typename R1> - using contig_rng_alg_ret_t = typename contig_rng_alg_ret<T, R1>::type; - - template< - typename T, - typename R1, - typename R2, - bool R1IsContigCharRange = is_contig_char_range<R1>::value, - bool R2IsContigCharRange = is_contig_char_range<R2>::value> - struct contig_rngs_alg_ret - { - }; - - template<typename T, typename R1, typename R2> - struct contig_rngs_alg_ret<T, R1, R2, true, true> - { - using type = T; - }; - - template<typename T, typename R1, typename R2> - using contig_rngs_alg_ret_t = typename contig_rngs_alg_ret<T, R1, R2>::type; - - - - template<typename T> - using is_char16_range = std::integral_constant< - bool, - (is_convertible_and_n_bytes< - remove_cv_ref_t<detected_t<has_begin, T>>, - uint16_t, - 2>::value && - is_convertible_and_n_bytes< - remove_cv_ref_t<detected_t<has_end, T>>, - uint16_t, - 2>::value)>; - - - - template< - typename T, - typename R1, - bool R1IsChar16Range = is_char16_range<R1>::value> - struct rng16_alg_ret - { - }; - - template<typename T, typename R1> - struct rng16_alg_ret<T, R1, true> - { - using type = T; - }; - - template<typename T, typename R1> - using rng16_alg_ret_t = typename rng16_alg_ret<T, R1>::type; - - - - template< - typename T, - typename R1, - bool R1IsCharRange = is_char_iter<R1>::value> - struct char_iter_ret - { - }; - - template<typename T, typename R1> - struct char_iter_ret<T, R1, true> - { - using type = T; - }; - - template<typename T, typename R1> - using char_iter_ret_t = typename char_iter_ret<T, R1>::type; - - - - template<typename T> - using is_code_point = std::integral_constant< - bool, - (std::is_unsigned<T>::value && std::is_integral<T>::value && - sizeof(T) == 4)>; - - template<typename T> - using has_deref_and_incr = - std::pair<decltype(*std::declval<T>()), decltype(++std::declval<T>())>; - - template<typename T> - using is_cp_iter = std::integral_constant< - bool, - ((std::is_pointer<T>::value && - is_code_point<typename std::remove_cv< - typename std::remove_pointer<T>::type>::type>::value) || - (is_detected<has_deref_and_incr, T>::value && - is_code_point<typename std::remove_cv< - detected_t<value_type_, T>>::type>::value))>; - - template<typename T, typename R1, bool R1IsCPRange = is_cp_iter<R1>::value> - struct cp_iter_ret - { - }; - - template<typename T, typename R1> - struct cp_iter_ret<T, R1, true> - { - using type = T; - }; - - template<typename T, typename R1> - using cp_iter_ret_t = typename cp_iter_ret<T, R1>::type; - - - template<typename T> - using is_16_code_unit = std::integral_constant< - bool, - (std::is_unsigned<T>::value && std::is_integral<T>::value && - sizeof(T) == 2)>; - - template<typename T> - using is_16_iter = std::integral_constant< - bool, - ((std::is_pointer<T>::value && - is_16_code_unit<typename std::remove_cv< - typename std::remove_pointer<T>::type>::type>::value) || - (is_detected<has_deref_and_incr, T>::value && - is_16_code_unit<typename std::remove_cv< - detected_t<value_type_, T>>::type>::value))>; - - template<typename T, typename R1, bool R1IsCPRange = is_16_iter<R1>::value> - struct _16_iter_ret - { - }; - - template<typename T, typename R1> - struct _16_iter_ret<T, R1, true> - { - using type = T; - }; - - template<typename T, typename R1> - using _16_iter_ret_t = typename _16_iter_ret<T, R1>::type; - - - template<typename T> - using is_8_code_unit = std:: - integral_constant<bool, std::is_integral<T>::value && sizeof(T) == 1>; - - template<typename T> - using is_8_iter = std::integral_constant< - bool, - ((std::is_pointer<T>::value && - is_8_code_unit<typename std::remove_cv< - typename std::remove_pointer<T>::type>::type>::value) || - (is_detected<has_deref_and_incr, T>::value && - is_8_code_unit<typename std::remove_cv< - detected_t<value_type_, T>>::type>::value))>; - - template<typename T, typename R1, bool R1IsCPRange = is_8_iter<R1>::value> - struct _8_iter_ret - { - }; - - template<typename T, typename R1> - struct _8_iter_ret<T, R1, true> - { - using type = T; - }; - - template<typename T, typename R1> - using _8_iter_ret_t = typename _8_iter_ret<T, R1>::type; - - - - template<typename T, typename U> - using comparable_ = decltype(std::declval<T>() == std::declval<U>()); - - template< - typename T, - typename CPIter, - typename Sentinel, - bool FIsWordPropFunc = is_cp_iter<CPIter>::value && - is_detected<comparable_, CPIter, Sentinel>::value> - struct cp_iter_sntl_ret - { - }; - - template<typename T, typename CPIter, typename Sentinel> - struct cp_iter_sntl_ret<T, CPIter, Sentinel, true> - { - using type = T; - }; - - template<typename T, typename CPIter, typename Sentinel> - using cp_iter_sntl_ret_t = - typename cp_iter_sntl_ret<T, CPIter, Sentinel>::type; - - - - template<typename T, typename R1> - using cp_rng_alg_ret_t = cp_iter_sntl_ret_t< - T, - decltype(std::declval<R1>().begin()), - decltype(std::declval<R1>().end())>; - - - - template<typename T> - using is_grapheme_char_range = std::integral_constant< - bool, - is_char_iter<remove_cv_ref_t<decltype( - std::declval<const T>().begin().base().base())>>::value && - is_char_iter<remove_cv_ref_t<decltype( - std::declval<const T>().end().base().base())>>::value>; - - template< - typename T, - typename R1, - bool R1IsGraphemeCharRange = is_grapheme_char_range<R1>::value> - struct graph_rng_alg_ret - { - }; - - template<typename T, typename R1> - struct graph_rng_alg_ret<T, R1, true> - { - using type = T; - }; - - template<typename T, typename R1> - using graph_rng_alg_ret_t = typename graph_rng_alg_ret<T, R1>::type; - - - - template<typename T> - using is_contig_grapheme_char_range = std::integral_constant< - bool, - (std::is_same< - decltype(std::declval<const T>().begin().base().base()), - char const *>::value || - std::is_same< - decltype(std::declval<const T>().begin().base().base()), - char *>::value) && - (std::is_same< - decltype(std::declval<const T>().end().base().base()), - char const *>::value || - std::is_same< - decltype(std::declval<const T>().end().base().base()), - char *>::value)>; - - template< - typename T, - typename R1, - bool R1IsContigGraphemeCharRange = - is_contig_grapheme_char_range<R1>::value> - struct contig_graph_rng_alg_ret - { - }; - - template<typename T, typename R1> - struct contig_graph_rng_alg_ret<T, R1, true> - { - using type = T; - }; - - template<typename T, typename R1> - using contig_graph_rng_alg_ret_t = - typename contig_graph_rng_alg_ret<T, R1>::type; - - - - template<typename Iter> - detail::reverse_iterator<Iter> make_reverse_iterator(Iter it) - { - return detail::reverse_iterator<Iter>(it); - } - - inline std::size_t - hash_combine_(std::size_t seed, std::size_t value) noexcept - { - return seed ^= value + 0x9e3779b9 + (seed << 6) + (seed >> 2); - } - - template<int N> - struct hash_4_more_chars - { - template<typename Iter> - static std::size_t call(std::size_t curr, Iter it) - { - return curr; - } - }; - - template<> - struct hash_4_more_chars<8> - { - template<typename Iter> - static std::size_t call(std::size_t curr, Iter it) - { - curr <<= 32; - curr += (*(it + 4) << 24) + (*(it + 5) << 16) + (*(it + 2) << 6) + - (*(it + 7) << 0); - return curr; - } - }; - - template<typename CharRange> - std::size_t hash_char_range(CharRange const & r) noexcept - { - auto first = r.begin(); - auto last = r.end(); - auto const size = last - first; - auto const remainder = size % sizeof(std::size_t); - last -= remainder; - - std::size_t retval = size; - for (; first != last; first += sizeof(std::size_t)) { - std::size_t curr = (*(first + 0) << 24) + (*(first + 1) << 16) + - (*(first + 2) << 8) + (*(first + 3) << 0); - curr = hash_4_more_chars<sizeof(std::size_t)>::call(curr, first); - retval = hash_combine_(retval, curr); - } - - first = last; - last += remainder; - for (; first != last; ++first) { - retval = hash_combine_(retval, *first); - } - - return retval; - } - - template<typename GraphemeRange> - std::size_t hash_grapheme_range(GraphemeRange const & r) noexcept - { - std::size_t cps = 0; - std::size_t retval = std::accumulate( - r.begin().base(), - r.end().base(), - std::size_t(0), - [&cps](std::size_t seed, std::size_t value) { - ++cps; - return hash_combine_(seed, value); - }); - return hash_combine_(retval, cps); - } - -}}} - -#endif
diff --git a/src/text/boost/text/detail/iterator.hpp b/src/text/boost/text/detail/iterator.hpp deleted file mode 100644 index 091e852..0000000 --- a/src/text/boost/text/detail/iterator.hpp +++ /dev/null
@@ -1,424 +0,0 @@ -#ifndef BOOST_TEXT_DETAIL_ITERATOR_HPP -#define BOOST_TEXT_DETAIL_ITERATOR_HPP - -#include <boost/text/config.hpp> - -#include <iterator> - - -namespace boost { namespace text { namespace detail { - - template<typename T> - struct arrow_proxy - { - T * operator->() noexcept { return &value_; } - T const * operator->() const noexcept { return &value_; } - - explicit arrow_proxy(T value) noexcept : value_(std::move(value)) {} - - private: - T value_; - }; - - template<typename T, bool IterIsProxy> - struct invoke_op_arrow - { - template<typename U> - static arrow_proxy<T> call(U && value) noexcept - { - return arrow_proxy<T>(std::forward<U>(value)); - } - }; - - template<typename T> - struct invoke_op_arrow<T, false> - { - static T * call(T & value) noexcept { return &value; } - }; - - - template<typename Iter, bool IterIsProxy = false> - struct reverse_iterator - { - using iterator_category = - typename std::iterator_traits<Iter>::iterator_category; - using value_type = typename std::iterator_traits<Iter>::value_type; - using difference_type = - typename std::iterator_traits<Iter>::difference_type; - using pointer = typename std::conditional< - IterIsProxy, - arrow_proxy<value_type>, - typename std::iterator_traits<Iter>::pointer>::type; - using reference = typename std::iterator_traits<Iter>::reference; - using iterator_type = Iter; - - constexpr reverse_iterator() noexcept : it_() {} - explicit constexpr reverse_iterator(iterator_type it) noexcept : it_(it) - {} - - constexpr reverse_iterator(reverse_iterator const & other) noexcept : - it_(other.it_) - {} - - template<typename Iter2> - constexpr reverse_iterator( - const reverse_iterator<Iter2> & other) noexcept : - it_(other.base()) - {} - - constexpr iterator_type base() const noexcept { return it_; } - - BOOST_TEXT_CXX14_CONSTEXPR reference operator*() const noexcept - { - Iter temp = it_; - return *--temp; - } - - constexpr pointer operator->() const noexcept - { - Iter temp = it_; - return invoke_op_arrow<value_type, IterIsProxy>::call(*--temp); - } - - constexpr reference operator[](difference_type n) const noexcept - { - return *(it_ - n - 1); - } - - constexpr reverse_iterator operator+(difference_type n) const noexcept - { - return reverse_iterator(it_ - n); - } - - constexpr reverse_iterator operator-(difference_type n) const noexcept - { - return reverse_iterator(it_ + n); - } - - BOOST_TEXT_CXX14_CONSTEXPR reverse_iterator & operator++() noexcept - { - --it_; - return *this; - } - - BOOST_TEXT_CXX14_CONSTEXPR reverse_iterator operator++(int)noexcept - { - reverse_iterator retval = *this; - --it_; - return retval; - } - - BOOST_TEXT_CXX14_CONSTEXPR reverse_iterator & operator--() noexcept - { - ++it_; - return *this; - } - - BOOST_TEXT_CXX14_CONSTEXPR reverse_iterator operator--(int)noexcept - { - reverse_iterator retval = *this; - ++it_; - return retval; - } - - BOOST_TEXT_CXX14_CONSTEXPR reverse_iterator & - operator+=(difference_type n) noexcept - { - it_ -= n; - return *this; - } - - BOOST_TEXT_CXX14_CONSTEXPR reverse_iterator & - operator-=(difference_type n) noexcept - { - it_ += n; - return *this; - } - - private: - Iter it_; - }; - - template<typename Iter, bool IterIsProxy> - constexpr bool operator==( - reverse_iterator<Iter, IterIsProxy> const & lhs, - reverse_iterator<Iter, IterIsProxy> const & rhs) noexcept - { - return lhs.base() == rhs.base(); - } - - template<typename Iter, bool IterIsProxy> - constexpr bool operator<( - reverse_iterator<Iter, IterIsProxy> const & lhs, - reverse_iterator<Iter, IterIsProxy> const & rhs) noexcept - { - return rhs.base() < lhs.base(); - } - - template<typename Iter, bool IterIsProxy> - constexpr bool operator!=( - reverse_iterator<Iter, IterIsProxy> const & lhs, - reverse_iterator<Iter, IterIsProxy> const & rhs) noexcept - { - return !(lhs == rhs); - } - - template<typename Iter, bool IterIsProxy> - constexpr bool operator>( - reverse_iterator<Iter, IterIsProxy> const & lhs, - reverse_iterator<Iter, IterIsProxy> const & rhs) noexcept - { - return rhs < lhs; - } - - template<typename Iter, bool IterIsProxy> - constexpr bool operator<=( - reverse_iterator<Iter, IterIsProxy> const & lhs, - reverse_iterator<Iter, IterIsProxy> const & rhs) noexcept - { - return !(rhs < lhs); - } - - template<typename Iter, bool IterIsProxy> - constexpr bool operator>=( - reverse_iterator<Iter, IterIsProxy> const & lhs, - reverse_iterator<Iter, IterIsProxy> const & rhs) noexcept - { - return !(lhs < rhs); - } - - template< - typename Iter1, - bool Iter1IsProxy, - typename Iter2, - bool Iter2IsProxy> - constexpr bool operator==( - reverse_iterator<Iter1, Iter1IsProxy> const & lhs, - reverse_iterator<Iter2, Iter2IsProxy> const & rhs) noexcept - { - return lhs.base() == rhs.base(); - } - - template< - typename Iter1, - bool Iter1IsProxy, - typename Iter2, - bool Iter2IsProxy> - constexpr bool operator<( - reverse_iterator<Iter1, Iter1IsProxy> const & lhs, - reverse_iterator<Iter2, Iter2IsProxy> const & rhs) noexcept - { - return rhs.base() < lhs.base(); - } - - template< - typename Iter1, - bool Iter1IsProxy, - typename Iter2, - bool Iter2IsProxy> - constexpr bool operator!=( - reverse_iterator<Iter1, Iter1IsProxy> const & lhs, - reverse_iterator<Iter2, Iter2IsProxy> const & rhs) noexcept - { - return !(lhs == rhs); - } - - template< - typename Iter1, - bool Iter1IsProxy, - typename Iter2, - bool Iter2IsProxy> - constexpr bool operator>( - reverse_iterator<Iter1, Iter1IsProxy> const & lhs, - reverse_iterator<Iter2, Iter2IsProxy> const & rhs) noexcept - { - return rhs < lhs; - } - - template< - typename Iter1, - bool Iter1IsProxy, - typename Iter2, - bool Iter2IsProxy> - constexpr bool operator<=( - reverse_iterator<Iter1, Iter1IsProxy> const & lhs, - reverse_iterator<Iter2, Iter2IsProxy> const & rhs) noexcept - { - return !(rhs < lhs); - } - - template< - typename Iter1, - bool Iter1IsProxy, - typename Iter2, - bool Iter2IsProxy> - constexpr bool operator>=( - reverse_iterator<Iter1, Iter1IsProxy> const & lhs, - reverse_iterator<Iter2, Iter2IsProxy> const & rhs) noexcept - { - return !(lhs < rhs); - } - - template< - typename Iter1, - bool Iter1IsProxy, - typename Iter2, - bool Iter2IsProxy> - constexpr auto operator-( - reverse_iterator<Iter1, Iter1IsProxy> const & lhs, - reverse_iterator<Iter2, Iter2IsProxy> const & rhs) noexcept - -> decltype(rhs.base() - lhs.base()) - { - return rhs.base() - lhs.base(); - } - - using reverse_char_iterator = reverse_iterator<char *>; - using const_reverse_char_iterator = reverse_iterator<char const *>; - - - struct const_repeated_chars_iterator - { - using value_type = char; - using difference_type = std::ptrdiff_t; - using pointer = char const *; - using reference = char; - using iterator_category = std::random_access_iterator_tag; - - constexpr const_repeated_chars_iterator() noexcept : - first_(nullptr), - size_(0), - n_(0) - {} - constexpr const_repeated_chars_iterator( - char const * first, - difference_type size, - difference_type n) noexcept : - first_(first), - size_(size), - n_(n) - {} - - constexpr reference operator*() const noexcept - { - return first_[n_ % size_]; - } - - constexpr value_type operator[](difference_type n) const noexcept - { - return first_[(n_ + n) % size_]; - } - - BOOST_TEXT_CXX14_CONSTEXPR const_repeated_chars_iterator & - operator++() noexcept - { - ++n_; - return *this; - } - BOOST_TEXT_CXX14_CONSTEXPR const_repeated_chars_iterator - operator++(int)noexcept - { - const_repeated_chars_iterator retval = *this; - ++*this; - return retval; - } - BOOST_TEXT_CXX14_CONSTEXPR const_repeated_chars_iterator & - operator+=(difference_type n) noexcept - { - n_ += n; - return *this; - } - - BOOST_TEXT_CXX14_CONSTEXPR const_repeated_chars_iterator & - operator--() noexcept - { - --n_; - return *this; - } - BOOST_TEXT_CXX14_CONSTEXPR const_repeated_chars_iterator - operator--(int)noexcept - { - const_repeated_chars_iterator retval = *this; - --*this; - return retval; - } - BOOST_TEXT_CXX14_CONSTEXPR const_repeated_chars_iterator & - operator-=(difference_type n) noexcept - { - n_ -= n; - return *this; - } - - friend constexpr bool operator==( - const_repeated_chars_iterator lhs, - const_repeated_chars_iterator rhs) noexcept - { - return lhs.first_ == rhs.first_ && lhs.n_ == rhs.n_; - } - friend constexpr bool operator!=( - const_repeated_chars_iterator lhs, - const_repeated_chars_iterator rhs) noexcept - { - return !(lhs == rhs); - } - friend constexpr bool operator<( - const_repeated_chars_iterator lhs, - const_repeated_chars_iterator rhs) noexcept - { - return lhs.first_ == rhs.first_ && lhs.n_ < rhs.n_; - } - friend constexpr bool operator<=( - const_repeated_chars_iterator lhs, - const_repeated_chars_iterator rhs) noexcept - { - return lhs == rhs || lhs < rhs; - } - friend constexpr bool operator>( - const_repeated_chars_iterator lhs, - const_repeated_chars_iterator rhs) noexcept - { - return rhs < lhs; - } - friend constexpr bool operator>=( - const_repeated_chars_iterator lhs, - const_repeated_chars_iterator rhs) noexcept - { - return rhs <= lhs; - } - - friend BOOST_TEXT_CXX14_CONSTEXPR const_repeated_chars_iterator - operator+( - const_repeated_chars_iterator lhs, difference_type rhs) noexcept - { - return lhs += rhs; - } - friend BOOST_TEXT_CXX14_CONSTEXPR const_repeated_chars_iterator - operator+( - difference_type lhs, const_repeated_chars_iterator rhs) noexcept - { - return rhs += lhs; - } - friend BOOST_TEXT_CXX14_CONSTEXPR const_repeated_chars_iterator - operator-( - const_repeated_chars_iterator lhs, difference_type rhs) noexcept - { - return lhs -= rhs; - } - friend constexpr difference_type operator-( - const_repeated_chars_iterator lhs, - const_repeated_chars_iterator rhs) noexcept - { - return lhs.n_ - rhs.n_; - } - - private: - char const * first_; - difference_type size_; - difference_type n_; - }; - - using const_reverse_repeated_chars_iterator = - reverse_iterator<const_repeated_chars_iterator>; - -}}} - -#endif
diff --git a/src/text/boost/text/detail/sentinel_tag.hpp b/src/text/boost/text/detail/sentinel_tag.hpp deleted file mode 100644 index 3a2d2f0..0000000 --- a/src/text/boost/text/detail/sentinel_tag.hpp +++ /dev/null
@@ -1,12 +0,0 @@ -#ifndef BOOST_TEXT_DETAIL_SENTINEL_TAG_HPP -#define BOOST_TEXT_DETAIL_SENTINEL_TAG_HPP - - -namespace boost { namespace text { namespace detail { - struct sentinel_tag - {}; - struct non_sentinel_tag - {}; -}}} - -#endif
diff --git a/src/text/boost/text/grapheme_break.hpp b/src/text/boost/text/grapheme_break.hpp index c45e517..92050d6 100644 --- a/src/text/boost/text/grapheme_break.hpp +++ b/src/text/boost/text/grapheme_break.hpp
@@ -1,13 +1,12 @@ #ifndef BOOST_TEXT_GRAPHEME_BREAK_HPP #define BOOST_TEXT_GRAPHEME_BREAK_HPP -#include <boost/text/config.hpp> - #include <array> #include <unordered_map> #include <stdint.h> +#define BOOST_TEXT_DECL namespace boost { namespace text {
diff --git a/src/text/grapheme_break.cpp b/src/text/grapheme_break.cpp index 41a6e32..ef9c7c7 100644 --- a/src/text/grapheme_break.cpp +++ b/src/text/grapheme_break.cpp
@@ -2,8 +2,6 @@ #include <boost/text/grapheme_break.hpp> #include <boost/text/detail/break_prop_iter.hpp> -#include <boost/assert.hpp> - #include <algorithm> #include <array> #include <unordered_map> @@ -3583,8 +3581,8 @@ compressed.begin(), compressed.end(), lzw_to_break_prop_iter<grapheme_property>(retval, buf)); -BOOST_ASSERT(buf.empty()); -BOOST_ASSERT(retval.size() == 15958); +assert(buf.empty()); +assert(retval.size() == 15958); return retval; }