eckit::Main class

Derived classes

class Application
class Library
class Tool

Public static functions

static auto instance() -> Main&
static auto hostname() -> std::string
Platform agnostic hostname.
static void initialise(int argc, char** argv, const char* homeenv = nullptr)
static auto ready() -> bool

Public functions

auto argc() const -> int
auto argv() const -> char**
auto argv(int n) const -> std::string
auto home() const -> const std::string&
void terminate() virtual
auto taskID() const -> long
void taskID(long)
auto name() const -> const std::string& virtual
Name of the program as called from the command-line.
auto displayName() const -> const std::string& virtual
auto debug() const -> bool virtual
auto createInfoLogTarget() const -> LogTarget* virtual
Channel handling.
auto createWarningLogTarget() const -> LogTarget* virtual
auto createErrorLogTarget() const -> LogTarget* virtual
auto createDebugLogTarget() const -> LogTarget* virtual
auto createMetricsLogTarget() const -> LogTarget* virtual

Private functions

~Main() private virtual
auto createDefaultLogTarget() const -> LogTarget* virtual

Function documentation

static void eckit::Main::initialise(int argc, char** argv, const char* homeenv = nullptr)

Ensure that there exits a Main object. This is to be used For unit tests and fortran bindinds only

const std::string& eckit::Main::displayName() const virtual

Name to display in logs. Default is name(), but can be configured differently.