예제 #1
0
        public IEnumerable <Measurement> Aggregate(
            IGroupingStrategy groupingStrategy,
            IMeasurementAggregator aggregator)
        {
            var partitions = groupingStrategy.Group(_measurements);

            foreach (var partition in partitions)
            {
                yield return(aggregator.Aggregate(partition));
            }
        }
예제 #2
0
 /// <summary>
 /// Registers the grouping strategy.
 /// </summary>
 /// <typeparam name="T">The target unit type of the strategy</typeparam>
 /// <param name="strat">The strategy.</param>
 public static void RegisterGroupingStrategy <T>(IGroupingStrategy <T> strat) where T : IGroupable <T>
 {
     _groupingStrategies[typeof(T)] = strat;
 }
예제 #3
0
 public void LinkGrouping(IGroupingStrategy grouping)
 {
     Grouping = grouping;
 }