|
#ifndef I_WINDOWS_AUTOCRITICALSECTION_H
#define I_WINDOWS_AUTOCRITICALSECTION_H
#include <windows.h>
namespace Windows
{
class AutoCriticalSection;
class CriticalSection
{
friend AutoCriticalSection;
public:
CriticalSection();
~CriticalSection();
protected:
void Lock();
void Unlock();
private:
CRITICAL_SECTION m_criticalsection;
};
class AutoCriticalSection
{
public:
AutoCriticalSection(CriticalSection& criticalsection);
~AutoCriticalSection();
protected:
AutoCriticalSection();
AutoCriticalSection(const AutoCriticalSection& other); // Prevent copying
AutoCriticalSection& operator = (const AutoCriticalSection& other); // Prevent assigning
private:
CriticalSection& m_criticalsection;
};
} // namespace Windows
#endif // I_WINDOWS_AUTOCRITICALSECTION_H
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.