]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
buffer: mark the iterator traits "public" 25409/head
authorKefu Chai <kchai@redhat.com>
Wed, 5 Dec 2018 12:56:53 +0000 (20:56 +0800)
committerKefu Chai <kchai@redhat.com>
Thu, 6 Dec 2018 00:59:35 +0000 (08:59 +0800)
the iterator traits should be accessible from non-dervative classes.

Signed-off-by: Kefu Chai <kchai@redhat.com>
src/include/buffer.h

index 56c5e8154e2866e42d63a2582aa836b2172fe8ae..112fdc96dac2ea1c24afa179985838bf233aa8f5 100644 (file)
@@ -687,12 +687,6 @@ namespace buffer CEPH_BUFFER_API {
       typedef typename std::conditional<is_const,
                                        typename buffers_t::const_iterator,
                                        typename buffers_t::iterator>::type list_iter_t;
-      using iterator_category = std::forward_iterator_tag;
-      using value_type = typename std::conditional<is_const, const char, char>::type;
-      using difference_type = std::ptrdiff_t;
-      using pointer = typename std::add_pointer<value_type>::type;
-      using reference = typename std::add_lvalue_reference<value_type>::type;
-
       bl_t* bl;
       list_t* ls;  // meh.. just here to avoid an extra pointer dereference..
       list_iter_t p;
@@ -701,6 +695,12 @@ namespace buffer CEPH_BUFFER_API {
       friend class iterator_impl<true>;
 
     public:
+      using iterator_category = std::forward_iterator_tag;
+      using value_type = typename std::conditional<is_const, const char, char>::type;
+      using difference_type = std::ptrdiff_t;
+      using pointer = typename std::add_pointer<value_type>::type;
+      using reference = typename std::add_lvalue_reference<value_type>::type;
+
       // constructor.  position.
       iterator_impl()
        : bl(0), ls(0), off(0), p_off(0) {}