From b727d9c4be45f0c0c405e41681632ea6badfe338 Mon Sep 17 00:00:00 2001
From: Ray Chason <chasonr@newsguy.com>
Date: Thu, 4 Jul 2013 08:23:44 +0000
Subject: [PATCH] re PR libstdc++/57808 (operators == and != for
 regex_token_iterator need to be const)

2013-07-04  Ray Chason  <chasonr@newsguy.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/57808
	* include/bits/regex.h (regex_token_iterator<>::operator==,
	regex_token_iterator<>::operator!=, regex_token_iterator<>::operator*,
	regex_token_iterator<>::operator->): Declare const.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>

From-SVN: r200662
---
 libstdc++-v3/ChangeLog            |  8 ++++++++
 libstdc++-v3/include/bits/regex.h | 24 ++++++++++++------------
 2 files changed, 20 insertions(+), 12 deletions(-)

diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 64509c173168..8af0c2b6539c 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,11 @@
+2013-07-04  Ray Chason  <chasonr@newsguy.com>
+	    Paolo Carlini  <paolo.carlini@oracle.com>
+
+	PR libstdc++/57808
+	* include/bits/regex.h (regex_token_iterator<>::operator==,
+	regex_token_iterator<>::operator!=, regex_token_iterator<>::operator*,
+	regex_token_iterator<>::operator->): Declare const.
+
 2013-07-01  Paolo Carlini  <paolo.carlini@oracle.com>
 
 	* include/bits/stl_list.h (list<>::insert(iterator,
diff --git a/libstdc++-v3/include/bits/regex.h b/libstdc++-v3/include/bits/regex.h
index 101925a66f8c..432752a789d2 100644
--- a/libstdc++-v3/include/bits/regex.h
+++ b/libstdc++-v3/include/bits/regex.h
@@ -2404,7 +2404,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
        * @todo Implement this function.
        */
       regex_token_iterator(const regex_token_iterator& __rhs);
-      
+
       /**
        * @brief Assigns a %regex_token_iterator to another.
        * @param __rhs [IN] A %regex_token_iterator to copy.
@@ -2412,49 +2412,49 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
        */
       regex_token_iterator&
       operator=(const regex_token_iterator& __rhs);
-      
+
       /**
        * @brief Compares a %regex_token_iterator to another for equality.
        * @todo Implement this function.
        */
       bool
-      operator==(const regex_token_iterator& __rhs);
-      
+      operator==(const regex_token_iterator& __rhs) const;
+
       /**
        * @brief Compares a %regex_token_iterator to another for inequality.
        * @todo Implement this function.
        */
       bool
-      operator!=(const regex_token_iterator& __rhs);
-      
+      operator!=(const regex_token_iterator& __rhs) const;
+
       /**
        * @brief Dereferences a %regex_token_iterator.
        * @todo Implement this function.
        */
       const value_type&
-      operator*();
-      
+      operator*() const;
+
       /**
        * @brief Selects a %regex_token_iterator member.
        * @todo Implement this function.
        */
       const value_type*
-      operator->();
-      
+      operator->() const;
+
       /**
        * @brief Increments a %regex_token_iterator.
        * @todo Implement this function.
        */
       regex_token_iterator&
       operator++();
-      
+
       /**
        * @brief Postincrements a %regex_token_iterator.
        * @todo Implement this function.
        */
       regex_token_iterator
       operator++(int);
-      
+
     private: // data members for exposition only:
       typedef regex_iterator<_Bi_iter, _Ch_type, _Rx_traits> position_iterator;
 
-- 
GitLab