$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
From: dgregor_at_[hidden]
Date: 2007-08-29 12:00:54
Author: dgregor
Date: 2007-08-29 12:00:53 EDT (Wed, 29 Aug 2007)
New Revision: 39052
URL: http://svn.boost.org/trac/boost/changeset/39052
Log:
Constify status::count and status::cancelled. Fixes #1101
Text files modified: 
   trunk/boost/mpi/communicator.hpp    |     6 +++---                                  
   trunk/boost/mpi/status.hpp          |    12 ++++++------                            
   trunk/libs/mpi/src/communicator.cpp |     2 +-                                      
   3 files changed, 10 insertions(+), 10 deletions(-)
Modified: trunk/boost/mpi/communicator.hpp
==============================================================================
--- trunk/boost/mpi/communicator.hpp	(original)
+++ trunk/boost/mpi/communicator.hpp	2007-08-29 12:00:53 EDT (Wed, 29 Aug 2007)
@@ -1071,13 +1071,13 @@
  ************************************************************************/
 // Count elements in a message
 template<typename T> 
-inline optional<int> status::count()
+inline optional<int> status::count() const
 {
   return count_impl<T>(is_mpi_datatype<T>());
 }
 
 template<typename T> 
-optional<int> status::count_impl(mpl::true_)
+optional<int> status::count_impl(mpl::true_) const
 {
   if (m_count != -1)
     return m_count;
@@ -1093,7 +1093,7 @@
 }
 
 template<typename T> 
-inline optional<int> status::count_impl(mpl::false_)
+inline optional<int> status::count_impl(mpl::false_) const
 {
   if (m_count == -1)
     return optional<int>();
Modified: trunk/boost/mpi/status.hpp
==============================================================================
--- trunk/boost/mpi/status.hpp	(original)
+++ trunk/boost/mpi/status.hpp	2007-08-29 12:00:53 EDT (Wed, 29 Aug 2007)
@@ -54,7 +54,7 @@
    * Determine whether the communication associated with this object
    * has been successfully cancelled.
   */
-  bool cancelled();
+  bool cancelled() const;
 
   /**
    * Determines the number of elements of type @c T contained in the
@@ -66,7 +66,7 @@
    * @returns the number of @c T elements in the message, if it can be
    * determined.
    */
-  template<typename T> optional<int> count();
+  template<typename T> optional<int> count() const;
 
   /**
    * References the underlying @c MPI_Status
@@ -82,18 +82,18 @@
   /**
    * INTERNAL ONLY
    */
-  template<typename T> optional<int> count_impl(mpl::true_);
+  template<typename T> optional<int> count_impl(mpl::true_) const;
 
   /**
    * INTERNAL ONLY
    */
-  template<typename T> optional<int> count_impl(mpl::false_);
+  template<typename T> optional<int> count_impl(mpl::false_) const;
 
  public: // friend templates are not portable
 
   /// INTERNAL ONLY
-  MPI_Status m_status;
-  int m_count;
+  mutable MPI_Status m_status;
+  mutable int m_count;
 
   friend class communicator;
   friend class request;
Modified: trunk/libs/mpi/src/communicator.cpp
==============================================================================
--- trunk/libs/mpi/src/communicator.cpp	(original)
+++ trunk/libs/mpi/src/communicator.cpp	2007-08-29 12:00:53 EDT (Wed, 29 Aug 2007)
@@ -15,7 +15,7 @@
 /***************************************************************************
  * status                                                                  *
  ***************************************************************************/
-bool status::cancelled()
+bool status::cancelled() const
 {
   int flag = 0;
   BOOST_MPI_CHECK_RESULT(MPI_Test_cancelled, (&m_status, &flag));