public static ArgSet operator +(ArgSet a, ArgGeneratorDelegate b) { ArgSet n = new ArgSet(); n._args = a._args; n._argGenerators = a._argGenerators.Append(b); return(n); }
public static ArgSet operator +(ArgSet a, ArgSet b) { ArgSet n = new ArgSet(); n._args = a._args.Concat(b._args); n._argGenerators = a._argGenerators.Concat(b._argGenerators); return(n); }
public static ArgSetList operator +(ArgSetList a, ArgSetList b) { ArgSetList ret = new ArgSetList(); List <ArgSet> x = new List <ArgSet>(a.argSets.Count() * b.argSets.Count()); foreach (var ao in a.argSets) { foreach (var bo in b.argSets) { ArgSet n = new ArgSet(); List <string> args = ao._args.ToList(); args.AddRange(bo._args); n._args = args.ToArray(); x.Add(n); } } ret.argSets = x; return(ret); }