| 395 | // specialized versions return false if the feature has a wrong type. |
| 396 | template <typename... FeatureType> |
| 397 | bool HasFeature(const string& key, const Example& example) { |
| 398 | return HasFeature<FeatureType...>(key, GetFeatures(example)); |
| 399 | } |
| 400 | |
| 401 | // TODO(gorban): update all clients in a followup CL. |
| 402 | template <typename... FeatureType> |