Add DirectoryIterator & DirectoryIterator::operator = (const DirectoryIterator &)

Because every class with pointer members should have one.
Günther Brammer 2011-03-30 21:04:42 +02:00
parent 24fe22faff
commit 3bbf7c6c38
2 changed files with 9 additions and 0 deletions

View File

@ -849,6 +849,14 @@ DirectoryIterator::DirectoryIterator(const DirectoryIterator &other)
{
++p->ref;
}
DirectoryIterator & DirectoryIterator::operator = (const DirectoryIterator & other)
{
p = other.p; iter = other.iter;
++p->ref;
return *this;
}
DirectoryIterator::~DirectoryIterator()
{
if (--p->ref == 0)

View File

@ -126,6 +126,7 @@ class DirectoryIterator
public:
DirectoryIterator(const char * dirname);
DirectoryIterator();
DirectoryIterator & operator = (const DirectoryIterator &);
DirectoryIterator(const DirectoryIterator &);
~DirectoryIterator();