Home
C++ Libraries
Thor
Aurora
Documentation
Download
Tutorials
Games
Articles
Book
Contact
Main Page
Modules
Classes
Files
File List
File Members
Tools
Swap.hpp
Go to the documentation of this file.
1
//
3
// Aurora C++ Library
4
// Copyright (c) 2012-2016 Jan Haller
5
//
6
// This software is provided 'as-is', without any express or implied
7
// warranty. In no event will the authors be held liable for any damages
8
// arising from the use of this software.
9
//
10
// Permission is granted to anyone to use this software for any purpose,
11
// including commercial applications, and to alter it and redistribute it
12
// freely, subject to the following restrictions:
13
//
14
// 1. The origin of this software must not be misrepresented; you must not
15
// claim that you wrote the original software. If you use this software
16
// in a product, an acknowledgment in the product documentation would be
17
// appreciated but is not required.
18
//
19
// 2. Altered source versions must be plainly marked as such, and must not be
20
// misrepresented as being the original software.
21
//
22
// 3. This notice may not be removed or altered from any source distribution.
23
//
25
28
29
#ifndef AURORA_SWAP_HPP
30
#define AURORA_SWAP_HPP
31
32
#include <utility>
// std::swap (until C++11, it was in <algorithm> header)
33
34
37
40
#define AURORA_GLOBAL_SWAP(Class) \
41
inline void swap(Class& lhs, Class& rhs) \
42
{ \
43
lhs.swap(rhs); \
44
}
45
48
template
<
typename
T>
49
inline
void
adlSwap
(T& lhs, T& rhs)
50
{
51
using namespace
std;
52
swap(lhs, rhs);
53
}
54
56
57
#endif // AURORA_SWAP_HPP
adlSwap
void adlSwap(T &lhs, T &rhs)
swap() function with argument-dependent lookup
Definition:
Swap.hpp:49