TnFOX

The TnFOX portability toolkit is a fork of the FOX GUI toolkit with most of the added code implementing orthogonal features (i.e. not substantially changing the FOX API) such that applications developed for FOX can be easily recompiled for TnFOX.wikipedia
25 Related Articles

Operating system abstraction layer

operating systemOS abstraction layers
TnFOX is therefore an example of an operating system abstraction layer.

List of widget toolkits

List of widget toolkits based on JavaScriptalternativesGUI framework

Fox toolkit

FOXfox-toolkit
The TnFOX portability toolkit is a fork of the FOX GUI toolkit with most of the added code implementing orthogonal features (i.e. not substantially changing the FOX API) such that applications developed for FOX can be easily recompiled for TnFOX.

Microsoft Visual C++

Visual C++MSVCMicrosoft C
It only supports Microsoft's C++ compiler v7.1 and later, GCC v3.2 and later and Intel C++ compiler v8 or later.

GNU Compiler Collection

GCCGNU C Compilerg++
It only supports Microsoft's C++ compiler v7.1 and later, GCC v3.2 and later and Intel C++ compiler v8 or later.

Intel C++ Compiler

ICCIntel C++Intel
It only supports Microsoft's C++ compiler v7.1 and later, GCC v3.2 and later and Intel C++ compiler v8 or later.

Microsoft Windows

WindowsPCMS Windows
It also only runs on Windows 2000 or later, Linux 2.6 kernels or later, FreeBSD and Mac OS X 10.4 or later, though on any processor or architecture.

Linux

GNU/LinuxLinux on the desktopLin
It also only runs on Windows 2000 or later, Linux 2.6 kernels or later, FreeBSD and Mac OS X 10.4 or later, though on any processor or architecture.

FreeBSD

TrustedBSDFreeBSD kernel*BSD
It also only runs on Windows 2000 or later, Linux 2.6 kernels or later, FreeBSD and Mac OS X 10.4 or later, though on any processor or architecture.

MacOS

Mac OS XOS XMac
It also only runs on Windows 2000 or later, Linux 2.6 kernels or later, FreeBSD and Mac OS X 10.4 or later, though on any processor or architecture.

Python (programming language)

PythonPython programming languagePython 2
TnFOX contains its own automatically generated bindings for Python based on Boost.Python library - such were the complexity of these it required adding the -fvisibility feature to GCC v4 onwards.

Metaprogramming

metameta-programmingmetaprogram
One of the more original features of TnFOX is its heavy usage of C++ metaprogramming though this is entirely kept away from the GUI side of things (for FOX compatibility).

Boost (C++ libraries)

BoostBoost C++ LibrariesBoost library
A full lightweight metaprogramming toolkit is included which allows many of the operations provided by the Boost metaprogramming library, including typelists, type traits, compile-time logic, functors, virtual table compilation, horizontal type list instantiation and more.

Exception handling

exceptionexceptionserror handling
Another unusual feature is the use of pervasive exception handling and safety whereby any line is assumed to always potentially throw an exception.

Andrei Alexandrescu

TnFOX provides a C++ rollback mechanism (as originally proposed by Andrei Alexandrescu) to keep track of what operations need to be undone at any given stage should an error occur - rather like a SQL transaction.

SQL

Structured Query LanguageSQL databaseSQL Databases
TnFOX provides a C++ rollback mechanism (as originally proposed by Andrei Alexandrescu) to keep track of what operations need to be undone at any given stage should an error occur - rather like a SQL transaction.

Google Translate

GooglebelowGoogle translation
A quirky addition of the v0.88 release is to use Google Translations to convert its locale strings.

OpenSSL

OpenSSL exceptionOpenSSL LicenseBoringSSL
TnFOX optionally includes copies of the OpenSSL library and the SQLite library in order to implement its strong encryption and its default SQL database implementation respectively.

SQLite

SQLite3SQLite 3SQLite4
TnFOX optionally includes copies of the OpenSSL library and the SQLite library in order to implement its strong encryption and its default SQL database implementation respectively.

C++11

C++0xmove constructorconstexpr
TnFOX has already begun to add C++0x features for those compilers which support them - this being the next revision of the ISO C++ standard.

Qt (software)

QtQt frameworkQt toolkit
Unusually, TnFOX also contains API emulations of some Qt library classes - according to the author, this was done to port a substantial project from Qt to FOX.

C++

C++ programming languageC++98C with Classes

Cross-platform software

Cross-platformPlatform independentmulti-platform