mirror of
https://github.com/VCMP-SqMod/SqMod.git
synced 2025-03-13 23:57:13 +01:00
59 lines
841 B
C++
59 lines
841 B
C++
|
//
|
||
|
// AtomicCounter.cpp
|
||
|
//
|
||
|
// Library: Foundation
|
||
|
// Package: Core
|
||
|
// Module: AtomicCounter
|
||
|
//
|
||
|
// Copyright (c) 2009, Applied Informatics Software Engineering GmbH.
|
||
|
// and Contributors.
|
||
|
//
|
||
|
// SPDX-License-Identifier: BSL-1.0
|
||
|
//
|
||
|
|
||
|
|
||
|
#include "Poco/AtomicCounter.h"
|
||
|
|
||
|
|
||
|
namespace Poco {
|
||
|
|
||
|
|
||
|
AtomicCounter::AtomicCounter():
|
||
|
_counter(0)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
|
||
|
AtomicCounter::AtomicCounter(AtomicCounter::ValueType initialValue):
|
||
|
_counter(initialValue)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
|
||
|
AtomicCounter::AtomicCounter(const AtomicCounter& counter):
|
||
|
_counter(counter.value())
|
||
|
{
|
||
|
}
|
||
|
|
||
|
|
||
|
AtomicCounter::~AtomicCounter()
|
||
|
{
|
||
|
}
|
||
|
|
||
|
|
||
|
AtomicCounter& AtomicCounter::operator = (const AtomicCounter& counter)
|
||
|
{
|
||
|
_counter.store(counter._counter.load());
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
|
||
|
AtomicCounter& AtomicCounter::operator = (AtomicCounter::ValueType value)
|
||
|
{
|
||
|
_counter.store(value);
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
|
||
|
} // namespace Poco
|