UHD
003.007.002-0-unknown
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
include
uhd
utils
atomic.hpp
Go to the documentation of this file.
1
//
2
// Copyright 2012-2013 Ettus Research LLC
3
//
4
// This program is free software: you can redistribute it and/or modify
5
// it under the terms of the GNU General Public License as published by
6
// the Free Software Foundation, either version 3 of the License, or
7
// (at your option) any later version.
8
//
9
// This program is distributed in the hope that it will be useful,
10
// but WITHOUT ANY WARRANTY; without even the implied warranty of
11
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
// GNU General Public License for more details.
13
//
14
// You should have received a copy of the GNU General Public License
15
// along with this program. If not, see <http://www.gnu.org/licenses/>.
16
//
17
18
#ifndef INCLUDED_UHD_UTILS_ATOMIC_HPP
19
#define INCLUDED_UHD_UTILS_ATOMIC_HPP
20
21
#include <
uhd/config.hpp
>
22
#include <
uhd/types/time_spec.hpp
>
23
#include <boost/thread/thread.hpp>
24
#include <boost/thread/mutex.hpp>
25
#include <boost/thread/condition_variable.hpp>
26
#include <boost/interprocess/detail/atomic.hpp>
27
28
#include <boost/version.hpp>
29
#if BOOST_VERSION >= 104800
30
# define BOOST_IPC_DETAIL boost::interprocess::ipcdetail
31
#else
32
# define BOOST_IPC_DETAIL boost::interprocess::detail
33
#endif
34
35
namespace
uhd{
36
38
class
UHD_API
atomic_uint32_t
{
39
public
:
40
42
UHD_INLINE