Download List

Project Description

CrissCross is a small cross-platform C++ library for console and file I/O, CPU identification (CPUID), hashing (MD2, MD4, MD5, SHA-1, SHA-256, SHA-512, Tiger), sockets (TCP and UDP only currently), and data structures (LList, DArray, RedBlackTree, AVLTree, SplayTree, etc). It is designed to run on Windows, Linux, FreeBSD, OpenBSD, NetBSD, Mac OS X, and even the Nintendo DS. Other platforms may become supported upon request. The main idea is to provide the ability to write a program using identical calls on the major platforms without needing to rewrite code.

System Requirements

System requirement is not defined
Information regarding Project Releases and Project Resources. Note that the information here is a quote from Freecode.com page, and the downloads themselves may not be hosted on OSDN.

2007-08-02 17:07
0.6.5

CrissCross::Data::Compare now can compare C-style
strings. An x64 target was added for Visual Studio
2005 projects. The crisscross/crisscross.h file
was added, which basically includes every common
CrissCross header. RedBlackTree now works with
char* string keys. The DStack::peek() function was
added. XCrashReports support was added for release
builds. A few more cache descriptors were added to
CPUID (Core 2 related ones). FastestSort and
MemoryEfficientSort aliases were added by request.
Tags: Major feature enhancements

2007-05-16 13:32
0.6.0

The CrissCross test suite was added, which tests a
majority of the features. QuickSort and CombSort
were added. A Visual C++ 2003 project was added.
An XCode project was added. New CoreIOReader
ReadLine was added. Flush was added in
CoreIOWriter::Write, since some platforms wouldn't
display written data until a newline. Winsock 2.2
is now used in Windows builds. Various UDPSocket
functions no longer return false errors.
CrissCross::Data::Compare is now a template
function. A dangerous flaw in the Stopwatch class
causing a crash and a bad compile was corrected.
Tags: Major feature enhancements

2006-11-14 10:54
0.5.2

CoreIO was split into CoreIOReader and CoreIOWriter. CoreConsole now accepts input. CoreIOReader and CoreIOWriter check if the file is open before attempting read or write operations. Makefiles were improved and Visual C++ 6 project files were added. Data structures were moved to the main include directory. Including CrissCross files with #include <crisscross/foo> now works properly. CPUID now detects SSSE3 (Supplemental SSE3 instructions) and CMP (Core Multi Processing, a.k.a. dual core). Sockets were heavily edited and the TCPSocket::Accept() syntax was changed.
Tags: Major feature enhancements

2006-11-04 01:20
0.5.1

Makefiles have been fixed to work on any previously non-working platforms (OS X, mainly). CPUID is disabled on *BSD. Since BSD lacks affinity control, CPUID doesn't work properly.
Tags: Minor bugfixes

2006-11-03 11:22
0.5.0

Much of the existing code was disorganized, and so
was recategorized into other namespaces.
Documentation is fairly complete now. Functions in
CoreConsole that previously did nothing on
non-Windows platforms now do what they should.
UTF-8 support was partially implemented and is
untested.
Tags: Initial freshmeat announcement

Project Resources