Library Samples
[ Keywords | Classes | Data | Functions ]
Back to the top of Samples
Back to the top of Samples
| template <class I1, class I2> void | Copy(I1 start, I1 end, I2 dest) ; |
| template <class I, class T> I | Find(I start, I end, T value) ; |
| template <class I, class T, class P> I | Find(I start, I end, T value, P fn) ; |
| template <class I, class T> T | Accumulate(I start, I end, T value) ; |
| template <class I, class T, class F> T | Accumulate(I start, const I end, T init, F fn) ; |
| template <class I, class F> void | ForEach(I start, I end, F fn) ; |
| template <class T> void | Swap(T& X, T& Y) ; |
| template <class I> void | Sort(I start, I end) ; |
| template <class I, class P> void | Sort(I start, I end, P fn) ; |
Back to the top of Samples
|
For each library (collection of header files) you are
allowed to define one LIBRARY section in one of the
header files. Use this section to discuss the classes,
datatypes, and algorithms in the entire library. This documentation
will appear on the root page to the html files for the library.
You can only define one LIBRARY section and the library name must match the libary name used in the config file or on the command line.
|
Back to the top of Samples
|
Simple algorithms, all of which can be found in the STL. The first
letter of each function, struct/class name has been capatalized to
prevent naming conflicts with the STL functions.
|
Back to the top of Samples
|
In template classes the following abbreviations are used.
If a template function or class requires more that one iterator, value, or function type the digits are appended. i.e.
template
Here 'start', and 'end' and of iterator type "I1" and 'dest' is of
iterator type "I2". I1 and I2 may, or may not, be the same types of
iterators.
|
Back to the top of Samples
template <class I1, class I2> void Copy(I1 start, I1 end, I2 dest) ;
#include "algorithm.h"
Copies the objects pointed to by the iterators to dest. Objects in the range [start,end) are copied.
Parameters
template <class I1, class I2> void Copy(I1 start, I1 end, I2 dest)
;
Function is currently defined inline.
Back to the top of Samples
template <class I, class T> I Find(I start, I end, T value) ;
#include "algorithm.h"
This is a simple implementation of the STL find function
Returns
Parameters
template <class I, class T> I Find(I start, I end, T value) ;
Function is currently defined inline.
Back to the top of Samples
template <class I, class T, class P> I Find(I start, I end, T value, P fn) ;
#include "algorithm.h"
A predicate version of the STL find
The parameter class P is a predicate that is expected to take to parameters of type T and return a bool.
Parameters
template <class I, class T, class P> I Find(I start, I end, T value, P fn) ;
Function is currently defined inline.
Back to the top of Samples
template <class I, class T> T Accumulate(I start, I end, T value) ;
#include "algorithm.h"
STL accumulate function. Calculates the sum of all the values in the sequence [start,end). Assumes that operator+ has been defined for the type T.
Parameters
template <class I, class T> T Accumulate(I start, I end, T value) ;
Function is currently defined inline.
Back to the top of Samples
template <class I, class T, class F> T Accumulate(I start, const I end, T init, F fn) ;
#include "algorithm.h"
A more general version of the accumulate function. The function applies the predicate fn to the values in the range [start,end) and accumlates the result. That is it calculates:
init = fn(init, *i)
for all i in the range [start,end). For example,
Multiply multiplyer;
int a[] = {1,2,3,4,5,6};
int product = 1; // identity value for multiplication
Accumulate(a, a+7, product, multiplier);
assert(product == 720);
Parameters
template <class I, class T, class F> T Accumulate(I start, const I end, T init, F fn) ;
Function is currently defined inline.
Back to the top of Samples
template <class I, class F> void ForEach(I start, I end, F fn) ;
#include "algorithm.h"
Applies the function fn(*i) to each i in the range
template <class I, class F> void ForEach(I start, I end, F fn) ;
Function is currently defined inline.
Back to the top of Samples
template <class T> void Swap(T& X, T& Y) ;
#include "algorithm.h"
Takes two references are parameters and swaps their values.
template <class T> void Swap(T& X, T& Y) ;
Function is currently defined inline.
Back to the top of Samples
template <class I> void Sort(I start, I end) ;
#include "algorithm.h"
Bubble sorts the values in the range [start, end). Sorts with operator < .
template <class I> void Sort(I start, I end) ;
Function is currently defined inline.
Back to the top of Samples
template <class I, class P> void Sort(I start, I end, P fn) ;
#include "algorithm.h"
Predicate version of BubbleSort. Uses the Predicate function fn to compare values. For example, given an STL vector of integers:
extern vector ints;
Outputer
Sort(ints.begin(), ints.end(), Greater());
ForEach(ints.begin(), ints.end(), Outputer(' '));
Sort(int.begin(), ints.end(), Less());
ForEach(ints.begin(), ints.end(), Outputer
template <class I, class P> void Sort(I start, I end, P fn) ;
Function is currently defined inline.
Back to the top of Samples
Generated from source by the Cocoon utilities on Wed Jan 31 13:59:35 2001 .
Report problems to jkotula@vitalimages.com