Agora C++ API Reference for All Platforms
|
12 #if !(__cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1800))
15 #ifndef OPTIONAL_ENUM_CLASS
16 #if __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1800)
17 #define OPTIONAL_ENUM_CLASS enum class
19 #define OPTIONAL_ENUM_CLASS enum
66 #if __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1800)
78 operator bool()
const {
return (
ptr_ != NULL); }
95 if (
ptr_ == p)
return *
this;
104 return *
this = r.
get();
107 #if __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1800)
113 template <
typename U>
147 #if __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1800)
149 template <
typename T>
150 struct hash<
agora::agora_refptr<T>> {
152 return reinterpret_cast<size_t>(k.
get());
agora_refptr< T > & operator=(T *p)
Definition: AgoraRefPtr.h:94
agora_refptr(agora_refptr< U > &&r)
Definition: AgoraRefPtr.h:70
agora_refptr(T *p)
Definition: AgoraRefPtr.h:48
Definition: AgoraRefPtr.h:44
T * get() const
Definition: AgoraRefPtr.h:77
bool operator<(const agora_refptr< T > &r) const
Definition: AgoraRefPtr.h:124
bool operator==(const agora_refptr< T > &r) const
Definition: AgoraRefPtr.h:121
agora_refptr(agora_refptr< T > &&r)
Definition: AgoraRefPtr.h:67
Definition: AgoraAtomicOps.h:21
std::size_t operator()(const agora::agora_refptr< T > &k) const
Definition: AgoraRefPtr.h:151
agora_refptr(const agora_refptr< U > &r)
Definition: AgoraRefPtr.h:62
T * operator->() const
Definition: AgoraRefPtr.h:80
virtual bool HasOneRef() const =0
agora_refptr< T > & operator=(agora_refptr< U > &&r)
Definition: AgoraRefPtr.h:114
T * move()
Definition: AgoraRefPtr.h:88
void reset()
Definition: AgoraRefPtr.h:134
void swap(agora_refptr< T > &r)
Definition: AgoraRefPtr.h:132
agora_refptr()
Definition: AgoraRefPtr.h:46
Definition: AgoraOptional.h:881
agora_refptr(const agora_refptr< T > &r)
Definition: AgoraRefPtr.h:57
T & operator*() const
Definition: AgoraRefPtr.h:81
Definition: AgoraRefPtr.h:31
void swap(T **pp)
Definition: AgoraRefPtr.h:126
virtual void AddRef() const =0
T * ptr_
Definition: AgoraRefPtr.h:142
virtual ~RefCountInterface()
Definition: AgoraRefPtr.h:40
agora_refptr< T > & operator=(agora_refptr< T > &&r)
Definition: AgoraRefPtr.h:108
agora_refptr< T > & operator=(const agora_refptr< T > &r)
Definition: AgoraRefPtr.h:103
~agora_refptr()
Definition: AgoraRefPtr.h:73
OPTIONAL_ENUM_CLASS RefCountReleaseStatus
Definition: AgoraRefPtr.h:25
virtual RefCountReleaseStatus Release() const =0
agora_refptr(U *p)
Definition: AgoraRefPtr.h:53