public static T Max <QueryType, QueryOp, T>(this QueryWrapper <QueryType, QueryOp> wrapper, Func <QueryType, T> selector) where T : IComparable <T> where QueryOp : IQueryOp <QueryType> { return(wrapper.Select(selector).Fold((a, b) => a.CompareTo(b) > 0 ? a : b)); }
public static QueryWrapper <long, SelectOp <QueryType, long, QueryOp> > ToLongs <QueryType, QueryOp>(this QueryWrapper <QueryType, QueryOp> wrapper) where QueryOp : IQueryOp <QueryType> where QueryType : IConvertible { return(wrapper.Select(FormatHelper <QueryType> .toLong)); }
public static QueryWrapper <float, SelectOp <QueryType, float, QueryOp> > ToFloats <QueryType, QueryOp>(this QueryWrapper <QueryType, QueryOp> wrapper) where QueryOp : IQueryOp <QueryType> where QueryType : IConvertible { return(wrapper.Select(FormatHelper <QueryType> .toFloat)); }
public static QueryWrapper <byte, SelectOp <QueryType, byte, QueryOp> > ToBytes <QueryType, QueryOp>(this QueryWrapper <QueryType, QueryOp> wrapper) where QueryOp : IQueryOp <QueryType> where QueryType : IConvertible { return(wrapper.Select(FormatHelper <QueryType> .toByte)); }