On 27/09/2016 12:32, Jonathan Wakely wrote:
Index: include/debug/safe_base.h
===================================================================
--- include/debug/safe_base.h    (revision 240509)
+++ include/debug/safe_base.h    (working copy)
@@ -121,11 +121,11 @@
    void
    _M_detach();

+  public:
    /** Likewise, but not thread-safe. */
    void
    _M_detach_single() throw ();

-  public:
    /** Determines if we are attached to the given sequence. */
    bool
    _M_attached_to(const _Safe_sequence_base* __seq) const


Would this be a smaller change, that doesn't make the member
accessible to all code?

--- a/libstdc++-v3/include/debug/safe_base.h
+++ b/libstdc++-v3/include/debug/safe_base.h
@@ -50,6 +50,7 @@ namespace __gnu_debug
  class _Safe_iterator_base
  {
    friend class _Safe_sequence_base;
+    template<typename> friend class _Safe_sequence;

  public:
    /** The sequence this iterator references; may be NULL to indicate
.

I am not a great fan of friend class. As long as it was friend declaration between iterator and sequence base types it was ok. Now that we need to make a template class friend I consider that it is too much friendship and prefer to make the necessary method public.

But if you think otherwise just tell me and I will use your approach.

François

Reply via email to