| ////////////////////////////////////////////////////////////////////////////// |
| // |
| // (C) Copyright Ion Gaztanaga 2005-2009. Distributed under the Boost |
| // Software License, Version 1.0. (See accompanying file |
| // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) |
| // |
| // See http://www.boost.org/libs/interprocess for documentation. |
| // |
| ////////////////////////////////////////////////////////////////////////////// |
| |
| #ifndef BOOST_INTERPROCESS_LOCK_OPTIONS_HPP |
| #define BOOST_INTERPROCESS_LOCK_OPTIONS_HPP |
| |
| #if (defined _MSC_VER) && (_MSC_VER >= 1200) |
| # pragma once |
| #endif |
| |
| #include <boost/interprocess/detail/config_begin.hpp> |
| #include <boost/interprocess/detail/workaround.hpp> |
| |
| //!\file |
| //!Describes the lock options with associated with interprocess_mutex lock constructors. |
| |
| namespace boost { |
| |
| namespace posix_time |
| { class ptime; } |
| |
| namespace interprocess { |
| |
| //!Type to indicate to a mutex lock constructor that must not lock the mutex. |
| struct defer_lock_type{}; |
| //!Type to indicate to a mutex lock constructor that must try to lock the mutex. |
| struct try_to_lock_type {}; |
| //!Type to indicate to a mutex lock constructor that the mutex is already locked. |
| struct accept_ownership_type{}; |
| |
| //!An object indicating that the locking |
| //!must be deferred. |
| static const defer_lock_type defer_lock = defer_lock_type(); |
| |
| //!An object indicating that a try_lock() |
| //!operation must be executed. |
| static const try_to_lock_type try_to_lock = try_to_lock_type(); |
| |
| //!An object indicating that the ownership of lockable |
| //!object must be accepted by the new owner. |
| static const accept_ownership_type accept_ownership = accept_ownership_type(); |
| |
| } // namespace interprocess { |
| } // namespace boost{ |
| |
| #include <boost/interprocess/detail/config_end.hpp> |
| |
| #endif // BOOST_INTERPROCESS_LOCK_OPTIONS_HPP |