You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

64 lines
2.4 KiB

#pragma once
#include "storm-config.h"
#include "storm/settings/modules/ModuleSettings.h"
namespace storm {
namespace settings {
namespace modules {
/*!
* This class represents the resource settings.
*/
class ResourceSettings : public ModuleSettings {
public:
/*!
* Creates a new set of general settings.
*/
ResourceSettings();
/*!
* Retrieves whether time and memory consumption shall be printed at the end of a run.
*
* @return True iff the option was set.
*/
bool isPrintTimeAndMemorySet() const;
/*!
* Retrieves whether the timeout option was set.
*
* @return True if the timeout option was set.
*/
bool isTimeoutSet() const;
/*!
* Retrieves the time after which the computation has to be aborted in case the timeout option was set.
*
* @return The number of seconds after which to timeout.
*/
uint_fast64_t getTimeoutInSeconds() const;
/*!
* Retrieves the waiting time of the program after a signal.
* If a signal to abort is handled, the program should terminate.
* However, it waits the given number of seconds before it is killed to allow for printing preliminary results.
*
* @return The number of seconds after which to exit the program.
*/
uint_fast64_t getSignalWaitingTimeInSeconds() const;
// The name of the module.
static const std::string moduleName;
private:
// Define the string names of the options as constants.
static const std::string timeoutOptionName;
static const std::string timeoutOptionShortName;
static const std::string printTimeAndMemoryOptionName;
static const std::string printTimeAndMemoryOptionShortName;
static const std::string signalWaitingTimeOptionName;
};
}
}
}