aboutsummaryrefslogtreecommitdiff
path: root/src/conditional
AgeCommit message (Collapse)Author
2015-02-15Simplified `Cond`, `Cons` and `Map` implementationsAdrian Kummerlaender
* continuation of 8e49cc6f8f
2015-02-15Moved class-based implementations into `detail` namespaceAdrian Kummerlaender
* while class templates enable e.g. hiding implementation details they also require evaluation via `Eval` ** this clutters up the actual logic and is now hidden behind aliae that perform the evaluation
2015-02-14Introduced `Eval` function evaluation helperAdrian Kummerlaender
* replaces `typename *::type` constructs with `Eval` applications * aims to further unify function evaluation
2015-02-12Implemented `Cond` conditionalAdrian Kummerlaender
* returns the `CDR` of the first true `CAR` in a given list of pairs * reimplemented `Apply` base class selection in terms of `Cond`
2015-02-05Defer `If` template resolution analogously to other functionsAdrian Kummerlaender
* all other functions sans `Cons` are resolved when the respective member `*::type` is instantiated * this was changed soely to increase coherence
2015-01-17Implemented `Length` functionAdrian Kummerlaender
* as its name implies this function returns the length of a given _Cons_ structure * result type is `Size<Length>` which wraps `std::size_t` to match the `sizeof` operator
2015-01-16Implemented `tav::If` as `std::conditional` wrapperAdrian Kummerlaender