~ubuntu-branches/debian/sid/boost1.49/sid

« back to all changes in this revision

Viewing changes to boost/asio/detail/fenced_block.hpp

  • Committer: Package Import Robot
  • Author(s): Steve M. Robbins
  • Date: 2012-02-26 00:31:44 UTC
  • Revision ID: package-import@ubuntu.com-20120226003144-eaytp12cbf6ubpms
Tags: upstream-1.49.0
ImportĀ upstreamĀ versionĀ 1.49.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
//
 
2
// detail/fenced_block.hpp
 
3
// ~~~~~~~~~~~~~~~~~~~~~~~
 
4
//
 
5
// Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com)
 
6
//
 
7
// Distributed under the Boost Software License, Version 1.0. (See accompanying
 
8
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
9
//
 
10
 
 
11
#ifndef BOOST_ASIO_DETAIL_FENCED_BLOCK_HPP
 
12
#define BOOST_ASIO_DETAIL_FENCED_BLOCK_HPP
 
13
 
 
14
#if defined(_MSC_VER) && (_MSC_VER >= 1200)
 
15
# pragma once
 
16
#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
 
17
 
 
18
#include <boost/asio/detail/config.hpp>
 
19
 
 
20
#if !defined(BOOST_HAS_THREADS) \
 
21
  || defined(BOOST_ASIO_DISABLE_THREADS) \
 
22
  || defined(BOOST_ASIO_DISABLE_FENCED_BLOCK)
 
23
# include <boost/asio/detail/null_fenced_block.hpp>
 
24
#elif defined(__MACH__) && defined(__APPLE__)
 
25
# include <boost/asio/detail/macos_fenced_block.hpp>
 
26
#elif defined(__sun)
 
27
# include <boost/asio/detail/solaris_fenced_block.hpp>
 
28
#elif defined(__GNUC__) && defined(__arm__)
 
29
# include <boost/asio/detail/gcc_arm_fenced_block.hpp>
 
30
#elif defined(__GNUC__) && (defined(__hppa) || defined(__hppa__))
 
31
# include <boost/asio/detail/gcc_hppa_fenced_block.hpp>
 
32
#elif defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
 
33
# include <boost/asio/detail/gcc_x86_fenced_block.hpp>
 
34
#elif defined(__GNUC__) \
 
35
  && ((__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)) \
 
36
  && !defined(__INTEL_COMPILER) && !defined(__ICL) \
 
37
  && !defined(__ICC) && !defined(__ECC) && !defined(__PATHSCALE__)
 
38
# include <boost/asio/detail/gcc_sync_fenced_block.hpp>
 
39
#elif defined(BOOST_WINDOWS) && !defined(UNDER_CE)
 
40
# include <boost/asio/detail/win_fenced_block.hpp>
 
41
#else
 
42
# include <boost/asio/detail/null_fenced_block.hpp>
 
43
#endif
 
44
 
 
45
namespace boost {
 
46
namespace asio {
 
47
namespace detail {
 
48
 
 
49
#if !defined(BOOST_HAS_THREADS) \
 
50
  || defined(BOOST_ASIO_DISABLE_THREADS) \
 
51
  || defined(BOOST_ASIO_DISABLE_FENCED_BLOCK)
 
52
typedef null_fenced_block fenced_block;
 
53
#elif defined(__MACH__) && defined(__APPLE__)
 
54
typedef macos_fenced_block fenced_block;
 
55
#elif defined(__sun)
 
56
typedef solaris_fenced_block fenced_block;
 
57
#elif defined(__GNUC__) && defined(__arm__)
 
58
typedef gcc_arm_fenced_block fenced_block;
 
59
#elif defined(__GNUC__) && (defined(__hppa) || defined(__hppa__))
 
60
typedef gcc_hppa_fenced_block fenced_block;
 
61
#elif defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
 
62
typedef gcc_x86_fenced_block fenced_block;
 
63
#elif defined(__GNUC__) \
 
64
  && ((__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)) \
 
65
  && !defined(__INTEL_COMPILER) && !defined(__ICL) \
 
66
  && !defined(__ICC) && !defined(__ECC) && !defined(__PATHSCALE__)
 
67
typedef gcc_sync_fenced_block fenced_block;
 
68
#elif defined(BOOST_WINDOWS) && !defined(UNDER_CE)
 
69
typedef win_fenced_block fenced_block;
 
70
#else
 
71
typedef null_fenced_block fenced_block;
 
72
#endif
 
73
 
 
74
} // namespace detail
 
75
} // namespace asio
 
76
} // namespace boost
 
77
 
 
78
#endif // BOOST_ASIO_DETAIL_FENCED_BLOCK_HPP