return true;
}
+bool FeatureUtility::CheckFeatureEnabled(const String& feature)
+{
+ return CheckFeatureInternal(feature, false);
+}
+
+bool FeatureUtility::CheckFeatureDisabled(const String& feature)
+{
+ return CheckFeatureInternal(feature, true);
+}
+
+bool FeatureUtility::CheckFeatureInternal(const String& feature, bool check_disabled)
+{
+ std::vector<String> features;
+
+ if (!FeatureUtility::GetFeatures(features, check_disabled))
+ return false;
+
+ BOOST_FOREACH(const String& check_feature, features) {
+ if (check_feature == feature)
+ return true;
+ }
+
+ return false;
+}
+
void FeatureUtility::CollectFeatures(const String& feature_file, std::vector<String>& features)
{
String feature = Utility::BaseName(feature_file);
static int ListFeatures(std::ostream& os = std::cout);
static bool GetFeatures(std::vector<String>& features, bool enable);
+ static bool CheckFeatureEnabled(const String& feature);
+ static bool CheckFeatureDisabled(const String& feature);
private:
FeatureUtility(void);
static void CollectFeatures(const String& feature_file, std::vector<String>& features);
+ static bool CheckFeatureInternal(const String& feature, bool check_disabled);
};
}