summaryrefslogtreecommitdiff
path: root/stdext.h
blob: 9bf3f2013108d924185b49e313441e95e669d31b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#ifndef VDR_LIVE_STDEXT_H
#define VDR_LIVE_STDEXT_H

#if __GNUC__ >= 4

#	include <tr1/functional>
#	include <tr1/memory>

#else

#	include <boost/version.hpp>

#	define BOOST_MAJOR_VERSION (BOOST_VERSION / 100000)
#	define BOOST_MINOR_VERSION ((BOOST_VERSION / 100) % 1000)

#	if BOOST_MAJOR_VERSION >= 1 && BOOST_MINOR_VERSION >= 34

#		include <boost/tr1/functional.hpp>
#		include <boost/tr1/memory.hpp>

#	elif BOOST_MAJOR_VERSION >= 1 && BOOST_MINOR_VERSION >= 32

#		include <boost/bind.hpp>
#		include <boost/shared_ptr.hpp>
#		include <boost/weak_ptr.hpp>

namespace std { 
namespace tr1 {

	using boost::bind;
	using boost::shared_ptr;
	using boost::weak_ptr;

	namespace placeholders {
		using ::_1;
		using ::_2;
		using ::_3;
		using ::_4;
		using ::_5;
		using ::_6;
		using ::_7;
		using ::_8;
		using ::_9;
	}

} // namespace std
} // namespace tr1

#	else

#		error "Your Compiler is too old and you don't have boost >= 1.32.0 installed."
#		error "Please either install boost 1.32.0 or higher (1.34.0 is recommended)"
#		error "or upgrade your compiler suite to at least GCC 4.0"

#	endif

#endif

#endif // VDR_LIVE_STDEXT_H