// file : odb/details/condition.hxx // copyright : Copyright (c) 2009-2015 Code Synthesis Tools CC // license : GNU GPL v2; see accompanying LICENSE file #ifndef ODB_DETAILS_CONDITION_HXX #define ODB_DETAILS_CONDITION_HXX #include #include #ifdef ODB_THREADS_NONE namespace odb { namespace details { class mutex; class lock; class condition { public: condition (mutex&) {} void signal () {} void wait (lock&) {} private: condition (const condition&); condition& operator= (const condition&); }; } } #elif defined(ODB_THREADS_CXX11) # include # include namespace odb { namespace details { class mutex; class condition: public std::condition_variable { public: condition (mutex&) {} void signal () {notify_one ();} }; } } #elif defined(ODB_THREADS_POSIX) #include #elif defined(ODB_THREADS_WIN32) #include #else # error unknown threading model #endif #include #endif // ODB_DETAILS_CONDITION_HXX