Menu

Tree [a2d0e5] master UI_UTILCPP_1_10_4 /
 History

HTTPS access


File Date Author Commit
 doc 2008-01-04 srken srken [093699] cvs->svn: Remove obsolete cvsignore files.
 src 2024-08-14 Stephan Sürken Stephan Sürken [db791d] UnitTests.cpp: Drop (comment) ACCUTE_ACCENT tes...
 .gitattributes 2014-07-30 Stephan Sürken Stephan Sürken [347234] .gitattributes: Add hint that --global also wor...
 .gitignore 2023-09-07 Stephan Sürken Stephan Sürken [fe6ea8] UnitTests.cpp: Add "bigger random data" b64 tes...
 .ui-auto.conf 2023-09-07 Stephan Sürken Stephan Sürken [67f20d] .ui-auto.conf: Automated build: Add builds for ...
 AUTHORS 2008-01-08 srken srken [83a04c] * README/AUTHORS updates:
 COPYING 2014-07-01 Stephan Sürken Stephan Sürken [0246ad] Switch license to LGPLv3, and update README.
 ChangeLog 2024-08-14 Stephan Sürken Stephan Sürken [a2d0e5] [ui-auto-release run]: ChangeLog updated from v...
 Doxyfile.in 2023-09-07 Stephan Sürken Stephan Sürken [a28c36] Doxyfile.in: Update to doxygen version 1.9.8
 Makefile.am 2014-07-02 Stephan Sürken Stephan Sürken [e86b46] Makefile.am: Add '.gitignore' to dist
 NEWS 2024-08-14 Stephan Sürken Stephan Sürken [1e1066] [ui-auto-release run]: News for 1.10.4.
 README 2014-08-01 Stephan Sürken Stephan Sürken [48cc11] README: Add note about LFS.
 configure.ac 2024-08-14 Stephan Sürken Stephan Sürken [44e227] configure.ac: Prepare 1.10.4

Read Me

README for ui-utilcpp
=====================

Abstract
--------

A toolbox-like C++ library, with a diverse set of utilities:

* Exception: Generic Exception classes and THROW macros.
* Sys: C++ "exception" wrappers for a wide range of system C functions.
* Cap: Capabilities C++ wrapper.
* CharsetMagic: Charset guessing.
* Recoder: Charset recoding.
* Time: Misc date and time utilities.
* File: Misc file utilities.
* Text: Misc string utilities.
* http/: Minimal HTTP implementiation.
* PosixRegex: Simple wrapper for C 'regexec'.
* QuotaInfo: Wrapper to fs quota information.
* SMLog[Mono]: Syslog Macro Log.
* Socket: Simple Socket abstraction (inet+unix).
* Thread: Process based pseudo thread abstraction.
* CmdLine: Create CLI-like programs.
* GetOpt: Abstraction of GNU C getopt_long(3).

Copyright (c) 2001-2014 United Internet AG, under LGPLv3.


LFS support since 1.8.3
-----------------------

Since 1.8.3, ui-utilcpp is compiled with large file system
support. This is potentially harmful if you are mixing
ui-utilcpp (especially the wrappers in namespace Sys) C call
wrappers with your own C code.

To be on the safe side, also compile your project with LFS
support. For autotools, it's as simple as adding::

	AC_SYS_LARGEFILE

to your configure.ac. You should also check that your are
actually using 1.8.3 or better; with m4-macros from "ui-auto",
this looks like::

	UI_CHECK(ui_utilcpp, ui-utilcpp, 1, 8, 3, 9, 0, 0)

(You can craft your own check w/o ui-auto using the
'ui-utilcpp-version' script).


Upgrading from 1.0
------------------

-> Includes:

Old                         New

ToolboxSys                  Some of File, Thread, Time, Text.
ToolboxCPP                  Some of Text, Time, File.
ToolboxSTL                  Some of Text, Time, File, Misc.

-> Interface changes:

strtok: Separator must be changed from char ('.') to std::string
(",").

-> Exceptions:

All catch() blocks must be updated. In the simplest case, the old
exception handler can be replaced by

catch (UI::Util::Exception const & e)
{
	std::cerr << e.what() << std::endl; // or whatever
}

For diversed error handling, use the respective exception classes if
needed.
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.