in lib/model/FunctionTypes.cc [1077:1319]
TFeatureFunctionVecMap buildFeatureFunctionMap() {
TFeatureFunctionVecMap result;
// This is written like this to generate a compiler warning
// when a new function is added. This map must include every
// function so add a case if you add a new function.
switch (E_IndividualCount) {
// The fall-through is intentional in this switch: the switched-on value
// selects the first case and then all the calls to addFeatures() are
// made
case E_IndividualCount:
addFeatures(E_IndividualCount, result);
BOOST_FALLTHROUGH;
case E_IndividualNonZeroCount:
addFeatures(E_IndividualNonZeroCount, result);
BOOST_FALLTHROUGH;
case E_IndividualRareCount:
addFeatures(E_IndividualRareCount, result);
BOOST_FALLTHROUGH;
case E_IndividualRareNonZeroCount:
addFeatures(E_IndividualRareNonZeroCount, result);
BOOST_FALLTHROUGH;
case E_IndividualRare:
addFeatures(E_IndividualRare, result);
BOOST_FALLTHROUGH;
case E_IndividualLowCounts:
addFeatures(E_IndividualLowCounts, result);
BOOST_FALLTHROUGH;
case E_IndividualHighCounts:
addFeatures(E_IndividualHighCounts, result);
BOOST_FALLTHROUGH;
case E_IndividualLowNonZeroCount:
addFeatures(E_IndividualLowNonZeroCount, result);
BOOST_FALLTHROUGH;
case E_IndividualHighNonZeroCount:
addFeatures(E_IndividualHighNonZeroCount, result);
BOOST_FALLTHROUGH;
case E_IndividualDistinctCount:
addFeatures(E_IndividualDistinctCount, result);
BOOST_FALLTHROUGH;
case E_IndividualLowDistinctCount:
addFeatures(E_IndividualLowDistinctCount, result);
BOOST_FALLTHROUGH;
case E_IndividualHighDistinctCount:
addFeatures(E_IndividualHighDistinctCount, result);
BOOST_FALLTHROUGH;
case E_IndividualInfoContent:
addFeatures(E_IndividualInfoContent, result);
BOOST_FALLTHROUGH;
case E_IndividualHighInfoContent:
addFeatures(E_IndividualHighInfoContent, result);
BOOST_FALLTHROUGH;
case E_IndividualLowInfoContent:
addFeatures(E_IndividualLowInfoContent, result);
BOOST_FALLTHROUGH;
case E_IndividualTimeOfDay:
addFeatures(E_IndividualTimeOfDay, result);
BOOST_FALLTHROUGH;
case E_IndividualTimeOfWeek:
addFeatures(E_IndividualTimeOfWeek, result);
BOOST_FALLTHROUGH;
case E_IndividualMetric:
addFeatures(E_IndividualMetric, result);
BOOST_FALLTHROUGH;
case E_IndividualMetricMean:
addFeatures(E_IndividualMetricMean, result);
BOOST_FALLTHROUGH;
case E_IndividualMetricLowMean:
addFeatures(E_IndividualMetricLowMean, result);
BOOST_FALLTHROUGH;
case E_IndividualMetricHighMean:
addFeatures(E_IndividualMetricHighMean, result);
BOOST_FALLTHROUGH;
case E_IndividualMetricMedian:
addFeatures(E_IndividualMetricMedian, result);
BOOST_FALLTHROUGH;
case E_IndividualMetricLowMedian:
addFeatures(E_IndividualMetricLowMedian, result);
BOOST_FALLTHROUGH;
case E_IndividualMetricHighMedian:
addFeatures(E_IndividualMetricHighMedian, result);
BOOST_FALLTHROUGH;
case E_IndividualMetricMin:
addFeatures(E_IndividualMetricMin, result);
BOOST_FALLTHROUGH;
case E_IndividualMetricMax:
addFeatures(E_IndividualMetricMax, result);
BOOST_FALLTHROUGH;
case E_IndividualMetricSum:
addFeatures(E_IndividualMetricSum, result);
BOOST_FALLTHROUGH;
case E_IndividualMetricVariance:
addFeatures(E_IndividualMetricVariance, result);
BOOST_FALLTHROUGH;
case E_IndividualMetricLowVariance:
addFeatures(E_IndividualMetricLowVariance, result);
BOOST_FALLTHROUGH;
case E_IndividualMetricHighVariance:
addFeatures(E_IndividualMetricHighVariance, result);
BOOST_FALLTHROUGH;
case E_IndividualMetricLowSum:
addFeatures(E_IndividualMetricLowSum, result);
BOOST_FALLTHROUGH;
case E_IndividualMetricHighSum:
addFeatures(E_IndividualMetricHighSum, result);
BOOST_FALLTHROUGH;
case E_IndividualMetricNonNullSum:
addFeatures(E_IndividualMetricNonNullSum, result);
BOOST_FALLTHROUGH;
case E_IndividualMetricLowNonNullSum:
addFeatures(E_IndividualMetricLowNonNullSum, result);
BOOST_FALLTHROUGH;
case E_IndividualMetricHighNonNullSum:
addFeatures(E_IndividualMetricHighNonNullSum, result);
BOOST_FALLTHROUGH;
case E_IndividualLatLong:
addFeatures(E_IndividualLatLong, result);
BOOST_FALLTHROUGH;
case E_IndividualMaxVelocity:
addFeatures(E_IndividualMaxVelocity, result);
BOOST_FALLTHROUGH;
case E_IndividualMinVelocity:
addFeatures(E_IndividualMinVelocity, result);
BOOST_FALLTHROUGH;
case E_IndividualMeanVelocity:
addFeatures(E_IndividualMeanVelocity, result);
BOOST_FALLTHROUGH;
case E_IndividualSumVelocity:
addFeatures(E_IndividualSumVelocity, result);
BOOST_FALLTHROUGH;
case E_PopulationCount:
addFeatures(E_PopulationCount, result);
BOOST_FALLTHROUGH;
case E_PopulationDistinctCount:
addFeatures(E_PopulationDistinctCount, result);
BOOST_FALLTHROUGH;
case E_PopulationLowDistinctCount:
addFeatures(E_PopulationLowDistinctCount, result);
BOOST_FALLTHROUGH;
case E_PopulationHighDistinctCount:
addFeatures(E_PopulationHighDistinctCount, result);
BOOST_FALLTHROUGH;
case E_PopulationRare:
addFeatures(E_PopulationRare, result);
BOOST_FALLTHROUGH;
case E_PopulationRareCount:
addFeatures(E_PopulationRareCount, result);
BOOST_FALLTHROUGH;
case E_PopulationFreqRare:
addFeatures(E_PopulationFreqRare, result);
BOOST_FALLTHROUGH;
case E_PopulationFreqRareCount:
addFeatures(E_PopulationFreqRareCount, result);
BOOST_FALLTHROUGH;
case E_PopulationLowCounts:
addFeatures(E_PopulationLowCounts, result);
BOOST_FALLTHROUGH;
case E_PopulationHighCounts:
addFeatures(E_PopulationHighCounts, result);
BOOST_FALLTHROUGH;
case E_PopulationInfoContent:
addFeatures(E_PopulationInfoContent, result);
BOOST_FALLTHROUGH;
case E_PopulationLowInfoContent:
addFeatures(E_PopulationLowInfoContent, result);
BOOST_FALLTHROUGH;
case E_PopulationHighInfoContent:
addFeatures(E_PopulationHighInfoContent, result);
BOOST_FALLTHROUGH;
case E_PopulationTimeOfDay:
addFeatures(E_PopulationTimeOfDay, result);
BOOST_FALLTHROUGH;
case E_PopulationTimeOfWeek:
addFeatures(E_PopulationTimeOfWeek, result);
BOOST_FALLTHROUGH;
case E_PopulationMetric:
addFeatures(E_PopulationMetric, result);
BOOST_FALLTHROUGH;
case E_PopulationMetricMean:
addFeatures(E_PopulationMetricMean, result);
BOOST_FALLTHROUGH;
case E_PopulationMetricLowMean:
addFeatures(E_PopulationMetricLowMean, result);
BOOST_FALLTHROUGH;
case E_PopulationMetricHighMean:
addFeatures(E_PopulationMetricHighMean, result);
BOOST_FALLTHROUGH;
case E_PopulationMetricMedian:
addFeatures(E_PopulationMetricMedian, result);
BOOST_FALLTHROUGH;
case E_PopulationMetricLowMedian:
addFeatures(E_PopulationMetricLowMedian, result);
BOOST_FALLTHROUGH;
case E_PopulationMetricHighMedian:
addFeatures(E_PopulationMetricHighMedian, result);
BOOST_FALLTHROUGH;
case E_PopulationMetricMin:
addFeatures(E_PopulationMetricMin, result);
BOOST_FALLTHROUGH;
case E_PopulationMetricMax:
addFeatures(E_PopulationMetricMax, result);
BOOST_FALLTHROUGH;
case E_PopulationMetricVariance:
addFeatures(E_PopulationMetricVariance, result);
BOOST_FALLTHROUGH;
case E_PopulationMetricLowVariance:
addFeatures(E_PopulationMetricLowVariance, result);
BOOST_FALLTHROUGH;
case E_PopulationMetricHighVariance:
addFeatures(E_PopulationMetricHighVariance, result);
BOOST_FALLTHROUGH;
case E_PopulationMetricSum:
addFeatures(E_PopulationMetricSum, result);
BOOST_FALLTHROUGH;
case E_PopulationMetricLowSum:
addFeatures(E_PopulationMetricLowSum, result);
BOOST_FALLTHROUGH;
case E_PopulationMetricHighSum:
addFeatures(E_PopulationMetricHighSum, result);
BOOST_FALLTHROUGH;
case E_PopulationLatLong:
addFeatures(E_PopulationLatLong, result);
BOOST_FALLTHROUGH;
case E_PopulationMaxVelocity:
addFeatures(E_PopulationMaxVelocity, result);
BOOST_FALLTHROUGH;
case E_PopulationMinVelocity:
addFeatures(E_PopulationMinVelocity, result);
BOOST_FALLTHROUGH;
case E_PopulationMeanVelocity:
addFeatures(E_PopulationMeanVelocity, result);
BOOST_FALLTHROUGH;
case E_PopulationSumVelocity:
addFeatures(E_PopulationSumVelocity, result);
}
for (TFeatureFunctionVecMapItr i = result.begin(); i != result.end(); ++i) {
std::sort(i->second.begin(), i->second.end());
}
return result;
}