Simple and Fast Multimedia Library
Documentation for SFML 1.6
Initializing search
SFML
Home
Learn
Tutorials
Documentation
Download
Community
Development
Donate
Simple and Fast Multimedia Library
Home
Learn
Tutorials
Documentation
Documentation
SFML 3.1.0
SFML 3.0.2
SFML 3.0.1
SFML 3.0.0
SFML 2.6.2
SFML 2.6.1
SFML 2.6.0
SFML 2.5.1
SFML 2.5.0
SFML 2.4.2
SFML 2.4.1
SFML 2.4.0
SFML 2.3.2
SFML 2.3.1
SFML 2.3
SFML 2.2
SFML 2.1
SFML 2.0
SFML 1.6
Download
Community
Development
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
File Members
Loading...
Searching...
No Matches
SFML
include
SFML
Network
Selector.hpp
Go to the documentation of this file.
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
SelectorBase.hpp
SocketTCP.hpp
SocketUDP.hpp
sf::SelectorBase::SelectorBase
SelectorBase()
Default constructor.
sf::Selector
Selector allow reading from multiple sockets without blocking.
Definition
Selector.hpp:45
sf::Selector::Remove
void Remove(Type Socket)
Remove a socket.
sf::Selector::Add
void Add(Type Socket)
Add a socket to watch.
sf::Selector::Clear
void Clear()
Remove all sockets.
sf::Selector::Wait
unsigned int Wait(float Timeout=0.f)
Wait and collect sockets which are ready for reading.
sf::Selector::GetSocketReady
Type GetSocketReady(unsigned int Index)
After a call to Wait(), get the Index-th socket which is ready for reading.
sf::Socket
Definition
SocketHelper.hpp:37
sf
Definition
AudioResource.hpp:35
sf::SelectorUDP
Selector< SocketUDP > SelectorUDP
Definition
Selector.hpp:110
sf::SelectorTCP
Selector< SocketTCP > SelectorTCP
Definition
Selector.hpp:111
Back to top