1 //////////////////////////////////////////////////////////////////////////////
2 //
3 // (C) Copyright Ion Gaztanaga 2005-2012. Distributed under the Boost
4 // Software License, Version 1.0. (See accompanying file
5 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 //
7 // See http://www.boost.org/libs/interprocess for documentation.
8 //
9 //////////////////////////////////////////////////////////////////////////////
10 
11 #ifndef BOOST_INTERPROCESS_MUTEX_FAMILY_HPP
12 #define BOOST_INTERPROCESS_MUTEX_FAMILY_HPP
13 
14 #ifndef BOOST_CONFIG_HPP
15 #  include <boost/config.hpp>
16 #endif
17 #
18 #if defined(BOOST_HAS_PRAGMA_ONCE)
19 #  pragma once
20 #endif
21 
22 #include <boost/interprocess/detail/config_begin.hpp>
23 #include <boost/interprocess/detail/workaround.hpp>
24 
25 #include <boost/interprocess/sync/interprocess_mutex.hpp>
26 #include <boost/interprocess/sync/interprocess_recursive_mutex.hpp>
27 #include <boost/interprocess/sync/null_mutex.hpp>
28 
29 //!\file
30 //!Describes a shared interprocess_mutex family fit algorithm used to allocate objects in shared memory.
31 
32 namespace boost {
33 
34 namespace interprocess {
35 
36 //!Describes interprocess_mutex family to use with Interprocess framework
37 //!based on boost::interprocess synchronization objects.
38 struct mutex_family
39 {
40    typedef boost::interprocess::interprocess_mutex                 mutex_type;
41    typedef boost::interprocess::interprocess_recursive_mutex       recursive_mutex_type;
42 };
43 
44 //!Describes interprocess_mutex family to use with Interprocess frameworks
45 //!based on null operation synchronization objects.
46 struct null_mutex_family
47 {
48    typedef boost::interprocess::null_mutex                   mutex_type;
49    typedef boost::interprocess::null_mutex                   recursive_mutex_type;
50 };
51 
52 }  //namespace interprocess {
53 
54 }  //namespace boost {
55 
56 #include <boost/interprocess/detail/config_end.hpp>
57 
58 #endif   //#ifndef BOOST_INTERPROCESS_MUTEX_FAMILY_HPP
59 
60 
61