1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>LCOV - lcov.info - /usr/include/c++/4.3/bits/stl_move.h</title>
<link rel="stylesheet" type="text/css" href="../../../../../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LTP GCOV extension - code coverage report</td></tr>
<tr><td class="ruler"><img src="../../../../../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td class="headerItem" width="20%">Current view:</td>
<td class="headerValue" width="80%" colspan=4><a href="../../../../../index.html">directory</a> - <a href="index.html">usr/include/c++/4.3/bits</a> - stl_move.h</td>
</tr>
<tr>
<td class="headerItem" width="20%">Test:</td>
<td class="headerValue" width="80%" colspan=4>lcov.info</td>
</tr>
<tr>
<td class="headerItem" width="20%">Date:</td>
<td class="headerValue" width="20%">2008-08-14</td>
<td width="20%"></td>
<td class="headerItem" width="20%">Instrumented lines:</td>
<td class="headerValue" width="20%">5</td>
</tr>
<tr>
<td class="headerItem" width="20%">Code covered:</td>
<td class="headerValue" width="20%">100.0 %</td>
<td width="20%"></td>
<td class="headerItem" width="20%">Executed lines:</td>
<td class="headerValue" width="20%">5</td>
</tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../../../../../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td><br></td>
</tr>
<tr>
<td><pre class="source">
<span class="lineNum"> 1 </span> : // Move, forward and identity for C++0x + swap -*- C++ -*-
<span class="lineNum"> 2 </span> :
<span class="lineNum"> 3 </span> : // Copyright (C) 2007 Free Software Foundation, Inc.
<span class="lineNum"> 4 </span> : //
<span class="lineNum"> 5 </span> : // This file is part of the GNU ISO C++ Library. This library is free
<span class="lineNum"> 6 </span> : // software; you can redistribute it and/or modify it under the
<span class="lineNum"> 7 </span> : // terms of the GNU General Public License as published by the
<span class="lineNum"> 8 </span> : // Free Software Foundation; either version 2, or (at your option)
<span class="lineNum"> 9 </span> : // any later version.
<span class="lineNum"> 10 </span> :
<span class="lineNum"> 11 </span> : // This library is distributed in the hope that it will be useful,
<span class="lineNum"> 12 </span> : // but WITHOUT ANY WARRANTY; without even the implied warranty of
<span class="lineNum"> 13 </span> : // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
<span class="lineNum"> 14 </span> : // GNU General Public License for more details.
<span class="lineNum"> 15 </span> :
<span class="lineNum"> 16 </span> : // You should have received a copy of the GNU General Public License along
<span class="lineNum"> 17 </span> : // with this library; see the file COPYING. If not, write to the Free
<span class="lineNum"> 18 </span> : // Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
<span class="lineNum"> 19 </span> : // USA.
<span class="lineNum"> 20 </span> :
<span class="lineNum"> 21 </span> : // As a special exception, you may use this file as part of a free software
<span class="lineNum"> 22 </span> : // library without restriction. Specifically, if other files instantiate
<span class="lineNum"> 23 </span> : // templates or use macros or inline functions from this file, or you compile
<span class="lineNum"> 24 </span> : // this file and link it with other files to produce an executable, this
<span class="lineNum"> 25 </span> : // file does not by itself cause the resulting executable to be covered by
<span class="lineNum"> 26 </span> : // the GNU General Public License. This exception does not however
<span class="lineNum"> 27 </span> : // invalidate any other reasons why the executable file might be covered by
<span class="lineNum"> 28 </span> : // the GNU General Public License.
<span class="lineNum"> 29 </span> :
<span class="lineNum"> 30 </span> : /** @file stl_move.h
<span class="lineNum"> 31 </span> : * This is an internal header file, included by other library headers.
<span class="lineNum"> 32 </span> : * You should not attempt to use it directly.
<span class="lineNum"> 33 </span> : */
<span class="lineNum"> 34 </span> :
<span class="lineNum"> 35 </span> : #ifndef _STL_MOVE_H
<span class="lineNum"> 36 </span> : #define _STL_MOVE_H 1
<span class="lineNum"> 37 </span> :
<span class="lineNum"> 38 </span> : #include <bits/c++config.h>
<span class="lineNum"> 39 </span> : #include <bits/concept_check.h>
<span class="lineNum"> 40 </span> :
<span class="lineNum"> 41 </span> : #ifdef __GXX_EXPERIMENTAL_CXX0X__
<span class="lineNum"> 42 </span> : #include <type_traits>
<span class="lineNum"> 43 </span> :
<span class="lineNum"> 44 </span> : _GLIBCXX_BEGIN_NAMESPACE(std)
<span class="lineNum"> 45 </span> :
<span class="lineNum"> 46 </span> : // 20.2.2, forward/move
<span class="lineNum"> 47 </span> : template<typename _Tp>
<span class="lineNum"> 48 </span> : struct identity
<span class="lineNum"> 49 </span> : {
<span class="lineNum"> 50 </span> : typedef _Tp type;
<span class="lineNum"> 51 </span> : };
<span class="lineNum"> 52 </span> :
<span class="lineNum"> 53 </span> : template<typename _Tp>
<span class="lineNum"> 54 </span> : inline _Tp&&
<span class="lineNum"> 55 </span> : forward(typename std::identity<_Tp>::type&& __t)
<span class="lineNum"> 56 </span> : { return __t; }
<span class="lineNum"> 57 </span> :
<span class="lineNum"> 58 </span> : template<typename _Tp>
<span class="lineNum"> 59 </span> : inline typename std::remove_reference<_Tp>::type&&
<span class="lineNum"> 60 </span> : move(_Tp&& __t)
<span class="lineNum"> 61 </span> : { return __t; }
<span class="lineNum"> 62 </span> :
<span class="lineNum"> 63 </span> : _GLIBCXX_END_NAMESPACE
<span class="lineNum"> 64 </span> :
<span class="lineNum"> 65 </span> : #define _GLIBCXX_MOVE(_Tp) std::move(_Tp)
<span class="lineNum"> 66 </span> : #else
<span class="lineNum"> 67 </span> : #define _GLIBCXX_MOVE(_Tp) (_Tp)
<span class="lineNum"> 68 </span> : #endif
<span class="lineNum"> 69 </span> :
<span class="lineNum"> 70 </span> : _GLIBCXX_BEGIN_NAMESPACE(std)
<span class="lineNum"> 71 </span> :
<span class="lineNum"> 72 </span> : /**
<span class="lineNum"> 73 </span> : * @brief Swaps two values.
<span class="lineNum"> 74 </span> : * @param a A thing of arbitrary type.
<span class="lineNum"> 75 </span> : * @param b Another thing of arbitrary type.
<span class="lineNum"> 76 </span> : * @return Nothing.
<span class="lineNum"> 77 </span> : */
<span class="lineNum"> 78 </span> : template<typename _Tp>
<span class="lineNum"> 79 </span> : inline void
<span class="lineNum"> 80 </span><span class="lineCov"> 7080 : swap(_Tp& __a, _Tp& __b)</span>
<span class="lineNum"> 81 </span> : {
<span class="lineNum"> 82 </span> : // concept requirements
<span class="lineNum"> 83 </span> : __glibcxx_function_requires(_SGIAssignableConcept<_Tp>)
<span class="lineNum"> 84 </span> :
<span class="lineNum"> 85 </span><span class="lineCov"> 7080 : _Tp __tmp = _GLIBCXX_MOVE(__a);</span>
<span class="lineNum"> 86 </span><span class="lineCov"> 7080 : __a = _GLIBCXX_MOVE(__b);</span>
<span class="lineNum"> 87 </span><span class="lineCov"> 7080 : __b = _GLIBCXX_MOVE(__tmp);</span>
<span class="lineNum"> 88 </span><span class="lineCov"> 7080 : }</span>
<span class="lineNum"> 89 </span> :
<span class="lineNum"> 90 </span> : _GLIBCXX_END_NAMESPACE
<span class="lineNum"> 91 </span> :
<span class="lineNum"> 92 </span> : #endif /* _STL_MOVE_H */
</pre>
</td>
</tr>
</table>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../../../../../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LTP GCOV extension version 1.6</a></td></tr>
</table>
<br>
</body>
</html>
|