Apprendre
Télécharger
Communauté
Développement
Accueil
»
Apprendre
»
Documentation 2.0
»
Thread.hpp Source File
English
Faire un don
Documentation de SFML 2.0
Attention:
cette page se réfère à une ancienne version de SFML. Cliquez ici pour passer à la dernière version.
Main Page
Modules
Classes
Files
File List
sfml
sfml
include
SFML
System
Thread.hpp
1
2
//
3
// SFML - Simple and Fast Multimedia Library
4
// Copyright (C) 2007-2013 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
#ifndef SFML_THREAD_HPP
26
#define SFML_THREAD_HPP
27
29
// Headers
31
#include <SFML/System/Export.hpp>
32
#include <SFML/System/NonCopyable.hpp>
33
#include <cstdlib>
34
35
36
namespace
sf
37
{
38
namespace
priv
39
{
40
class
ThreadImpl;
41
struct
ThreadFunc;
42
}
43
48
class
SFML_SYSTEM_API
Thread
:
NonCopyable
49
{
50
public
:
51
74
template
<
typename
F>
75
Thread
(F
function
);
76
102
template
<
typename
F,
typename
A>
103
Thread
(F
function
, A argument);
104
125
template
<
typename
C>
126
Thread
(
void
(C::*
function
)(), C*
object
);
127
135
~
Thread
();
136
146
void
launch();
147
159
void
wait();
160
172
void
terminate();
173
174
private
:
175
176
friend
class
priv::ThreadImpl;
177
184
void
run();
185
187
// Member data
189
priv::ThreadImpl* m_impl;
190
priv::ThreadFunc* m_entryPoint;
191
};
192
193
#include <SFML/System/Thread.inl>
194
195
}
// namespace sf
196
197
#endif // SFML_THREAD_HPP
198
199