It's an implementation of Member Detector Idiom. It uses SFINAE to check whether type T has got a member called flow
.
Edit: The comma part you're asking about is multiple inheritance. Struct Derived is (publicly) inheriting from both T and Fallback.