Example #1
0
        public static AsyncUnionPartition <TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight> Partition <TUnionType, TUnionDefinition, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight>(this IAsyncEnumerable <IUnionValue <UnionDefinitionBase <TUnionType, TUnionDefinition, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight> > > source)
            where TUnionType : struct
            where TUnionDefinition : notnull, UnionDefinitionBase <TUnionType, TUnionDefinition, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight>
            where TOne : notnull
            where TTwo : notnull
            where TThree : notnull
            where TFour : notnull
            where TFive : notnull
            where TSix : notnull
            where TSeven : notnull
            where TEight : notnull
        {
            var values = new ReplayableAsyncEnumerable <IUnionValue <UnionDefinitionBase <TUnionType, TUnionDefinition, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight> > >(source);

            return(new AsyncUnionPartition <TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight>
                   (
                       values.WhereOne(),
                       values.WhereTwo(),
                       values.WhereThree(),
                       values.WhereFour(),
                       values.WhereFive(),
                       values.WhereSix(),
                       values.WhereSeven(),
                       values.WhereEight()
                   ));
        }
        public static AsyncUnionPartition <TOne, TTwo> Partition <TUnionType, TUnionDefinition, TOne, TTwo>(this IAsyncEnumerable <IUnionValue <UnionDefinitionBase <TUnionType, TUnionDefinition, TOne, TTwo> > > source)
            where TUnionType : struct
            where TUnionDefinition : UnionDefinitionBase <TUnionType, TUnionDefinition, TOne, TTwo>
        {
            var values = new ReplayableAsyncEnumerable <IUnionValue <UnionDefinitionBase <TUnionType, TUnionDefinition, TOne, TTwo> > >(source);

            return(new AsyncUnionPartition <TOne, TTwo>
                   (
                       values.WhereOne(),
                       values.WhereTwo()
                   ));
        }
        public static AsyncUnionPartition <TOne, TTwo, TThree, TFour, TFive, TSix, TSeven> Partition <TUnionType, TUnionDefinition, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven>(this IAsyncEnumerable <IUnionValue <UnionDefinitionBase <TUnionType, TUnionDefinition, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven> > > source)
            where TUnionType : struct
            where TUnionDefinition : UnionDefinitionBase <TUnionType, TUnionDefinition, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven>
        {
            var values = new ReplayableAsyncEnumerable <IUnionValue <UnionDefinitionBase <TUnionType, TUnionDefinition, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven> > >(source);

            return(new AsyncUnionPartition <TOne, TTwo, TThree, TFour, TFive, TSix, TSeven>
                   (
                       values.WhereOne(),
                       values.WhereTwo(),
                       values.WhereThree(),
                       values.WhereFour(),
                       values.WhereFive(),
                       values.WhereSix(),
                       values.WhereSeven()
                   ));
        }