Recursion Software Home
Site Map   
   800.727.8674   
+ Products
+ Related Links


+ Contact Us
To discuss how we can help you prepare for tomorrow's business challanges today, call us toll-free or send us an e-mail.
  •  800.727.8674
+ Company
C++ Toolkit™ Library Overview Download Eval  Download Eval
Recursion Software's C++ Toolkits are portable, reusable class libraries that support the development of multi-threaded applications. Fully tested and commercially hardened, the C++ Toolkits will save you time and effort, allowing you to focus on higher-level development objectives. Most kits include full source code.


Database Toolkit™ Print View Data Sheet & Code Sample   Download Eval  Download Eval

The C++ Database Toolkit is a full object-oriented, cross-platform C++ solution for programmatic access to a wide range of ODBC-compliant databases.
  • Reduces the need to have multiple ODBC drivers for different databases installed on the client machines.
  • Reduces software configuration complexity because you are only required to configure and maintain your ODBC drivers in one location at the server.
  • Easy to understand C++ API that abstracts away low-level complexity, allowing for fast project ramp-up.
  • Powerful built-in C++ streaming capabilities that allow client/server interaction across multiple platforms, without the need for any vendor specific code on the client side.
The C++ Database Toolkit is comprised of a client and server. The server makes use of the native operating system's ODBC environment to respond to the requests of various database clients. The client exposes APIs to database applications that are then portable to a wide variety of platforms.

STL Toolkit™ Download Eval  Download Eval

STL Toolkit is a portable, high-performance implementation of the most useful portions of the ANSI/ISO Standard C++ Library. The STL Toolkit offers the following:
  • Containers - Generalized classes used to hold collections of typed objects
  • Iterators - Generalized pointers used to traverse the elements of a container
  • Algorithms - Procedures that can be applied to all or part of a container
  • String - A complete implementation of the ANSI/ISO string specification
  • Exceptions - The ANSI/ISO standard exception hierarchy.

ETL Toolkit™ Download Eval  Download Eval

ETL Toolkit contains a unique set of collections packaged to enhance the STL. It includes Sorted Vector, Dynamic Array, Hash Table, Heap as well as List, Stack, Queue, and Set structures.
  • Sorted Vector – A dynamic array that automatically sorts itself so access is done via fast binary search with lowest access time
  • Dynamic Array – Allows writing numeric array operations without loops via operator overloading, simplifying coding by reducing code size
  • Hash Table – A complete hash table which comes with its own iterator
  • Heap – Fast, full-featured implementation of the priority queue abstract data structure which utilizes dynamic arrays
  • List, Stack, Queue, Set – These structures are implemented using a singly-linked circular list, which provides a constant time for insert/ removal operations at both ends of the list.

Foundations Toolkit™ Print View Data Sheet & Code Sample   Download Eval  Download Eval

The Foundations Toolkit consists of three class libraries: Thread, Helper, and Time. You can install and use any combination of these three libraries independent from one another provided you have some version of the ANSI/ISO C++ Standard Library.
  • Thread Library - A C++ class library for writing portable, multithreaded applications. Supports advanced synchronization concepts, including critical sections, semaphores, barriers, monitors, and automatic change-notifying sentinels.
  • Helper Library - Non-intrusive generic extensions to the Standard C++ Library, including generic regular expression algorithms, STL helper functions, and substring support.
  • Time Library - A set of 64-bit time and date classes that support dates up to A.D. 32,766 and model time, date, time period, time zone and stopwatch.

Communications Toolkit™ Print View  Data Sheet & Code Sample   Download Eval  Download Eval

  • Streaming Library - A high-performance implementation of the Universal Streaming Service, non-intrusive solution for persisting objects across heterogeneous networks s
  • Network Library - A complete set of object-oriented classes for TCP/IP-based socket programming. Also includes portable interfaces for network information services and I/O multiplexing
  • Pipe Library - A portable interface for pipe communication, a popular protocol on Microsoft Windows-based operating systems
  • File Library - The most complete class library for platform-independent manipulation of files, paths, directories, and record locks
  • Security Library - A set of object-oriented classes for manipulating users and groups
  • IO Library - A collection of common I/O facilities enabling you to write your own I/O adapters, common interface for sockets, pipes, files and IO Steams
  • Framework Library - A collection of common design pattern implementations that are used as the framework for which to build robust, scalable applications
  • UNIX Library – C++ encapsulations of UNIX processes, resources, signals, timers, System V IPC, pipes and other classes. Provides a clean, consistent C++ interface to UNIX system calls.

Web Toolkit™ Print View Data Sheet & Code Sample   Download Eval  Download Eval

The Web Toolkit is an ANSI/ISO-compatible C++ library that contains classes for dynamically building HTML (Hypertext Markup Language) Web pages. Using the Web Toolkit, you can write Web page logic and structure using C++ objects and existing C++ interfaces without learning HTML. If you do not use a tool like the Web Toolkit when creating an application that builds Web pages, you must manually insert HTML into your code. This is not only cumbersome and error-prone, but requires that you learn HTML syntax.

The Web Toolkit provides the following important benefits:
  • Write CGI programs in C++ while reusing existing C++ libraries and interfaces. Eliminates the need to wrap existing interfaces to implement CGI programs in a scripting language.
  • Use familiar object-oriented techniques, such as encapsulation, to manage large and complex CGI programs. This feature reduces the cost of extending and modifying CGI programs.
  • Provides helpful diagnostic output to troubleshoot invalid Web page composition.
  • Utilizes the ANSI/ISO Standard Template Library (STL) and string class. This compatibility positions code for portability and reduced long-term maintenance.

Math Toolkit™ Print View Data Sheet & Code Sample   Download Eval  Download Eval

The Math Toolkit is a C++ class library for writing portable, computing intensive applications. These advanced C++ objects allow you to build scientific-computing applications while focusing on your domain rather than the efficiency of the mathematical operations. If performance is your goal, the Math Toolkit is your solution.

Our Math Toolkit classes are:
  • Complex number - Representation of the real value and imaginary value of a complex number.
  • Numeric vector - Class providing the capability to represent and manipulate numerical vectors. Operations supported include addition, subtraction, multiplication, division, indexing and others.
  • Numeric matrix - Class providing the capability to represent and manipulate numerical matrices.
  • Operations supported include addition, subtraction, multiplication, division, indexing and others.
  • Numeric array - Class providing the capability to represent and manipulate numerical arrays. Operations supported include addition, subtraction, multiplication, division, indexing and others.
  • LU factorization - Compute the lower and upper triangular matrix for a given matrix.
  • Fast Fourier Transforms - Mechanisms for computing Discrete Fourier Transform.
  • Random number generators - Mechanisms for computing random number based on various probability distributions.
  • Least squares approximation - Compute the best-fit curve for a set of data.
  • Histogram - Class providing the capability to represent and manipulate data in histograms.

C++ Toolkit™ Technical Docs
Download Eval  Download Eval

C++ Toolkit User Guide Print View  Download Guide  Download Eval  Download Eval

The C++ Toolkit user guide is designed for advanced programmers and beginners alike by providing concise summary of classes, coding examples and screenshots, and a best-practices guide to object oriented programming. Additional support can be found though our Service and Support page.

Features & Benefits Matrix

Print View  Download Matrix

Compatibility Matrix

C++ Database Toolkits Releases
3.0 3.0.1 3.0.2 3.1.0 4.0
5.0 (current)
Solaris 9 & 10 Server X
Client X
RedHat LINUX Server X
Client X
Windows 2000/XP/2003 Server X
Client X
All Other C++ Toolkits Releases
CCS OS Support CCS Compiler Support Compiler Installed 3.0 3.0.1 3.0.2 3.1.0 4.0
5.0 (current)
AIX 4.3 xlC 3.6.6 X X X X      
VisualAge C++ 5.0 X X X X X X X
g++ 3.3.1 X X X X X X X
AIX 5L VisualAge xlC 6.0 X X X X X X X
g++ 3.3.1 X X X X X X X
AIX 5.3 VisualAge xlC 7.0 X           X
g++ 3.3.1 X           X
AIX 5.2 VisualAge C++ 6.0 X X X X
g++ 3.3.1 X X X X
Tru64 5.1 C++ 6.3 X X X X X X X
C++ 6.5 X X X X X X X
g++ 3.3.1 X X X X X X X
HP-UX 10.20 aCC 01.12   X          
aCC 01.27 X   X X X X X
g++ 3.3.1 X X X X X X X
HP-UX 11.00 aCC 03.31 X  X X X X X X
g++ 3.3.1 X X X X X X X
HP-UX 11i aCC 03.33 X X X X X X X
g++ 3.3.1 X X X X X X X
Irix 6.5 CC 7.3 64-bit X X X X X X X
Red Hat 7.0
x86
g++ 2.96 X X X X X X X
g++ 3.3.1 X X X X X X X
RedHat 9.0
x86
g++ 3.3.1 X X X X X X X
RedHat WS 3.0
IA64
g++ 3.3.1 X         X X
RedHat WS 3.0
AMD64Opteron

g++ 3.3.1

X

X

X

Solaris 2.7 CC 5.0 X X X X X X X
CC 5.1   0 0 0 0 0 0
CC 5.2   0 0 0 0 0 0
g++ 3.3.1 X X X X X X X
Solaris 2.8 CC 5.0   0 0 0 0 0 0
CC 5.1   0 0 0 0 0 0
CC 5.2   0 0 0 0 0 0
CC 5.3   X X X 0 0 0
CC 5.4 X 0 0 0 X X X
g++ 3.3.1 X X X X X X X
Solaris 2.9 CC 5.0   0 0 0 0 0 0
CC 5.1   0 0 0 0 0 0
CC 5.2   0 0 0 0 0 0
CC 5.3   0 0 0 0 0 0
CC 5.4   0 0 0 0 0 0
CC 5.5 X 0 0 0 X X X
g++ 3.3.1 X 0 0 0 X X X
Solaris 10 CC 5.7 X X
g++ 3.3.2 X X
SLES 9 g++ 3.3.2 X X
SLES 9 x86
64 bit
g++ 3.3.2 X
SUSE/LINUX 9.2 g++ 3.3.2 X X
Mac OS X g++ 3.3.1 X   X X X X X
VxWorks 5.5 Diab 5.0 C/C++ X            
g++ 2.96 X X1 X1 X1 X1 X1 X1
Windows
64 bit
Visual Studio 2005 X
Windows 2000/XP/2003 Visual C++ 6.0 X X X X X X X3
Visual C++ .NET 2003 X X X X X X X
Visual Studio 2005 X
Pocket PC eMbedded Visual C++ 3.0 X     X2 X2 X2 X2
eMbedded Visual C++ 4.0 X            
X - Supported

0 - Not supported, but known to work

1 - Supports Standards, Foundation, Web

2 - Supports Standards

3 - Microsoft has ended support for Visual C++ 6.0.  Some toolkit functionality is not provided.

NOTE: Even though a particular version of the OS/compiler is not supported, there is the possibility that it will work.

C++ Toolkit™ Bundles Download Eval  Download Eval

Enterprise Toolkit Package
Contains all of our libraries (Database, STL, ETL, Foundations, Communications, Web and Math). No charge for run-times. Source code is provided (except for Database Toolkit).
C++ Database Toolkit Package
Contains our Database Toolkit for servers and clients. Binary version only.
C++ Systems Toolkit Package
Contains our Standards Template Library (STL), Extended Template Library (ETL), Math, Web, Foundations and Communications Toolkits - everything you need to save you time and money today. No charge for run-times. Source code is provided.
C++ Template Toolkit Package
Contains our STL and ETL Toolkits. Even if you already have an STL you should consider this Toolkit. Our ETL Toolkit contains functions not found in other Toolkits today. No charge for run-times. Source code is provided.

Bundled Toolkit Matrix
  Pricing Packages
Individual Toolkits Libraries C++ Database Toolkit C++ Template Toolkit C++ Systems Toolkit C++ Enterprise Toolkit
Database Toolkit Database Client X     X
  Database Server X     X
STL Toolkit Containers   X X X
  Iterators   X X X
  Algorithms   X X X
  String   X X X
  Exceptions   X X X
ETL Toolkit Sorted Vector   X X X
  Dynamic Array   X X X
  Hash Table   X X X
  Heap   X X X
  List   X X X
  Stack   X X X
  Queue   X X X
  Set   X X X
Foundations Toolkit Helper     X X
  Time     X X
  Thread     X X
Communications Toolkit File     X X
  Framework     X X
  IO     X X
  Pipe     X X
  Network     X X
  Security     X X
  Streaming     X X
  UNIX     X X
Web Toolkit C++ Web Page Development        
 
- Create text, hyperlinks, images
    X X
 
- Create text
    X X
 
- Create text, hyperlinks, images
    X X
  - Create tables     X X
  - Create frames     X X
 
- Locate and modify elements
    X X
 
- Use constraints
    X X
  -Add applets     X X
Math Toolkit Complex Numbers     X X
  Numeric Matrix     X X
  LU Factorization     X X
  Random Number Generator     X X
  Histogram     X X
  Numeric Vector     X X
  Numeric Array     X X
  Fast Fourier Transforms     X X
  Least Squares Approximation     X X
Price: Requires quote based on configuration. Visit our download page for an free eval of the entire C++ Toolkit or to purchase, contact our Sales department.
Advantages to Using C++ Toolkit™ Download Eval  Download Eval


  • Reduce Development Effort-  developers can focus on solving business problems.
  • Strategic Reuse- Applications run on multiple operating systems, with minimal or no code changes.
  • Thread Safety- Thread-safe use without requiring the high overhead of internal resources synchronization.
  • Portability- Consistent and intuitive API across supported platforms.
  • Extensibility-  Easily extend our libraries with minimal coupling.
  • Performance- Achieve optimal performance in your multi-threaded, high-throughput applications.
  • IDE Support- Integrates smoothly with common interactive development environments (IDEs) such as Eclipse.
  • Static and Dynamic Use-Functions in both static and dynamic modes.

Customer Accolades

“C++ Systems ToolKit deserves consideration as an essential element in every serious C++ programmer's library. The sockets (and pipes, in the UNIX version) components provide the key to inter-process communication (IPC) services essential to a distributed application.-- Mike Vilot, Former ANSI Chairman

“Using C++ Systems ToolKit from [Recursion Software] has reduced our code development time by more than half.-- Robert Winter, Motorola Advanced Messaging Systems Division
“Tumbleweed has gained great productivity using the C++ Systems Toolkit. It provided the right level of abstraction of the operating system and enabled us to quickly and confidently port one of our products to multiple platforms.-- Emmanuel R. Saint-Loubert, SVP of Engineering at Tumbleweed Communications Corp.
 News & Events
 Recursion Software Expands Developer Toolkit to HP Integrity Servers
 RSI Launches Voyager Edge 6.2 with IPv6 Support
 BreakThruIT to use Voyager for Location-Based MoSoSo
 Recursion Extends Mobility & .NET Compatibility to JBoss
 Visit News Room

Home | Sitemap | Feedback | Copyright/ IP Policy © 2006 Recursion Software, Inc.