Learn
Download
Community
Development
Home
»
Learn
»
1.6 Documentation
»
Selector.hpp Source File
Français
Donate
Documentation of SFML 1.6
Warning:
this page refers to an old version of SFML. Click here to switch to the latest version.
Main Page
Namespaces
Classes
Files
File List
sfml
sfml
include
SFML
Network
Selector.hpp
1
2
//
3
// SFML - Simple and Fast Multimedia Library
4
// Copyright (C) 2007-2009 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_SELECTOR_HPP
26
#define SFML_SELECTOR_HPP
27
29
// Headers
31
#include <SFML/Network/SocketUDP.hpp>
32
#include <SFML/Network/SocketTCP.hpp>
33
#include <SFML/Network/SelectorBase.hpp>
34
#include <map>
35
36
37
namespace
sf
38
{
43
template
<
typename
Type>
44
class
Selector
:
private
SelectorBase
45
{
46
public
:
47
54
void
Add
(Type Socket);
55
62
void
Remove
(Type Socket);
63
68
void
Clear
();
69
80
unsigned
int
Wait
(
float
Timeout = 0.f);
81
92
Type
GetSocketReady
(
unsigned
int
Index);
93
94
private
:
95
97
// Types
99
typedef
std::map<SocketHelper::SocketType, Type> SocketTable;
100
102
// Member data
104
SocketTable mySockets;
105
};
106
107
#include <SFML/Network/Selector.inl>
108
109
// Let's define the two only valid types of Selector
110
typedef
Selector<SocketUDP>
SelectorUDP
;
111
typedef
Selector<SocketTCP>
SelectorTCP
;
112
113
}
// namespace sf
114
115
116
#endif // SFML_SELECTOR_HPP