X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fsupport%2Flyxlib.h;h=287a707e49519750c745c7680e6e83b838d218a5;hb=faa87bf9f30b943397429a04254d96963bbf38bc;hp=7fd7616275abcf269a95a2e77f032d0c44660fdc;hpb=94a6d7ed67321eb95363230bed0fca990766123b;p=lyx.git diff --git a/src/support/lyxlib.h b/src/support/lyxlib.h index 7fd7616275..287a707e49 100644 --- a/src/support/lyxlib.h +++ b/src/support/lyxlib.h @@ -1,67 +1,40 @@ // -*- C++ -*- -/* This file is part of - * ====================================================== - * - * LyX, The Document Processor - * - * Copyright (C) 1995 Matthias Ettrich - * Copyright (C) 1995-1999 The LyX Team. +/** + * \file lyxlib.h + * This file is part of LyX, the document processor. + * Licence details can be found in the file COPYING. * - * ====================================================== */ + * A selection of useful system functions made + * handy for C++ usage. + * + * \author Lars Gullik Bjønnes + * + * Full author contact details are available in file CREDITS. + */ #ifndef LYX_LIB_H #define LYX_LIB_H -#include -#include +namespace lyx { +namespace support { -#include "LString.h" -#include "gettext.h" -#include "support/filetools.h" +/// FIXME: some point to this hmm ? +int kill(int pid, int sig); -/// generates an checksum -unsigned long lyxsum(char const * file); - -/// returns a date string -inline char * date() +/** + * Returns true if var is approximately equal to number with allowed error + * of 'error'. + * + * Usage: if (float_equal(var, number, 0.0001)) { } + * + * This will check if 'var' is approx. equal to 'number' with error of 1/1000 + */ +inline bool float_equal(double var, double number, double error) { - time_t tid; - if ((tid= time(0)) == (time_t)-1) - return (char*)0; - else - return (ctime(&tid)); + return (number - error <= var && var <= number + error); } +} // namespace support +} // namespace lyx -// Where can I put this? I found the occurence of the same code -// three/four times. Don't you think it better to use a macro definition -// (an inlined member of some class)? -/// -inline string getUserName() -{ - string userName(GetEnv("LOGNAME")); - if (userName.empty()) - userName = GetEnv("USER"); - if (userName.empty()) - userName = _("unknown"); - return userName; -} - -// This should have been a namespace -struct lyx { - static char * getcwd(char * buffer, size_t size) { -#ifndef __EMX__ - return ::getcwd(buffer, size); -#else - return ::_getcwd2(buffer, size); -#endif - }; - static int chdir(char const * name) { -#ifndef __EMX__ - return ::chdir(name); -#else - return ::_chdir2(name); -#endif - }; -}; -#endif +#endif /* LYX_LIB_H */