expression template based streaming abstractions