SFML
Main Page
Modules
Classes
Files
File List
include
SFML
System
ThreadLocalPtr.inl
1
2
//
3
// SFML - Simple and Fast Multimedia Library
4
// Copyright (C) 2007-2012 Laurent Gomila (laurent.gom@gmail.com)
5
//
6
// This software is provided 'as-is', without any express or implied warranty.
7
// In no event will the authors be held liable for any damages arising from the use of this software.
8
//
9
// Permission is granted to anyone to use this software for any purpose,
10
// including commercial applications, and to alter it and redistribute it freely,
11
// subject to the following restrictions:
12
//
13
// 1. The origin of this software must not be misrepresented;
14
// you must not claim that you wrote the original software.
15
// If you use this software in a product, an acknowledgment
16
// in the product documentation would be appreciated but is not required.
17
//
18
// 2. Altered source versions must be plainly marked as such,
19
// and must not be misrepresented as being the original software.
20
//
21
// 3. This notice may not be removed or altered from any source distribution.
22
//
24
25
26
namespace
sf
27
{
29
template
<
typename
T>
30
ThreadLocalPtr<T>::ThreadLocalPtr
(T* value) :
31
ThreadLocal
(value)
32
{
33
}
34
35
37
template
<
typename
T>
38
T&
ThreadLocalPtr<T>::operator *
()
const
39
{
40
return
*
static_cast<
T*
>
(getValue());
41
}
42
43
45
template
<
typename
T>
46
T*
ThreadLocalPtr<T>::operator ->
()
const
47
{
48
return
static_cast<
T*
>
(getValue());
49
}
50
51
53
template
<
typename
T>
54
ThreadLocalPtr<T>::operator
T*()
const
55
{
56
return
static_cast<
T*
>
(getValue());
57
}
58
59
61
template
<
typename
T>
62
ThreadLocalPtr<T>
&
ThreadLocalPtr<T>::operator =
(T* value)
63
{
64
setValue(value);
65
return
*
this
;
66
}
67
68
70
template
<
typename
T>
71
ThreadLocalPtr<T>
&
ThreadLocalPtr<T>::operator =
(
const
ThreadLocalPtr<T>
& right)
72
{
73
setValue(right.
getValue
());
74
return
*
this
;
75
}
76
77
}
// namespace sf
Page rendered in 2.10685s using 6 queries.