eckit::Library class

Base classes

class Main

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

Library(int argc, char** argv, const char* homeenv = nullptr)
Contructors.
~Library() override
Destructor.

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

auto createChannel() const -> Channel* virtual

Function documentation

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

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

Platform agnostic hostname.

static void eckit::Library::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::Library::ready()

int eckit::Library::argc() const

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

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

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

void eckit::Library::terminate() virtual

long eckit::Library::taskID() const

void eckit::Library::taskID(long)

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

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

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

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

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

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

Channel handling.

LogTarget* eckit::Library::createWarningLogTarget() const virtual

LogTarget* eckit::Library::createErrorLogTarget() const virtual

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

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