-/* Copyright (c) 2016. The SimGrid Team.
- * All rights reserved. */
+/* Copyright (c) 2016-2017. The SimGrid Team. All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
-#ifndef _XBT_CONFIG_HPP_
-#define _XBT_CONFIG_HPP_
+#ifndef XBT_CONFIG_HPP
+#define XBT_CONFIG_HPP
#include <xbt/base.h>
: std::runtime_error(what) {}
explicit missing_key_error(const char* what)
: std::runtime_error(what) {}
- ~missing_key_error() noexcept override;
+ ~missing_key_error() override;
};
template<class T> inline
template<class T>
void bindFlag(T& value, const char* name, const char* description)
{
- using namespace std;
declareFlag<T>(name, description, value, [&value](T const& val) {
value = val;
});
bindFlag(T& value, const char* name, const char* description,
F callback)
{
- declareFlag(name, description, value, [&value,callback](const T& val) {
- if (!callback(val))
+ declareFlag(name, description, value, [&value, callback](const T& val) {
+ if (not callback(val))
throw std::range_error("invalid value");
value = std::move(val);
});
}
}
+XBT_PUBLIC(std::string) xbt_cfg_get_string(const char* name);
#endif