X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fsupport%2Flyxlib.h;h=23894ee2ebea1d47d077ca3344ada70edd32e89f;hb=8d640dc77608bedddb5b00982c23665584f52d21;hp=4e6cf32322c2b5c43ffa403bc001655b59e1ccde;hpb=2e34b2876af1e1716b884f30ee080da96054373c;p=lyx.git diff --git a/src/support/lyxlib.h b/src/support/lyxlib.h index 4e6cf32322..23894ee2eb 100644 --- a/src/support/lyxlib.h +++ b/src/support/lyxlib.h @@ -7,7 +7,7 @@ * A selection of useful system functions made * handy for C++ usage. * - * \author Lars Gullik Bjønnes + * \author Lars Gullik Bjønnes * * Full author contact details are available in file CREDITS. */ @@ -15,41 +15,25 @@ #ifndef LYX_LIB_H #define LYX_LIB_H -#include "support/FileName.h" - -#include +// always include (also with MSVC), to avoid compiler specific side effects +#include +#ifdef _MSC_VER +/// Replacement for C99 round() +inline double round(double x) +{ + if (x < 0) + return ceil(x - 0.5); + else + return floor(x + 0.5); +} +#endif namespace lyx { namespace support { -/// get the current working directory -FileName const getcwd(); - -/** - * rename a file, returns false if it fails. - * It can handle renames across partitions. - */ -bool rename(FileName const & from, FileName const & to); -/// copy a file, returns false it it fails -bool copy(FileName const & from, FileName const & to, - unsigned long int mode = (unsigned long int)-1); /// FIXME: some point to this hmm ? int kill(int pid, int sig); -/// FIXME: same here -void abort(); -/// create the given directory with the given mode -/// \ret return 0 if the directory is successfully created -int mkdir(FileName const & pathname, unsigned long int mode); -/// create the given directory with the given mode, create all -/// intermediate directories if necessary -/// \ret return 0 if the directory is successfully created -int makedir(char * pathname, unsigned long int mode=0755); -/// (securely) create a temporary file in the given dir with the given mask -/// \p mask must be in filesystem encoding -FileName const tempName(FileName const & dir = FileName(), - std::string const & mask = std::string()); - /** * Returns true if var is approximately equal to number with allowed error @@ -64,6 +48,12 @@ inline bool float_equal(double var, double number, double error) return (number - error <= var && var <= number + error); } +/// round \p x to nearest integer +inline int iround(double x) +{ + return static_cast(round(x)); +} + } // namespace support } // namespace lyx