namespace interprocess { //!Tag to indicate that the resource must //!be only created struct create_only_t {}; //!Tag to indicate that the resource must //!be only opened struct open_only_t {}; //!Tag to indicate that the resource must //!be only opened for reading struct open_read_only_t {}; //!Tag to indicate that the resource must //!be only opened privately for reading struct open_read_private_t {}; //!Tag to indicate that the resource must //!be only opened for reading struct open_copy_on_write_t {}; //!Tag to indicate that the resource must //!be created. If already created, it must be opened. struct open_or_create_t {}; //!Value to indicate that the resource must //!be only created static const create_only_t create_only = create_only_t(); //!Value to indicate that the resource must //!be only opened static const open_only_t open_only = open_only_t(); //!Value to indicate that the resource must //!be only opened for reading static const open_read_only_t open_read_only = open_read_only_t(); //!Value to indicate that the resource must //!be created. If already created, it must be opened. static const open_or_create_t open_or_create = open_or_create_t(); //!Value to indicate that the resource must //!be only opened for reading static const open_copy_on_write_t open_copy_on_write = open_copy_on_write_t(); namespace ipcdetail { enum create_enum_t { DoCreate, DoOpen, DoOpenOrCreate }; } //namespace ipcdetail { } //namespace interprocess {
inline named_mutex::named_mutex(open_only_t, const char *name) : m_mut(open_only_t(), name) {}
windows_named_recursive_mutex(open_only_t, const char *name) : windows_named_mutex(open_only_t(), name) {}
//!Opens a global condition with a name if that condition is previously //!created. If it is not previously created this function throws //!interprocess_exception. named_condition_any(open_only_t, const char *name) : m_cond(open_only_t(), name) {}