edelib: Functional handling for edelib::List and similar constructs

edelib 1.0

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

Functions
Functional handling for edelib::List and similar constructs

## Functions
template<typename T , typename F >
unsigned int | filter (const F &func, const T &container, T &ret)
template<typename T , typename F >
void | map (F &func, const T &container, T &ret)
template<typename T , typename R , typename F >
void | reduce (F &func, const T &container, R &ret)
template<typename T , typename F >
void | for_each (const F &func, const T &container)
template<typename T , typename F >
void | for_each (const F &func, const T &container, void *p)

## Detailed Description

## Function Documentation

unsigned int edelib::filter | ( | const F & | func,
|  | const T & | container,
|  | T & | ret
| ) |  |

Filter given container by calling func on each element. If func returns true for given element, it will be copied to other list.

void edelib::for_each | ( | const F & | func,
|  | const T & | container
| ) |  |

Traverse container calling func on each element. Returns nothing.

void edelib::for_each | ( | const F & | func,
|  | const T & | container,
|  | void * | p
| ) |  |

Same as above for_each, but with additional void* parameter that is given to function as second parameter (function is called as func(val, void*)

void edelib::map | ( | F & | func,
|  | const T & | container,
|  | T & | ret
| ) |  |

Apply func on each element of given container and add it to ret container.

void edelib::reduce | ( | F & | func,
|  | const T & | container,
|  | R & | ret
| ) |  |

Reduce all elements from container using func as function. The best example of this is to sum all elements, like:

int sum(int a, int b) {
return a + b;
}
int ret;
list <int> lst; // [1,2,3,4,5]
reduce(sum, lst, ret);
// result will be in form 1 + 2 + 3 + 4 + 5