Kaydet (Commit) a3e410a0 authored tarafından Michael Stahl's avatar Michael Stahl

sc: replace boost::ptr_vector with std::vector<std::unique_ptr>

Change-Id: Ic1a44ef591e0d23bbd6574b232370b2888335ebf
üst 3b494897
...@@ -23,7 +23,8 @@ ...@@ -23,7 +23,8 @@
#include "rangelst.hxx" #include "rangelst.hxx"
#include "chartpos.hxx" #include "chartpos.hxx"
#include <boost/ptr_container/ptr_vector.hpp> #include <memory>
#include <vector>
class ScDocument; class ScDocument;
...@@ -90,8 +91,9 @@ public: ...@@ -90,8 +91,9 @@ public:
class ScChartCollection class ScChartCollection
{ {
typedef ::boost::ptr_vector<ScChartArray> DataType; typedef ::std::vector<std::unique_ptr<ScChartArray>> DataType;
DataType maData; DataType m_Data;
public: public:
ScChartCollection(); ScChartCollection();
ScChartCollection(const ScChartCollection& rColl); ScChartCollection(const ScChartCollection& rColl);
......
...@@ -29,6 +29,9 @@ ...@@ -29,6 +29,9 @@
#include "formulacell.hxx" #include "formulacell.hxx"
#include "docoptio.hxx" #include "docoptio.hxx"
#include <comphelper/stl_types.hxx>
#include <o3tl/make_unique.hxx>
#include <vector> #include <vector>
using ::std::vector; using ::std::vector;
...@@ -419,46 +422,51 @@ ScMemChart* ScChartArray::CreateMemChartMulti() ...@@ -419,46 +422,51 @@ ScMemChart* ScChartArray::CreateMemChartMulti()
} }
ScChartCollection::ScChartCollection() {} ScChartCollection::ScChartCollection() {}
ScChartCollection::ScChartCollection(const ScChartCollection& r) : ScChartCollection::ScChartCollection(const ScChartCollection& r)
maData(r.maData) {} {
for (auto const& it : r.m_Data)
{
m_Data.push_back(o3tl::make_unique<ScChartArray>(*it));
}
}
void ScChartCollection::push_back(ScChartArray* p) void ScChartCollection::push_back(ScChartArray* p)
{ {
maData.push_back(p); m_Data.push_back(std::unique_ptr<ScChartArray>(p));
} }
void ScChartCollection::clear() void ScChartCollection::clear()
{ {
maData.clear(); m_Data.clear();
} }
size_t ScChartCollection::size() const size_t ScChartCollection::size() const
{ {
return maData.size(); return m_Data.size();
} }
bool ScChartCollection::empty() const bool ScChartCollection::empty() const
{ {
return maData.empty(); return m_Data.empty();
} }
ScChartArray* ScChartCollection::operator[](size_t nIndex) ScChartArray* ScChartCollection::operator[](size_t nIndex)
{ {
if (maData.size() <= nIndex) if (m_Data.size() <= nIndex)
return NULL; return nullptr;
return &maData[nIndex]; return m_Data[nIndex].get();
} }
const ScChartArray* ScChartCollection::operator[](size_t nIndex) const const ScChartArray* ScChartCollection::operator[](size_t nIndex) const
{ {
if (maData.size() <= nIndex) if (m_Data.size() <= nIndex)
return NULL; return nullptr;
return &maData[nIndex]; return m_Data[nIndex].get();
} }
bool ScChartCollection::operator==(const ScChartCollection& rCmp) const bool ScChartCollection::operator==(const ScChartCollection& rCmp) const
{ {
return maData == rCmp.maData; return ::comphelper::ContainerUniquePtrEquals(m_Data, rCmp.m_Data);
} }
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment