CGAL 4.6 - STL Extensions for CGAL
|
Functions | |
template<class InputIterator , class Size , class OutputIterator > | |
OutputIterator | CGAL::copy_n (InputIterator first, Size n, OutputIterator result) |
template<class ForwardIterator > | |
std::pair< ForwardIterator, ForwardIterator > | CGAL::min_max_element (ForwardIterator first, ForwardIterator last) |
Computes the minimal and the maximal element of a range. More... | |
template<class ForwardIterator , class CompareMin , class CompareMax > | |
std::pair< ForwardIterator, ForwardIterator > | CGAL::min_max_element (ForwardIterator first, ForwardIterator last, CompareMin comp_min, CompareMax comp_max) |
Computes the minimal and the maximal element of a range. More... | |
template<class BidirectionalIterator > | |
BidirectionalIterator | CGAL::predecessor (BidirectionalIterator it) |
template<class ForwardIterator > | |
ForwardIterator | CGAL::successor (ForwardIterator it) |
template<typename ForwardIterator > | |
Iterator | CGAL::cpp11::next (ForwardIterator it) |
The function returns the result of operator++ on a ForwardIterator . More... | |
template<typename BidirectionalIterator > | |
Iterator | CGAL::cpp11::prev (BidirectionalIterator it) |
The function returns the result of operator-- on a BidirectionalIterator . More... | |
template<class InputIterator , class Size , class OutputIterator > | |
OutputIterator | CGAL::cpp11::copy_n (InputIterator first, Size count, OutputIterator result) |
Copies n items from an input iterator to an output iterator. More... | |
OutputIterator CGAL::copy_n | ( | InputIterator | first, |
Size | n, | ||
OutputIterator | result | ||
) |
Copies the first n
items from first
to result
.
result
after inserting the n
items.CGAL::Counting_iterator<Iterator, Value>
copies
#include <CGAL/algorithm.h>
OutputIterator CGAL::cpp11::copy_n | ( | InputIterator | first, |
Size | count, | ||
OutputIterator | result | ||
) |
Copies n
items from an input iterator to an output iterator.
Its exact behaviour is defined in Paragraph 25.3.1 of the C++ standard draft N3242.
copy_n
from the C++0x standard. If copy_n
is available in the std::
namespace a using declaration is used, otherwise an alternative implementation from CGAL is used. #include <CGAL/algorithm.h>
std::pair<ForwardIterator, ForwardIterator > CGAL::min_max_element | ( | ForwardIterator | first, |
ForwardIterator | last | ||
) |
Computes the minimal and the maximal element of a range.
It is modeled after the STL functions std::min_element
and std::max_element
. The advantage of min_max_element
compared to calling both STL functions is that one only iterates once over the sequence. This is more efficient especially for large and/or complex sequences.
Example
The following example program computes the minimal and maximal element of the sequence (3,\,6,\,5)
. Hence the output is min = 3, max = 6
.
File STL_Extension/min_max_element_example.cpp
first
, last
). The ordering is defined by operator<
on the value type of ForwardIterator
. #include <CGAL/algorithm.h>
std::pair< ForwardIterator, ForwardIterator > CGAL::min_max_element | ( | ForwardIterator | first, |
ForwardIterator | last, | ||
CompareMin | comp_min, | ||
CompareMax | comp_max | ||
) |
Computes the minimal and the maximal element of a range.
It is modeled after the STL functions std::min_element
and std::max_element
. The advantage of min_max_element
compared to calling both STL functions is that one only iterates once over the sequence. This is more efficient especially for large and/or complex sequences.
first
, last
).CompareMin
and CompareMax
are adaptable binary function objects: VT
\( \times\) VT
\( \rightarrow\) bool
where VT
is the value type of ForwardIterator
. #include <CGAL/algorithm.h>
Iterator CGAL::cpp11::next | ( | ForwardIterator | it) |
The function returns the result of operator++
on a ForwardIterator
.
The exact behaviour is described in Paragraph 24.4.4 of the C++ standard draft N3242.
CGAL::cpp11
with this name, but a using declaration which imports a function from another namespace. By order of priority: the one in namespace std
is used (provided by C++0x), if not found, then the one in namespace boost
is used.CGAL::cpp11::prev()
#include <CGAL/algorithm.h>
BidirectionalIterator CGAL::predecessor | ( | BidirectionalIterator | it) |
CGAL::cpp11::prev
should be used instead.Returns the previous iterator, i.e. the result of operator--
on a bidirectional iterator.
CGAL::successor()
--it
. #include <CGAL/algorithm.h>
Iterator CGAL::cpp11::prev | ( | BidirectionalIterator | it) |
The function returns the result of operator--
on a BidirectionalIterator
.
The exact behaviour is described in Paragraph 24.4.4 of the C++ standard draft N3242.
std::prev
is imported into the namespace CGAL::cpp11
, otherwise CGAL::cpp11::prev
is declared with the signature as given in Paragraph 24.4.4 of the ISO C++ Standard and forwarded to boost::prior
. #include <CGAL/algorithm.h>
ForwardIterator CGAL::successor | ( | ForwardIterator | it) |
CGAL::cpp11::next
should be used instead.Returns the next iterator, i.e. the result of operator++
on a forward iterator.
CGAL::predecessor()
++it
. #include <CGAL/algorithm.h>