mirror of
https://github.com/boostorg/utility.git
synced 2025-05-09 15:04:00 +00:00
various changes, almost forgot to check in
[SVN r8379]
This commit is contained in:
parent
c8fbca2d44
commit
7c3a25a377
@ -170,6 +170,28 @@ denotes the address of <tt>u</tt>
|
|||||||
<LI><tt>std::pair</tt>
|
<LI><tt>std::pair</tt>
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
|
<h3>Concept Checking Class</h3>
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
template <class T>
|
||||||
|
struct CopyConstructibleConcept
|
||||||
|
{
|
||||||
|
void constraints() {
|
||||||
|
T a(b); // require copy constructor
|
||||||
|
T* ptr = &a; // require address of operator
|
||||||
|
const_constraints(a);
|
||||||
|
ignore_unused_variable_warning(ptr);
|
||||||
|
}
|
||||||
|
void const_constraints(const T& a) {
|
||||||
|
T c(a); // require const copy constructor
|
||||||
|
const T* ptr = &a; // require const address of operator
|
||||||
|
ignore_unused_variable_warning(c);
|
||||||
|
ignore_unused_variable_warning(ptr);
|
||||||
|
}
|
||||||
|
T b;
|
||||||
|
};
|
||||||
|
</pre>
|
||||||
|
|
||||||
<h3>See also</h3>
|
<h3>See also</h3>
|
||||||
<A
|
<A
|
||||||
href="http://www.sgi.com/Technology/STL/DefaultConstructible.html">DefaultConstructible</A>
|
href="http://www.sgi.com/Technology/STL/DefaultConstructible.html">DefaultConstructible</A>
|
||||||
|
@ -7,7 +7,8 @@
|
|||||||
#include <functional>
|
#include <functional>
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <boost/iterator_adaptors.hpp>
|
#include <boost/pending/iterator_adaptors.hpp>
|
||||||
|
#include <boost/pending/integer_range.hpp>
|
||||||
|
|
||||||
int
|
int
|
||||||
main(int, char*[])
|
main(int, char*[])
|
||||||
@ -15,6 +16,7 @@ main(int, char*[])
|
|||||||
// This is a simple example of using the transform_iterators class to
|
// This is a simple example of using the transform_iterators class to
|
||||||
// generate iterators that multiply the value returned by dereferencing
|
// generate iterators that multiply the value returned by dereferencing
|
||||||
// the iterator. In this case we are multiplying by 2.
|
// the iterator. In this case we are multiplying by 2.
|
||||||
|
// Would be cooler to use lambda library in this example.
|
||||||
|
|
||||||
int x[] = { 1, 2, 3, 4, 5, 6, 7, 8 };
|
int x[] = { 1, 2, 3, 4, 5, 6, 7, 8 };
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user