> Why not just implement `shared_mutex` in terms of `shared_timed_mutex` 
> instead of factoring out common functionality?


I'd rather do it the other way, since `shared_timed_mutex` is a superset of the 
functionality of `shared_mutex`. But I can't, due to ABI concerns.


================
Comment at: include/shared_mutex:175
@@ +174,3 @@
+
+#if _LIBCPP_STD_VER > 14
+class _LIBCPP_TYPE_VIS shared_mutex
----------------
EricWF wrote:
> Why > 14 and not >= 17? I don't have a preference, just a question.
Because we don't know that the next version of the standard will be "17". It 
could slip to 2018 (say).   All you know is that it is post-c++14. FWIW, if you 
specify `-std=c++1z` in clang, you get a `_LIBCPP_STD_VER` that is "15". 

================
Comment at: include/shared_mutex:196
@@ +195,3 @@
+
+//     typedef __shared_mutex_base::native_handle_type native_handle_type;
+//     _LIBCPP_INLINE_VISIBILITY native_handle_type native_handle() { return 
__base::unlock_shared(); }
----------------
EricWF wrote:
> Why are these commented out/not getting committed?
In the standard, they are optional.

http://reviews.llvm.org/D10480

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/



_______________________________________________
cfe-commits mailing list
cfe-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to