# VectorNav C++ Library: include/vn/criticalsection.h Source File

criticalsection.h
Go to the documentation of this file.
#ifndef _VNXPLAT_CRITICALSECTION_H_
#define _VNXPLAT_CRITICALSECTION_H_
#include "nocopy.h"
#include "export.h"
namespace vn {
namespace xplat {
class vn_proglib_DLLEXPORT CriticalSection : private util::NoCopy
{
// Constructors ///////////////////////////////////////////////////////////
public:
CriticalSection();
~CriticalSection();
// Public Methods /////////////////////////////////////////////////////////
public:
void enter();
void leave();
// Private Members ////////////////////////////////////////////////////////
private:
// Contains internal data, mainly stuff that is required for cross-platform
// support.
struct Impl;
Impl *_pi;
};
}
}
#endif
vn::xplat::CriticalSection
Represents a cross-platform critical section.
Definition: criticalsection.h:16
nocopy.h
xplat
Definition: mock.h:4
vn::util::NoCopy
Identifies a derived class as being unable to be copied and prevents copy attempts.
Definition: nocopy.h:21
vn
Definition: attitude.h:8