... other Synesis site links:  [ STLSoft ] [ Open-RJ ] [ Pantheios ] [ recls ] [ shwild ]
Articles - Article Errata - Books - Shell Extensions - Software Libraries - System Tools
Source Code
Binaries

 

 

 

 

 

 

 


Products -> Library

This section of the company's product area provides access to the Synesis Software Public Domain Source Code Library, and the latest versions of the Synesis Software base libraries.


Public-domain Source Code Library

The Synesis Software Public-domain Source Code Library is the software foundation upon which higher-level libraries are built. Our binary components and products, along with those of a number of client systems make use of this extensive base library.

The source code in the library performs the following core functionalities:

Platform discrimination:

Operating system, architecture and compiler discrimination, language (C & C++) feature support and character encoding (ANSI or UNICODE) are provided by the base headers files (MLBase.h, MLCpp.h and associated files).

Currently supported are: (operating systems) Windows, UNIX and VMS; (architectures) Intel x86, Alpha, Sparc, HP and Power PC; (compilers) Microsoft VC, Dec C, Dec C++, Gnu and Borland.

Platform-independent constants and limits.

Amongst a host of other consistently defined constants are minimum and maximum values for various integral types, maximum path lengths, path separators, and type sizes.

Internationalisation-ready, character-encoding scheme- and platform-independent C library string and file manipulation functions.

Provides independence from compiler and C runtime implementations, and copes with ANSI and/or Unicode compilations. A number of functions over and above those found in the ISO/ANSI C-runtime libraries, e.g. StrNAlloc (a function to calculate the size - in bytes - of a string up to a certain length), SafeStrCmp (a string comparison function that can handle NULL pointers), and many more.

Platform-independent synchronisation and thread-safe integral operation functions and classes.

Functions for atomic increments/decrements of integers; critical section classes for managing access to resources; scoping classes for providing automatic locking and unlocking of synchronised objects within execution scopes; ...

STL-compatible utility classes and algorithms.

char_traits, mem_traits, and a variety of algorithms for enhancing the standard library.

Platform-independent and platform-specific, C-compatible, interface-based memory allocator classes and adaptors.

The Synesis Software allocators are based around the SynesisStd::IAllocator interface, and a number of implementating classes are defined which wrap common memory allocation interfacesl, including the C-runtime (malloc, realloc, free), the Windows Global (GlobalAlloc, GlobalReAlloc, GlobalFree) and the COM task allocator (IMalloc / CoTaskMemAlloc, CoTaskMemRealloc, CoTaskMemFree). Adapter classes are provided to map between SynesisStd::IAllocator and STL's allocator.

Platform-independent interfaces for reference-counting, synchronisation, exceptions and strings.

Downloads

Available here are the downloaded archives of the source-code library releases. In the table below are listed the release label (a name used to uniquely identify the release), the date of release, the release notes (a html file available on this site, but which is also included in the archive) and the release archive (a zip file containing all the library source files, and the release notes).

Previous releases will remain available for existing client support and reference.

Release Label

Release Date

Release Notes (contained in zip)

Release File

SSPDSCL20010418

18th April 2001

sspdscl20010418.htm

sspdscl20010418.zip

SSPDSCL20010103

3rd January 2001

sspdscl20010103.htm

sspdscl20010103.zip

SSPDSCL20001217

17th December 2000

sspdscl20001217.htm

sspdscl20001217.zip

SSPDSCL20001120

20th November 2000

sspdscl20001120.htm

sspdscl20001120.zip

SSPDSCL20001030

30th October 2000

sspdscl20001030.htm

sspdscl20001030.zip

SSPDSCL20001022

22nd October 2000

sspdscl20001022.htm

sspdscl20001022.zip

SSPDSCL20001013

13th October 2000

sspdscl20001013.htm

sspdscl20001013.zip

SSPDSCL20001007

7th October 2000

sspdscl20001007.htm

sspdscl20001007.zip

SSPDSCL20001002

2nd October 2000

sspdscl20001002.htm

sspdscl20001002.zip

SSPDSCL20000926

26th September 2000

sspdscl20000926.htm

sspdscl20000926.zip


Base Library Binaries

[This section of the site is not yet complete, but will be so shortly. Please call back soon.]

 

 
Synesis Software Pty Ltd (Australia). ACN 087 421 798
Web-site design by  Red 5