eckit::Tool class

Base classes

class Main

Derived classes

class atlas::AtlasTool
class EckitTool

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

Constructors, destructors, conversion operators

Tool(int argc, char** argv, const char* homeenv = nullptr)
~Tool() override

Public functions

auto start() -> int
void run() pure virtual
auto createWarningLogTarget() const -> LogTarget* override
auto createErrorLogTarget() const -> LogTarget* override
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 createDebugLogTarget() const -> LogTarget* virtual
auto createMetricsLogTarget() const -> LogTarget* virtual

Function documentation

static Main& eckit::Tool::instance()

static std::string eckit::Tool::hostname()

Platform agnostic hostname.

static void eckit::Tool::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

static bool eckit::Tool::ready()

int eckit::Tool::argc() const

char** eckit::Tool::argv() const

std::string eckit::Tool::argv(int n) const

const std::string& eckit::Tool::home() const

void eckit::Tool::terminate() virtual

long eckit::Tool::taskID() const

void eckit::Tool::taskID(long)

const std::string& eckit::Tool::name() const virtual

Name of the program as called from the command-line.

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

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

bool eckit::Tool::debug() const virtual

LogTarget* eckit::Tool::createInfoLogTarget() const virtual

Channel handling.

LogTarget* eckit::Tool::createDebugLogTarget() const virtual

LogTarget* eckit::Tool::createMetricsLogTarget() const virtual