public inbox for libstdc++@gcc.gnu.org
 help / color / mirror / Atom feed
* [committed] libstdc++: Change class-key for duration and time_point to class
@ 2022-12-09  0:35 Jonathan Wakely
  0 siblings, 0 replies; only message in thread
From: Jonathan Wakely @ 2022-12-09  0:35 UTC (permalink / raw)
  To: libstdc++, gcc-patches

Tested x86_64-linux. Pushed to trunk.

-- >8 --

We define these with the 'struct' keyword, but the standard uses
'class'. This results in warnings if users try to refer to them using
elaborated type specifiers.

libstdc++-v3/ChangeLog:

	* include/bits/chrono.h (duration, time_point): Change 'struct'
	to 'class'.
---
 libstdc++-v3/include/bits/chrono.h | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/libstdc++-v3/include/bits/chrono.h b/libstdc++-v3/include/bits/chrono.h
index cabf61264d8..496e9485a73 100644
--- a/libstdc++-v3/include/bits/chrono.h
+++ b/libstdc++-v3/include/bits/chrono.h
@@ -59,11 +59,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
     /// `chrono::duration` represents a distance between two points in time
     template<typename _Rep, typename _Period = ratio<1>>
-      struct duration;
+      class duration;
 
     /// `chrono::time_point` represents a point in time as measured by a clock
     template<typename _Clock, typename _Dur = typename _Clock::duration>
-      struct time_point;
+      class time_point;
     /// @}
   }
 
@@ -431,14 +431,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     /// @endcond
 
     template<typename _Rep, typename _Period>
-      struct duration
+      class duration
       {
 	static_assert(!__is_duration<_Rep>::value, "rep cannot be a duration");
 	static_assert(__is_ratio<_Period>::value,
 		      "period must be a specialization of ratio");
 	static_assert(_Period::num > 0, "period must be positive");
 
-      private:
 	template<typename _Rep2>
 	  using __is_float = treat_as_floating_point<_Rep2>;
 
@@ -844,11 +843,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 #undef _GLIBCXX_CHRONO_INT64_T
 
     template<typename _Clock, typename _Dur>
-      struct time_point
+      class time_point
       {
 	static_assert(__is_duration<_Dur>::value,
 	    "duration must be a specialization of std::chrono::duration");
 
+      public:
 	typedef _Clock						clock;
 	typedef _Dur						duration;
 	typedef typename duration::rep				rep;
-- 
2.38.1


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-12-09  0:35 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-09  0:35 [committed] libstdc++: Change class-key for duration and time_point to class Jonathan Wakely

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).