summaryrefslogtreecommitdiff
path: root/core/fxcrt
diff options
context:
space:
mode:
Diffstat (limited to 'core/fxcrt')
-rw-r--r--core/fxcrt/cfx_shared_copy_on_write.h (renamed from core/fxcrt/cfx_count_ref.h)23
-rw-r--r--core/fxcrt/cfx_shared_copy_on_write_unittest.cpp (renamed from core/fxcrt/cfx_count_ref_unittest.cpp)30
2 files changed, 28 insertions, 25 deletions
diff --git a/core/fxcrt/cfx_count_ref.h b/core/fxcrt/cfx_shared_copy_on_write.h
index 3b9ccff8fe..cd6cf6adc5 100644
--- a/core/fxcrt/cfx_count_ref.h
+++ b/core/fxcrt/cfx_shared_copy_on_write.h
@@ -4,8 +4,8 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#ifndef CORE_FXCRT_CFX_COUNT_REF_H_
-#define CORE_FXCRT_CFX_COUNT_REF_H_
+#ifndef CORE_FXCRT_CFX_SHARED_COPY_ON_WRITE_H_
+#define CORE_FXCRT_CFX_SHARED_COPY_ON_WRITE_H_
#include "core/fxcrt/cfx_retain_ptr.h"
#include "core/fxcrt/fx_system.h"
@@ -13,11 +13,12 @@
// A shared object with Copy on Write semantics that makes it appear as
// if each one were independent.
template <class ObjClass>
-class CFX_CountRef {
+class CFX_SharedCopyOnWrite {
public:
- CFX_CountRef() {}
- CFX_CountRef(const CFX_CountRef& other) : m_pObject(other.m_pObject) {}
- ~CFX_CountRef() {}
+ CFX_SharedCopyOnWrite() {}
+ CFX_SharedCopyOnWrite(const CFX_SharedCopyOnWrite& other)
+ : m_pObject(other.m_pObject) {}
+ ~CFX_SharedCopyOnWrite() {}
template <typename... Args>
ObjClass* Emplace(Args... params) {
@@ -25,7 +26,7 @@ class CFX_CountRef {
return m_pObject.Get();
}
- CFX_CountRef& operator=(const CFX_CountRef& that) {
+ CFX_SharedCopyOnWrite& operator=(const CFX_SharedCopyOnWrite& that) {
if (*this != that)
m_pObject = that.m_pObject;
return *this;
@@ -43,10 +44,12 @@ class CFX_CountRef {
return m_pObject.Get();
}
- bool operator==(const CFX_CountRef& that) const {
+ bool operator==(const CFX_SharedCopyOnWrite& that) const {
return m_pObject == that.m_pObject;
}
- bool operator!=(const CFX_CountRef& that) const { return !(*this == that); }
+ bool operator!=(const CFX_SharedCopyOnWrite& that) const {
+ return !(*this == that);
+ }
explicit operator bool() const { return !!m_pObject; }
private:
@@ -78,4 +81,4 @@ class CFX_CountRef {
CFX_RetainPtr<CountedObj> m_pObject;
};
-#endif // CORE_FXCRT_CFX_COUNT_REF_H_
+#endif // CORE_FXCRT_CFX_SHARED_COPY_ON_WRITE_H_
diff --git a/core/fxcrt/cfx_count_ref_unittest.cpp b/core/fxcrt/cfx_shared_copy_on_write_unittest.cpp
index 6ab56327d3..b0205d899b 100644
--- a/core/fxcrt/cfx_count_ref_unittest.cpp
+++ b/core/fxcrt/cfx_shared_copy_on_write_unittest.cpp
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "core/fxcrt/cfx_count_ref.h"
+#include "core/fxcrt/cfx_shared_copy_on_write.h"
#include <map>
#include <string>
@@ -46,26 +46,26 @@ class Object {
} // namespace
-TEST(fxcrt, CountRefNull) {
+TEST(fxcrt, SharedCopyOnWriteNull) {
Observer observer;
{
- CFX_CountRef<Object> ptr;
+ CFX_SharedCopyOnWrite<Object> ptr;
EXPECT_EQ(nullptr, ptr.GetObject());
}
}
-TEST(fxcrt, CountRefCopy) {
+TEST(fxcrt, SharedCopyOnWriteCopy) {
Observer observer;
{
- CFX_CountRef<Object> ptr1;
+ CFX_SharedCopyOnWrite<Object> ptr1;
ptr1.Emplace(&observer, std::string("one"));
{
- CFX_CountRef<Object> ptr2 = ptr1;
+ CFX_SharedCopyOnWrite<Object> ptr2 = ptr1;
EXPECT_EQ(1, observer.GetConstructionCount("one"));
EXPECT_EQ(0, observer.GetDestructionCount("one"));
}
{
- CFX_CountRef<Object> ptr3(ptr1);
+ CFX_SharedCopyOnWrite<Object> ptr3(ptr1);
EXPECT_EQ(1, observer.GetConstructionCount("one"));
EXPECT_EQ(0, observer.GetDestructionCount("one"));
}
@@ -75,10 +75,10 @@ TEST(fxcrt, CountRefCopy) {
EXPECT_EQ(1, observer.GetDestructionCount("one"));
}
-TEST(fxcrt, CountRefAssignOverOld) {
+TEST(fxcrt, SharedCopyOnWriteAssignOverOld) {
Observer observer;
{
- CFX_CountRef<Object> ptr1;
+ CFX_SharedCopyOnWrite<Object> ptr1;
ptr1.Emplace(&observer, std::string("one"));
ptr1.Emplace(&observer, std::string("two"));
EXPECT_EQ(1, observer.GetConstructionCount("one"));
@@ -89,12 +89,12 @@ TEST(fxcrt, CountRefAssignOverOld) {
EXPECT_EQ(1, observer.GetDestructionCount("two"));
}
-TEST(fxcrt, CountRefAssignOverRetained) {
+TEST(fxcrt, SharedCopyOnWriteAssignOverRetained) {
Observer observer;
{
- CFX_CountRef<Object> ptr1;
+ CFX_SharedCopyOnWrite<Object> ptr1;
ptr1.Emplace(&observer, std::string("one"));
- CFX_CountRef<Object> ptr2(ptr1);
+ CFX_SharedCopyOnWrite<Object> ptr2(ptr1);
ptr1.Emplace(&observer, std::string("two"));
EXPECT_EQ(1, observer.GetConstructionCount("one"));
EXPECT_EQ(1, observer.GetConstructionCount("two"));
@@ -105,10 +105,10 @@ TEST(fxcrt, CountRefAssignOverRetained) {
EXPECT_EQ(1, observer.GetDestructionCount("two"));
}
-TEST(fxcrt, CountRefGetModify) {
+TEST(fxcrt, SharedCopyOnWriteGetModify) {
Observer observer;
{
- CFX_CountRef<Object> ptr;
+ CFX_SharedCopyOnWrite<Object> ptr;
EXPECT_NE(nullptr, ptr.GetPrivateCopy(&observer, std::string("one")));
EXPECT_EQ(1, observer.GetConstructionCount("one"));
EXPECT_EQ(0, observer.GetDestructionCount("one"));
@@ -117,7 +117,7 @@ TEST(fxcrt, CountRefGetModify) {
EXPECT_EQ(1, observer.GetConstructionCount("one"));
EXPECT_EQ(0, observer.GetDestructionCount("one"));
{
- CFX_CountRef<Object> other(ptr);
+ CFX_SharedCopyOnWrite<Object> other(ptr);
EXPECT_NE(nullptr, ptr.GetPrivateCopy(&observer, std::string("one")));
EXPECT_EQ(2, observer.GetConstructionCount("one"));
EXPECT_EQ(0, observer.GetDestructionCount("one"));