windows.event.h.xml 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <chapter xml:id="windows.event.h">
  2. <title><tt>__vic/windows/event.h</tt></title>
  3. <chapter xml:id="windows--Event">
  4. <title><tt>windows::Event</tt></title>
  5. <code-block lang="C++">
  6. class windows::Event : private non_copyable
  7. {
  8. public:
  9. explicit Event(bool bManualReset,
  10. bool bInitialSignaled = false, LPCWSTR lpName = nullptr);
  11. ~Event();
  12. void Set();
  13. void Reset();
  14. bool Wait(DWORD timeout = INFINITE) const;
  15. bool wait_for(std::chrono::milliseconds ms) const; // C++11
  16. HANDLE handle() const;
  17. };
  18. </code-block>
  19. <p>Wrapper for Win32 API event synchronization object.</p>
  20. <section><title>Class members</title>
  21. <synopsis>
  22. <prototype>explicit Event(bool bManualReset, bool bInitialSignaled = false, LPCWSTR lpName = nullptr)</prototype>
  23. <p>Creates the object using <tt>::CreateEvent()</tt>. Throws on error.</p>
  24. </synopsis>
  25. <synopsis>
  26. <prototype>~Event()</prototype>
  27. <p>Destroys the object.</p>
  28. </synopsis>
  29. <synopsis>
  30. <prototype>void Set()</prototype>
  31. <p>Calls <tt>::SetEvent()</tt>. Throws on error.</p>
  32. </synopsis>
  33. <synopsis>
  34. <prototype>void Reset()</prototype>
  35. <p>Calls <tt>::ResetEvent()</tt>. Throws on error.</p>
  36. </synopsis>
  37. <synopsis>
  38. <prototype>bool Wait(DWORD timeout = INFINITE) const</prototype>
  39. <p>Calls <tt>::WaitForSingleObject()</tt>. Throws on error.</p>
  40. </synopsis>
  41. <synopsis>
  42. <prototype>bool wait_for(std::chrono::milliseconds ms) const <sign>C++11</sign></prototype>
  43. <p>chrono-friendly wrapper for <tt>Wait()</tt>.</p>
  44. </synopsis>
  45. <synopsis>
  46. <prototype>HANDLE handle() const</prototype>
  47. <p>Returns Win32 API handle.</p>
  48. </synopsis>
  49. </section>
  50. </chapter>
  51. </chapter>