public static async Task <UnionPartition <TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight> > Partition <TUnionType, TUnionDefinition, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight>(this IUnionTask <IEnumerable <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 ReplayableEnumerable <IUnionValue <UnionDefinitionBase <TUnionType, TUnionDefinition, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight> > >(await source);

            return(new UnionPartition <TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight>
                   (
                       values.WhereOne(),
                       values.WhereTwo(),
                       values.WhereThree(),
                       values.WhereFour(),
                       values.WhereFive(),
                       values.WhereSix(),
                       values.WhereSeven(),
                       values.WhereEight()
                   ));
        }
예제 #2
0
        public static async Task <UnionPartition <TOne, TTwo> > Partition <TUnionType, TUnionDefinition, TOne, TTwo>(this IUnionTask <IEnumerable <IUnionValue <UnionDefinitionBase <TUnionType, TUnionDefinition, TOne, TTwo> > > > source)
            where TUnionType : struct
            where TUnionDefinition : UnionDefinitionBase <TUnionType, TUnionDefinition, TOne, TTwo>
        {
            var values = new ReplayableEnumerable <IUnionValue <UnionDefinitionBase <TUnionType, TUnionDefinition, TOne, TTwo> > >(await source);

            return(new UnionPartition <TOne, TTwo>
                   (
                       values.WhereOne(),
                       values.WhereTwo()
                   ));
        }
예제 #3
0
        public static UnionPartition <TOne, TTwo, TThree> Partition <TUnionType, TUnionDefinition, TOne, TTwo, TThree>(this IEnumerable <IUnionValue <UnionDefinitionBase <TUnionType, TUnionDefinition, TOne, TTwo, TThree> > > source)
            where TUnionType : struct
            where TUnionDefinition : UnionDefinitionBase <TUnionType, TUnionDefinition, TOne, TTwo, TThree>
        {
            var values = new ReplayableEnumerable <IUnionValue <UnionDefinitionBase <TUnionType, TUnionDefinition, TOne, TTwo, TThree> > >(source);

            return(new UnionPartition <TOne, TTwo, TThree>
                   (
                       values.WhereOne(),
                       values.WhereTwo(),
                       values.WhereThree()
                   ));
        }
        public static UnionPartition <TOne, TTwo> Partition <TUnionType, TUnionDefinition, TOne, TTwo>(this IEnumerable <IUnionValue <UnionDefinitionBase <TUnionType, TUnionDefinition, TOne, TTwo> > > source)
            where TUnionType : struct
            where TUnionDefinition : notnull, UnionDefinitionBase <TUnionType, TUnionDefinition, TOne, TTwo>
            where TOne : notnull
            where TTwo : notnull
        {
            var values = new ReplayableEnumerable <IUnionValue <UnionDefinitionBase <TUnionType, TUnionDefinition, TOne, TTwo> > >(source);

            return(new UnionPartition <TOne, TTwo>
                   (
                       values.WhereOne(),
                       values.WhereTwo()
                   ));
        }
예제 #5
0
        public static UnionPartition <TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight> Partition <TUnionType, TUnionDefinition, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight>(this IEnumerable <IUnionValue <UnionDefinitionBase <TUnionType, TUnionDefinition, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight> > > source)
            where TUnionType : struct
            where TUnionDefinition : UnionDefinitionBase <TUnionType, TUnionDefinition, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight>
        {
            var values = new ReplayableEnumerable <IUnionValue <UnionDefinitionBase <TUnionType, TUnionDefinition, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight> > >(source);

            return(new UnionPartition <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 UnionPartition <TOne, TTwo, TThree, TFour, TFive, TSix> Partition <TUnionType, TUnionDefinition, TOne, TTwo, TThree, TFour, TFive, TSix>(this IEnumerable <IUnionValue <UnionDefinitionBase <TUnionType, TUnionDefinition, TOne, TTwo, TThree, TFour, TFive, TSix> > > source)
            where TUnionType : struct
            where TUnionDefinition : notnull, UnionDefinitionBase <TUnionType, TUnionDefinition, TOne, TTwo, TThree, TFour, TFive, TSix>
            where TOne : notnull
            where TTwo : notnull
            where TThree : notnull
            where TFour : notnull
            where TFive : notnull
            where TSix : notnull
        {
            var values = new ReplayableEnumerable <IUnionValue <UnionDefinitionBase <TUnionType, TUnionDefinition, TOne, TTwo, TThree, TFour, TFive, TSix> > >(source);

            return(new UnionPartition <TOne, TTwo, TThree, TFour, TFive, TSix>
                   (
                       values.WhereOne(),
                       values.WhereTwo(),
                       values.WhereThree(),
                       values.WhereFour(),
                       values.WhereFive(),
                       values.WhereSix()
                   ));
        }
예제 #7
0
 public ReplayableEnumerator(ReplayableEnumerable <A> seq) => this.seq = seq;