// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information. namespace System.Reactive.Joins { /// /// Abstract base class for join patterns. /// public abstract class Pattern { internal Pattern() { } } /* The following code is generated by a tool checked in to $/.../Source/Tools/CodeGenerators. */ #region Joins auto-generated code (8/4/2012 1:00:26 AM) /// /// Represents a join pattern over one observable sequence. /// /// The type of the elements in the first source sequence. public class Pattern : Pattern { internal Pattern(IObservable first) { First = first; } internal IObservable First { get; private set; } /// /// Matches when all observable sequences have an available element and projects the elements by invoking the selector function. /// /// The type of the elements in the result sequence, returned by the selector function. /// Selector that will be invoked for elements in the source sequences. /// Plan that produces the projected results, to be fed (with other plans) to the When operator. /// is null. public Plan Then(Func selector) { if (selector == null) throw new ArgumentNullException("selector"); return new Plan(this, selector); } } /// /// Represents a join pattern over two observable sequences. /// /// The type of the elements in the first source sequence. /// The type of the elements in the second source sequence. public class Pattern : Pattern { internal Pattern(IObservable first, IObservable second) { First = first; Second = second; } internal IObservable First { get; private set; } internal IObservable Second { get; private set; } /// /// Creates a pattern that matches when all three observable sequences have an available element. /// /// The type of the elements in the third observable sequence. /// Observable sequence to match with the two previous sequences. /// Pattern object that matches when all observable sequences have an available element. /// is null. public Pattern And(IObservable other) { if (other == null) throw new ArgumentNullException("other"); return new Pattern(First, Second, other); } /// /// Matches when all observable sequences have an available element and projects the elements by invoking the selector function. /// /// The type of the elements in the result sequence, returned by the selector function. /// Selector that will be invoked for elements in the source sequences. /// Plan that produces the projected results, to be fed (with other plans) to the When operator. /// is null. public Plan Then(Func selector) { if (selector == null) throw new ArgumentNullException("selector"); return new Plan(this, selector); } } /// /// Represents a join pattern over three observable sequences. /// /// The type of the elements in the first source sequence. /// The type of the elements in the second source sequence. /// The type of the elements in the third source sequence. public class Pattern : Pattern { internal Pattern(IObservable first, IObservable second, IObservable third) { First = first; Second = second; Third = third; } internal IObservable First { get; private set; } internal IObservable Second { get; private set; } internal IObservable Third { get; private set; } /// /// Creates a pattern that matches when all four observable sequences have an available element. /// /// The type of the elements in the fourth observable sequence. /// Observable sequence to match with the three previous sequences. /// Pattern object that matches when all observable sequences have an available element. /// is null. public Pattern And(IObservable other) { if (other == null) throw new ArgumentNullException("other"); return new Pattern(First, Second, Third, other); } /// /// Matches when all observable sequences have an available element and projects the elements by invoking the selector function. /// /// The type of the elements in the result sequence, returned by the selector function. /// Selector that will be invoked for elements in the source sequences. /// Plan that produces the projected results, to be fed (with other plans) to the When operator. /// is null. public Plan Then(Func selector) { if (selector == null) throw new ArgumentNullException("selector"); return new Plan(this, selector); } } /// /// Represents a join pattern over four observable sequences. /// /// The type of the elements in the first source sequence. /// The type of the elements in the second source sequence. /// The type of the elements in the third source sequence. /// The type of the elements in the fourth source sequence. public class Pattern : Pattern { internal Pattern(IObservable first, IObservable second, IObservable third, IObservable fourth) { First = first; Second = second; Third = third; Fourth = fourth; } internal IObservable First { get; private set; } internal IObservable Second { get; private set; } internal IObservable Third { get; private set; } internal IObservable Fourth { get; private set; } #if !NO_LARGEARITY /// /// Creates a pattern that matches when all five observable sequences have an available element. /// /// The type of the elements in the fifth observable sequence. /// Observable sequence to match with the four previous sequences. /// Pattern object that matches when all observable sequences have an available element. /// is null. public Pattern And(IObservable other) { if (other == null) throw new ArgumentNullException("other"); return new Pattern(First, Second, Third, Fourth, other); } #endif /// /// Matches when all observable sequences have an available element and projects the elements by invoking the selector function. /// /// The type of the elements in the result sequence, returned by the selector function. /// Selector that will be invoked for elements in the source sequences. /// Plan that produces the projected results, to be fed (with other plans) to the When operator. /// is null. public Plan Then(Func selector) { if (selector == null) throw new ArgumentNullException("selector"); return new Plan(this, selector); } } #if !NO_LARGEARITY /// /// Represents a join pattern over five observable sequences. /// /// The type of the elements in the first source sequence. /// The type of the elements in the second source sequence. /// The type of the elements in the third source sequence. /// The type of the elements in the fourth source sequence. /// The type of the elements in the fifth source sequence. public class Pattern : Pattern { internal Pattern(IObservable first, IObservable second, IObservable third, IObservable fourth, IObservable fifth) { First = first; Second = second; Third = third; Fourth = fourth; Fifth = fifth; } internal IObservable First { get; private set; } internal IObservable Second { get; private set; } internal IObservable Third { get; private set; } internal IObservable Fourth { get; private set; } internal IObservable Fifth { get; private set; } /// /// Creates a pattern that matches when all six observable sequences have an available element. /// /// The type of the elements in the sixth observable sequence. /// Observable sequence to match with the five previous sequences. /// Pattern object that matches when all observable sequences have an available element. /// is null. public Pattern And(IObservable other) { if (other == null) throw new ArgumentNullException("other"); return new Pattern(First, Second, Third, Fourth, Fifth, other); } /// /// Matches when all observable sequences have an available element and projects the elements by invoking the selector function. /// /// The type of the elements in the result sequence, returned by the selector function. /// Selector that will be invoked for elements in the source sequences. /// Plan that produces the projected results, to be fed (with other plans) to the When operator. /// is null. public Plan Then(Func selector) { if (selector == null) throw new ArgumentNullException("selector"); return new Plan(this, selector); } } /// /// Represents a join pattern over six observable sequences. /// /// The type of the elements in the first source sequence. /// The type of the elements in the second source sequence. /// The type of the elements in the third source sequence. /// The type of the elements in the fourth source sequence. /// The type of the elements in the fifth source sequence. /// The type of the elements in the sixth source sequence. public class Pattern : Pattern { internal Pattern(IObservable first, IObservable second, IObservable third, IObservable fourth, IObservable fifth, IObservable sixth) { First = first; Second = second; Third = third; Fourth = fourth; Fifth = fifth; Sixth = sixth; } internal IObservable First { get; private set; } internal IObservable Second { get; private set; } internal IObservable Third { get; private set; } internal IObservable Fourth { get; private set; } internal IObservable Fifth { get; private set; } internal IObservable Sixth { get; private set; } /// /// Creates a pattern that matches when all seven observable sequences have an available element. /// /// The type of the elements in the seventh observable sequence. /// Observable sequence to match with the six previous sequences. /// Pattern object that matches when all observable sequences have an available element. /// is null. public Pattern And(IObservable other) { if (other == null) throw new ArgumentNullException("other"); return new Pattern(First, Second, Third, Fourth, Fifth, Sixth, other); } /// /// Matches when all observable sequences have an available element and projects the elements by invoking the selector function. /// /// The type of the elements in the result sequence, returned by the selector function. /// Selector that will be invoked for elements in the source sequences. /// Plan that produces the projected results, to be fed (with other plans) to the When operator. /// is null. public Plan Then(Func selector) { if (selector == null) throw new ArgumentNullException("selector"); return new Plan(this, selector); } } /// /// Represents a join pattern over seven observable sequences. /// /// The type of the elements in the first source sequence. /// The type of the elements in the second source sequence. /// The type of the elements in the third source sequence. /// The type of the elements in the fourth source sequence. /// The type of the elements in the fifth source sequence. /// The type of the elements in the sixth source sequence. /// The type of the elements in the seventh source sequence. public class Pattern : Pattern { internal Pattern(IObservable first, IObservable second, IObservable third, IObservable fourth, IObservable fifth, IObservable sixth, IObservable seventh) { First = first; Second = second; Third = third; Fourth = fourth; Fifth = fifth; Sixth = sixth; Seventh = seventh; } internal IObservable First { get; private set; } internal IObservable Second { get; private set; } internal IObservable Third { get; private set; } internal IObservable Fourth { get; private set; } internal IObservable Fifth { get; private set; } internal IObservable Sixth { get; private set; } internal IObservable Seventh { get; private set; } /// /// Creates a pattern that matches when all eight observable sequences have an available element. /// /// The type of the elements in the eighth observable sequence. /// Observable sequence to match with the seven previous sequences. /// Pattern object that matches when all observable sequences have an available element. /// is null. public Pattern And(IObservable other) { if (other == null) throw new ArgumentNullException("other"); return new Pattern(First, Second, Third, Fourth, Fifth, Sixth, Seventh, other); } /// /// Matches when all observable sequences have an available element and projects the elements by invoking the selector function. /// /// The type of the elements in the result sequence, returned by the selector function. /// Selector that will be invoked for elements in the source sequences. /// Plan that produces the projected results, to be fed (with other plans) to the When operator. /// is null. public Plan Then(Func selector) { if (selector == null) throw new ArgumentNullException("selector"); return new Plan(this, selector); } } /// /// Represents a join pattern over eight observable sequences. /// /// The type of the elements in the first source sequence. /// The type of the elements in the second source sequence. /// The type of the elements in the third source sequence. /// The type of the elements in the fourth source sequence. /// The type of the elements in the fifth source sequence. /// The type of the elements in the sixth source sequence. /// The type of the elements in the seventh source sequence. /// The type of the elements in the eighth source sequence. public class Pattern : Pattern { internal Pattern(IObservable first, IObservable second, IObservable third, IObservable fourth, IObservable fifth, IObservable sixth, IObservable seventh, IObservable eighth) { First = first; Second = second; Third = third; Fourth = fourth; Fifth = fifth; Sixth = sixth; Seventh = seventh; Eighth = eighth; } internal IObservable First { get; private set; } internal IObservable Second { get; private set; } internal IObservable Third { get; private set; } internal IObservable Fourth { get; private set; } internal IObservable Fifth { get; private set; } internal IObservable Sixth { get; private set; } internal IObservable Seventh { get; private set; } internal IObservable Eighth { get; private set; } /// /// Creates a pattern that matches when all nine observable sequences have an available element. /// /// The type of the elements in the ninth observable sequence. /// Observable sequence to match with the eight previous sequences. /// Pattern object that matches when all observable sequences have an available element. /// is null. public Pattern And(IObservable other) { if (other == null) throw new ArgumentNullException("other"); return new Pattern(First, Second, Third, Fourth, Fifth, Sixth, Seventh, Eighth, other); } /// /// Matches when all observable sequences have an available element and projects the elements by invoking the selector function. /// /// The type of the elements in the result sequence, returned by the selector function. /// Selector that will be invoked for elements in the source sequences. /// Plan that produces the projected results, to be fed (with other plans) to the When operator. /// is null. public Plan Then(Func selector) { if (selector == null) throw new ArgumentNullException("selector"); return new Plan(this, selector); } } /// /// Represents a join pattern over nine observable sequences. /// /// The type of the elements in the first source sequence. /// The type of the elements in the second source sequence. /// The type of the elements in the third source sequence. /// The type of the elements in the fourth source sequence. /// The type of the elements in the fifth source sequence. /// The type of the elements in the sixth source sequence. /// The type of the elements in the seventh source sequence. /// The type of the elements in the eighth source sequence. /// The type of the elements in the ninth source sequence. public class Pattern : Pattern { internal Pattern(IObservable first, IObservable second, IObservable third, IObservable fourth, IObservable fifth, IObservable sixth, IObservable seventh, IObservable eighth, IObservable ninth) { First = first; Second = second; Third = third; Fourth = fourth; Fifth = fifth; Sixth = sixth; Seventh = seventh; Eighth = eighth; Ninth = ninth; } internal IObservable First { get; private set; } internal IObservable Second { get; private set; } internal IObservable Third { get; private set; } internal IObservable Fourth { get; private set; } internal IObservable Fifth { get; private set; } internal IObservable Sixth { get; private set; } internal IObservable Seventh { get; private set; } internal IObservable Eighth { get; private set; } internal IObservable Ninth { get; private set; } /// /// Creates a pattern that matches when all ten observable sequences have an available element. /// /// The type of the elements in the tenth observable sequence. /// Observable sequence to match with the nine previous sequences. /// Pattern object that matches when all observable sequences have an available element. /// is null. public Pattern And(IObservable other) { if (other == null) throw new ArgumentNullException("other"); return new Pattern(First, Second, Third, Fourth, Fifth, Sixth, Seventh, Eighth, Ninth, other); } /// /// Matches when all observable sequences have an available element and projects the elements by invoking the selector function. /// /// The type of the elements in the result sequence, returned by the selector function. /// Selector that will be invoked for elements in the source sequences. /// Plan that produces the projected results, to be fed (with other plans) to the When operator. /// is null. public Plan Then(Func selector) { if (selector == null) throw new ArgumentNullException("selector"); return new Plan(this, selector); } } /// /// Represents a join pattern over ten observable sequences. /// /// The type of the elements in the first source sequence. /// The type of the elements in the second source sequence. /// The type of the elements in the third source sequence. /// The type of the elements in the fourth source sequence. /// The type of the elements in the fifth source sequence. /// The type of the elements in the sixth source sequence. /// The type of the elements in the seventh source sequence. /// The type of the elements in the eighth source sequence. /// The type of the elements in the ninth source sequence. /// The type of the elements in the tenth source sequence. public class Pattern : Pattern { internal Pattern(IObservable first, IObservable second, IObservable third, IObservable fourth, IObservable fifth, IObservable sixth, IObservable seventh, IObservable eighth, IObservable ninth, IObservable tenth) { First = first; Second = second; Third = third; Fourth = fourth; Fifth = fifth; Sixth = sixth; Seventh = seventh; Eighth = eighth; Ninth = ninth; Tenth = tenth; } internal IObservable First { get; private set; } internal IObservable Second { get; private set; } internal IObservable Third { get; private set; } internal IObservable Fourth { get; private set; } internal IObservable Fifth { get; private set; } internal IObservable Sixth { get; private set; } internal IObservable Seventh { get; private set; } internal IObservable Eighth { get; private set; } internal IObservable Ninth { get; private set; } internal IObservable Tenth { get; private set; } /// /// Creates a pattern that matches when all eleven observable sequences have an available element. /// /// The type of the elements in the eleventh observable sequence. /// Observable sequence to match with the ten previous sequences. /// Pattern object that matches when all observable sequences have an available element. /// is null. public Pattern And(IObservable other) { if (other == null) throw new ArgumentNullException("other"); return new Pattern(First, Second, Third, Fourth, Fifth, Sixth, Seventh, Eighth, Ninth, Tenth, other); } /// /// Matches when all observable sequences have an available element and projects the elements by invoking the selector function. /// /// The type of the elements in the result sequence, returned by the selector function. /// Selector that will be invoked for elements in the source sequences. /// Plan that produces the projected results, to be fed (with other plans) to the When operator. /// is null. public Plan Then(Func selector) { if (selector == null) throw new ArgumentNullException("selector"); return new Plan(this, selector); } } /// /// Represents a join pattern over eleven observable sequences. /// /// The type of the elements in the first source sequence. /// The type of the elements in the second source sequence. /// The type of the elements in the third source sequence. /// The type of the elements in the fourth source sequence. /// The type of the elements in the fifth source sequence. /// The type of the elements in the sixth source sequence. /// The type of the elements in the seventh source sequence. /// The type of the elements in the eighth source sequence. /// The type of the elements in the ninth source sequence. /// The type of the elements in the tenth source sequence. /// The type of the elements in the eleventh source sequence. public class Pattern : Pattern { internal Pattern(IObservable first, IObservable second, IObservable third, IObservable fourth, IObservable fifth, IObservable sixth, IObservable seventh, IObservable eighth, IObservable ninth, IObservable tenth, IObservable eleventh) { First = first; Second = second; Third = third; Fourth = fourth; Fifth = fifth; Sixth = sixth; Seventh = seventh; Eighth = eighth; Ninth = ninth; Tenth = tenth; Eleventh = eleventh; } internal IObservable First { get; private set; } internal IObservable Second { get; private set; } internal IObservable Third { get; private set; } internal IObservable Fourth { get; private set; } internal IObservable Fifth { get; private set; } internal IObservable Sixth { get; private set; } internal IObservable Seventh { get; private set; } internal IObservable Eighth { get; private set; } internal IObservable Ninth { get; private set; } internal IObservable Tenth { get; private set; } internal IObservable Eleventh { get; private set; } /// /// Creates a pattern that matches when all twelve observable sequences have an available element. /// /// The type of the elements in the twelfth observable sequence. /// Observable sequence to match with the eleven previous sequences. /// Pattern object that matches when all observable sequences have an available element. /// is null. public Pattern And(IObservable other) { if (other == null) throw new ArgumentNullException("other"); return new Pattern(First, Second, Third, Fourth, Fifth, Sixth, Seventh, Eighth, Ninth, Tenth, Eleventh, other); } /// /// Matches when all observable sequences have an available element and projects the elements by invoking the selector function. /// /// The type of the elements in the result sequence, returned by the selector function. /// Selector that will be invoked for elements in the source sequences. /// Plan that produces the projected results, to be fed (with other plans) to the When operator. /// is null. public Plan Then(Func selector) { if (selector == null) throw new ArgumentNullException("selector"); return new Plan(this, selector); } } /// /// Represents a join pattern over twelve observable sequences. /// /// The type of the elements in the first source sequence. /// The type of the elements in the second source sequence. /// The type of the elements in the third source sequence. /// The type of the elements in the fourth source sequence. /// The type of the elements in the fifth source sequence. /// The type of the elements in the sixth source sequence. /// The type of the elements in the seventh source sequence. /// The type of the elements in the eighth source sequence. /// The type of the elements in the ninth source sequence. /// The type of the elements in the tenth source sequence. /// The type of the elements in the eleventh source sequence. /// The type of the elements in the twelfth source sequence. public class Pattern : Pattern { internal Pattern(IObservable first, IObservable second, IObservable third, IObservable fourth, IObservable fifth, IObservable sixth, IObservable seventh, IObservable eighth, IObservable ninth, IObservable tenth, IObservable eleventh, IObservable twelfth) { First = first; Second = second; Third = third; Fourth = fourth; Fifth = fifth; Sixth = sixth; Seventh = seventh; Eighth = eighth; Ninth = ninth; Tenth = tenth; Eleventh = eleventh; Twelfth = twelfth; } internal IObservable First { get; private set; } internal IObservable Second { get; private set; } internal IObservable Third { get; private set; } internal IObservable Fourth { get; private set; } internal IObservable Fifth { get; private set; } internal IObservable Sixth { get; private set; } internal IObservable Seventh { get; private set; } internal IObservable Eighth { get; private set; } internal IObservable Ninth { get; private set; } internal IObservable Tenth { get; private set; } internal IObservable Eleventh { get; private set; } internal IObservable Twelfth { get; private set; } /// /// Creates a pattern that matches when all thirteen observable sequences have an available element. /// /// The type of the elements in the thirteenth observable sequence. /// Observable sequence to match with the twelve previous sequences. /// Pattern object that matches when all observable sequences have an available element. /// is null. public Pattern And(IObservable other) { if (other == null) throw new ArgumentNullException("other"); return new Pattern(First, Second, Third, Fourth, Fifth, Sixth, Seventh, Eighth, Ninth, Tenth, Eleventh, Twelfth, other); } /// /// Matches when all observable sequences have an available element and projects the elements by invoking the selector function. /// /// The type of the elements in the result sequence, returned by the selector function. /// Selector that will be invoked for elements in the source sequences. /// Plan that produces the projected results, to be fed (with other plans) to the When operator. /// is null. public Plan Then(Func selector) { if (selector == null) throw new ArgumentNullException("selector"); return new Plan(this, selector); } } /// /// Represents a join pattern over thirteen observable sequences. /// /// The type of the elements in the first source sequence. /// The type of the elements in the second source sequence. /// The type of the elements in the third source sequence. /// The type of the elements in the fourth source sequence. /// The type of the elements in the fifth source sequence. /// The type of the elements in the sixth source sequence. /// The type of the elements in the seventh source sequence. /// The type of the elements in the eighth source sequence. /// The type of the elements in the ninth source sequence. /// The type of the elements in the tenth source sequence. /// The type of the elements in the eleventh source sequence. /// The type of the elements in the twelfth source sequence. /// The type of the elements in the thirteenth source sequence. public class Pattern : Pattern { internal Pattern(IObservable first, IObservable second, IObservable third, IObservable fourth, IObservable fifth, IObservable sixth, IObservable seventh, IObservable eighth, IObservable ninth, IObservable tenth, IObservable eleventh, IObservable twelfth, IObservable thirteenth) { First = first; Second = second; Third = third; Fourth = fourth; Fifth = fifth; Sixth = sixth; Seventh = seventh; Eighth = eighth; Ninth = ninth; Tenth = tenth; Eleventh = eleventh; Twelfth = twelfth; Thirteenth = thirteenth; } internal IObservable First { get; private set; } internal IObservable Second { get; private set; } internal IObservable Third { get; private set; } internal IObservable Fourth { get; private set; } internal IObservable Fifth { get; private set; } internal IObservable Sixth { get; private set; } internal IObservable Seventh { get; private set; } internal IObservable Eighth { get; private set; } internal IObservable Ninth { get; private set; } internal IObservable Tenth { get; private set; } internal IObservable Eleventh { get; private set; } internal IObservable Twelfth { get; private set; } internal IObservable Thirteenth { get; private set; } /// /// Creates a pattern that matches when all fourteen observable sequences have an available element. /// /// The type of the elements in the fourteenth observable sequence. /// Observable sequence to match with the thirteen previous sequences. /// Pattern object that matches when all observable sequences have an available element. /// is null. public Pattern And(IObservable other) { if (other == null) throw new ArgumentNullException("other"); return new Pattern(First, Second, Third, Fourth, Fifth, Sixth, Seventh, Eighth, Ninth, Tenth, Eleventh, Twelfth, Thirteenth, other); } /// /// Matches when all observable sequences have an available element and projects the elements by invoking the selector function. /// /// The type of the elements in the result sequence, returned by the selector function. /// Selector that will be invoked for elements in the source sequences. /// Plan that produces the projected results, to be fed (with other plans) to the When operator. /// is null. public Plan Then(Func selector) { if (selector == null) throw new ArgumentNullException("selector"); return new Plan(this, selector); } } /// /// Represents a join pattern over fourteen observable sequences. /// /// The type of the elements in the first source sequence. /// The type of the elements in the second source sequence. /// The type of the elements in the third source sequence. /// The type of the elements in the fourth source sequence. /// The type of the elements in the fifth source sequence. /// The type of the elements in the sixth source sequence. /// The type of the elements in the seventh source sequence. /// The type of the elements in the eighth source sequence. /// The type of the elements in the ninth source sequence. /// The type of the elements in the tenth source sequence. /// The type of the elements in the eleventh source sequence. /// The type of the elements in the twelfth source sequence. /// The type of the elements in the thirteenth source sequence. /// The type of the elements in the fourteenth source sequence. public class Pattern : Pattern { internal Pattern(IObservable first, IObservable second, IObservable third, IObservable fourth, IObservable fifth, IObservable sixth, IObservable seventh, IObservable eighth, IObservable ninth, IObservable tenth, IObservable eleventh, IObservable twelfth, IObservable thirteenth, IObservable fourteenth) { First = first; Second = second; Third = third; Fourth = fourth; Fifth = fifth; Sixth = sixth; Seventh = seventh; Eighth = eighth; Ninth = ninth; Tenth = tenth; Eleventh = eleventh; Twelfth = twelfth; Thirteenth = thirteenth; Fourteenth = fourteenth; } internal IObservable First { get; private set; } internal IObservable Second { get; private set; } internal IObservable Third { get; private set; } internal IObservable Fourth { get; private set; } internal IObservable Fifth { get; private set; } internal IObservable Sixth { get; private set; } internal IObservable Seventh { get; private set; } internal IObservable Eighth { get; private set; } internal IObservable Ninth { get; private set; } internal IObservable Tenth { get; private set; } internal IObservable Eleventh { get; private set; } internal IObservable Twelfth { get; private set; } internal IObservable Thirteenth { get; private set; } internal IObservable Fourteenth { get; private set; } /// /// Creates a pattern that matches when all fifteen observable sequences have an available element. /// /// The type of the elements in the fifteenth observable sequence. /// Observable sequence to match with the fourteen previous sequences. /// Pattern object that matches when all observable sequences have an available element. /// is null. public Pattern And(IObservable other) { if (other == null) throw new ArgumentNullException("other"); return new Pattern(First, Second, Third, Fourth, Fifth, Sixth, Seventh, Eighth, Ninth, Tenth, Eleventh, Twelfth, Thirteenth, Fourteenth, other); } /// /// Matches when all observable sequences have an available element and projects the elements by invoking the selector function. /// /// The type of the elements in the result sequence, returned by the selector function. /// Selector that will be invoked for elements in the source sequences. /// Plan that produces the projected results, to be fed (with other plans) to the When operator. /// is null. public Plan Then(Func selector) { if (selector == null) throw new ArgumentNullException("selector"); return new Plan(this, selector); } } /// /// Represents a join pattern over fifteen observable sequences. /// /// The type of the elements in the first source sequence. /// The type of the elements in the second source sequence. /// The type of the elements in the third source sequence. /// The type of the elements in the fourth source sequence. /// The type of the elements in the fifth source sequence. /// The type of the elements in the sixth source sequence. /// The type of the elements in the seventh source sequence. /// The type of the elements in the eighth source sequence. /// The type of the elements in the ninth source sequence. /// The type of the elements in the tenth source sequence. /// The type of the elements in the eleventh source sequence. /// The type of the elements in the twelfth source sequence. /// The type of the elements in the thirteenth source sequence. /// The type of the elements in the fourteenth source sequence. /// The type of the elements in the fifteenth source sequence. public class Pattern : Pattern { internal Pattern(IObservable first, IObservable second, IObservable third, IObservable fourth, IObservable fifth, IObservable sixth, IObservable seventh, IObservable eighth, IObservable ninth, IObservable tenth, IObservable eleventh, IObservable twelfth, IObservable thirteenth, IObservable fourteenth, IObservable fifteenth) { First = first; Second = second; Third = third; Fourth = fourth; Fifth = fifth; Sixth = sixth; Seventh = seventh; Eighth = eighth; Ninth = ninth; Tenth = tenth; Eleventh = eleventh; Twelfth = twelfth; Thirteenth = thirteenth; Fourteenth = fourteenth; Fifteenth = fifteenth; } internal IObservable First { get; private set; } internal IObservable Second { get; private set; } internal IObservable Third { get; private set; } internal IObservable Fourth { get; private set; } internal IObservable Fifth { get; private set; } internal IObservable Sixth { get; private set; } internal IObservable Seventh { get; private set; } internal IObservable Eighth { get; private set; } internal IObservable Ninth { get; private set; } internal IObservable Tenth { get; private set; } internal IObservable Eleventh { get; private set; } internal IObservable Twelfth { get; private set; } internal IObservable Thirteenth { get; private set; } internal IObservable Fourteenth { get; private set; } internal IObservable Fifteenth { get; private set; } /// /// Creates a pattern that matches when all sixteen observable sequences have an available element. /// /// The type of the elements in the sixteenth observable sequence. /// Observable sequence to match with the fifteen previous sequences. /// Pattern object that matches when all observable sequences have an available element. /// is null. public Pattern And(IObservable other) { if (other == null) throw new ArgumentNullException("other"); return new Pattern(First, Second, Third, Fourth, Fifth, Sixth, Seventh, Eighth, Ninth, Tenth, Eleventh, Twelfth, Thirteenth, Fourteenth, Fifteenth, other); } /// /// Matches when all observable sequences have an available element and projects the elements by invoking the selector function. /// /// The type of the elements in the result sequence, returned by the selector function. /// Selector that will be invoked for elements in the source sequences. /// Plan that produces the projected results, to be fed (with other plans) to the When operator. /// is null. public Plan Then(Func selector) { if (selector == null) throw new ArgumentNullException("selector"); return new Plan(this, selector); } } /// /// Represents a join pattern over sixteen observable sequences. /// /// The type of the elements in the first source sequence. /// The type of the elements in the second source sequence. /// The type of the elements in the third source sequence. /// The type of the elements in the fourth source sequence. /// The type of the elements in the fifth source sequence. /// The type of the elements in the sixth source sequence. /// The type of the elements in the seventh source sequence. /// The type of the elements in the eighth source sequence. /// The type of the elements in the ninth source sequence. /// The type of the elements in the tenth source sequence. /// The type of the elements in the eleventh source sequence. /// The type of the elements in the twelfth source sequence. /// The type of the elements in the thirteenth source sequence. /// The type of the elements in the fourteenth source sequence. /// The type of the elements in the fifteenth source sequence. /// The type of the elements in the sixteenth source sequence. public class Pattern : Pattern { internal Pattern(IObservable first, IObservable second, IObservable third, IObservable fourth, IObservable fifth, IObservable sixth, IObservable seventh, IObservable eighth, IObservable ninth, IObservable tenth, IObservable eleventh, IObservable twelfth, IObservable thirteenth, IObservable fourteenth, IObservable fifteenth, IObservable sixteenth) { First = first; Second = second; Third = third; Fourth = fourth; Fifth = fifth; Sixth = sixth; Seventh = seventh; Eighth = eighth; Ninth = ninth; Tenth = tenth; Eleventh = eleventh; Twelfth = twelfth; Thirteenth = thirteenth; Fourteenth = fourteenth; Fifteenth = fifteenth; Sixteenth = sixteenth; } internal IObservable First { get; private set; } internal IObservable Second { get; private set; } internal IObservable Third { get; private set; } internal IObservable Fourth { get; private set; } internal IObservable Fifth { get; private set; } internal IObservable Sixth { get; private set; } internal IObservable Seventh { get; private set; } internal IObservable Eighth { get; private set; } internal IObservable Ninth { get; private set; } internal IObservable Tenth { get; private set; } internal IObservable Eleventh { get; private set; } internal IObservable Twelfth { get; private set; } internal IObservable Thirteenth { get; private set; } internal IObservable Fourteenth { get; private set; } internal IObservable Fifteenth { get; private set; } internal IObservable Sixteenth { get; private set; } /// /// Matches when all observable sequences have an available element and projects the elements by invoking the selector function. /// /// The type of the elements in the result sequence, returned by the selector function. /// Selector that will be invoked for elements in the source sequences. /// Plan that produces the projected results, to be fed (with other plans) to the When operator. /// is null. public Plan Then(Func selector) { if (selector == null) throw new ArgumentNullException("selector"); return new Plan(this, selector); } } #endif #endregion }