68#ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_LINKED_PTR_H_
69#define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_LINKED_PTR_H_
74#include "gtest/internal/gtest-port.h"
113 while (p->next_ != ptr) p = p->next_;
124 if (next_ ==
this)
return true;
126 while (p->next_ !=
this) p = p->next_;
148 assert(&ptr !=
this);
172 T*
get()
const {
return value_; }
178 template <
typename U>
180 return value_ == ptr.get();
182 template <
typename U>
184 return value_ != ptr.get();
188 template <
typename U>
195 if (link_.depart())
delete value_;
198 void capture(T* ptr) {
206 link_.join(&ptr->link_);
212template<
typename T>
inline
214 return ptr == x.get();
217template<
typename T>
inline
219 return ptr != x.get();
Definition dsd/test/gtest/include/gtest/internal/gtest-linked_ptr.h:89
void join_new()
Definition mbelib/test/gtest/include/gtest/internal/gtest-linked_ptr.h:92
bool depart() GTEST_LOCK_EXCLUDED_(g_linked_ptr_mutex)
Definition mbelib/test/gtest/include/gtest/internal/gtest-linked_ptr.h:120
void join(linked_ptr_internal const *ptr) GTEST_LOCK_EXCLUDED_(g_linked_ptr_mutex)
Definition mbelib/test/gtest/include/gtest/internal/gtest-linked_ptr.h:108
Definition dsd/test/gtest/include/gtest/internal/gtest-linked_ptr.h:136
linked_ptr & operator=(linked_ptr< U > const &ptr)
Definition mbelib/test/gtest/include/gtest/internal/gtest-linked_ptr.h:153
bool operator!=(T *p) const
Definition mbelib/test/gtest/include/gtest/internal/gtest-linked_ptr.h:177
T element_type
Definition dsd/test/gtest/include/gtest/internal/gtest-linked_ptr.h:138
bool operator!=(linked_ptr< U > const &ptr) const
Definition mbelib/test/gtest/include/gtest/internal/gtest-linked_ptr.h:183
linked_ptr & operator=(linked_ptr const &ptr)
Definition mbelib/test/gtest/include/gtest/internal/gtest-linked_ptr.h:159
linked_ptr(linked_ptr< U > const &ptr)
Definition mbelib/test/gtest/include/gtest/internal/gtest-linked_ptr.h:146
friend class linked_ptr
Definition dsd/test/gtest/include/gtest/internal/gtest-linked_ptr.h:189
T & operator*() const
Definition mbelib/test/gtest/include/gtest/internal/gtest-linked_ptr.h:174
bool operator==(linked_ptr< U > const &ptr) const
Definition mbelib/test/gtest/include/gtest/internal/gtest-linked_ptr.h:179
void reset(T *ptr=NULL)
Definition mbelib/test/gtest/include/gtest/internal/gtest-linked_ptr.h:168
T * operator->() const
Definition mbelib/test/gtest/include/gtest/internal/gtest-linked_ptr.h:173
linked_ptr(linked_ptr const &ptr)
Definition mbelib/test/gtest/include/gtest/internal/gtest-linked_ptr.h:147
T * get() const
Definition mbelib/test/gtest/include/gtest/internal/gtest-linked_ptr.h:172
bool operator==(T *p) const
Definition mbelib/test/gtest/include/gtest/internal/gtest-linked_ptr.h:176
friend class linked_ptr
Definition mbelib/test/gtest/include/gtest/internal/gtest-linked_ptr.h:189
linked_ptr(T *ptr=NULL)
Definition mbelib/test/gtest/include/gtest/internal/gtest-linked_ptr.h:142
~linked_ptr()
Definition mbelib/test/gtest/include/gtest/internal/gtest-linked_ptr.h:143
#define GTEST_LOCK_EXCLUDED_(locks)
Definition dsd/test/gtest/include/gtest/internal/gtest-port.h:1928
#define GTEST_API_
Definition dsd/test/gtest/include/gtest/internal/gtest-port.h:768
#define GTEST_DECLARE_STATIC_MUTEX_(mutex)
Definition dsd/test/gtest/include/gtest/internal/gtest-port.h:1553
Definition dsd/test/gmock/include/gmock/gmock-actions.h:60
GTestMutexLock MutexLock
Definition dsd/test/gtest/include/gtest/internal/gtest-port.h:1563
bool operator!=(T *ptr, const linked_ptr< T > &x)
Definition dsd/test/gtest/include/gtest/internal/gtest-linked_ptr.h:218
linked_ptr< T > make_linked_ptr(T *ptr)
Definition dsd/test/gtest/include/gtest/internal/gtest-linked_ptr.h:226
bool operator==(T *ptr, const linked_ptr< T > &x)
Definition dsd/test/gtest/include/gtest/internal/gtest-linked_ptr.h:213
Definition dsd/test/gmock/include/gmock/gmock-actions.h:49
const T * DefaultValue< T >::value_
Definition dsd/test/gmock/include/gmock/gmock-actions.h:244