Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:38:33

0001 //////////////////////////////////////////////////////////////////////////////
0002 //
0003 // (C) Copyright Ion Gaztanaga 2005-2012. Distributed under the Boost
0004 // Software License, Version 1.0. (See accompanying file
0005 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
0006 //
0007 // See http://www.boost.org/libs/interprocess for documentation.
0008 //
0009 //////////////////////////////////////////////////////////////////////////////
0010 
0011 #ifndef BOOST_INTERPROCESS_LOCK_OPTIONS_HPP
0012 #define BOOST_INTERPROCESS_LOCK_OPTIONS_HPP
0013 
0014 #ifndef BOOST_CONFIG_HPP
0015 #  include <boost/config.hpp>
0016 #endif
0017 #
0018 #if defined(BOOST_HAS_PRAGMA_ONCE)
0019 #  pragma once
0020 #endif
0021 
0022 #include <boost/interprocess/detail/config_begin.hpp>
0023 #include <boost/interprocess/detail/workaround.hpp>
0024 
0025 //!\file
0026 //!Describes the lock options with associated with interprocess_mutex lock constructors.
0027 
0028 namespace boost {
0029 namespace interprocess {
0030 
0031 //!Type to indicate to a mutex lock constructor that must not lock the mutex.
0032 struct defer_lock_type{};
0033 //!Type to indicate to a mutex lock constructor that must try to lock the mutex.
0034 struct try_to_lock_type {};
0035 //!Type to indicate to a mutex lock constructor that the mutex is already locked.
0036 struct accept_ownership_type{};
0037 
0038 //!An object indicating that the locking
0039 //!must be deferred.
0040 static const defer_lock_type      defer_lock      = defer_lock_type();
0041 
0042 //!An object indicating that a try_lock()
0043 //!operation must be executed.
0044 static const try_to_lock_type     try_to_lock    = try_to_lock_type();
0045 
0046 //!An object indicating that the ownership of lockable
0047 //!object must be accepted by the new owner.
0048 static const accept_ownership_type  accept_ownership = accept_ownership_type();
0049 
0050 } // namespace interprocess {
0051 } // namespace boost{
0052 
0053 #include <boost/interprocess/detail/config_end.hpp>
0054 
0055 #endif // BOOST_INTERPROCESS_LOCK_OPTIONS_HPP