Contents
Introduction About STLport SGI STL Base STLport Story STLport Features Portability Debug Mode Thread Safety Exception Safety Getting Started Download and Install Select Streams Mode Compiling with STLport White Papers Release Notes READMEs Interface with std:: Wrappers Config manual Regression Test Exception Test Feedback Bug Reports Forum Appendix Acknowledgements Your Free Licence
| # STLport Portofolio - Real World Projects Many people still won't consider using STL in industrial projects. The reason is often that the code could may turn out to be nonportable, while it must also be compiled with some legacy compiler X on platform Y . With STLport, you can use single tested STL codebase in a multiplatform project. Below is very incomplete list of software projects using STLport (thanks to all contributors who have submitted the information). Coming soon : Add Your Project Organization: Moscow Center for SPARC Technology ### Project : CPU Architecture Simulation Description : Scalable set of compatible VLIW ISA CPU simulators varying in speed/accuracy. Team of 6, extensive use of STL utilities and concepts. Platforms/compilers used: Solaris 2.x/SunPro CC 4.2, to be ported to Windows NT/VC++. ### Organization: Mark of the Unicorn, Inc. ### Product : "Composer's Mosaic" Description : State-of-the-art music desktop publishing software for the Macintosh. Provides a WYSIWYG environment in which you can produce publication-quality music notation, from lead sheets to full orchestra scores. Includes real-time MIDI playback and recording, using the transcription engine that Keyboard magazine called "The best we've ever seen". Also supports convenient step-record and mouse and keyboard note entry. Supports standard MIDI file format. Unlimited voices, staves, and voices per staff. Unlimited Undo/Redo. Platforms/compilers used: Mac/CodeWarrior Pro 1 Availability : demo version coming in a few weeks. Organization: Mark of the Unicorn, Inc. ### Product : "FreeStyle" Description : Trackless MIDI sequencing and notation program for songwriters and arrangers, combining simplicity and ease-of-use with sophisticated features that allow users to work in musically intuitive ways. Platforms/compilers used: Mac/CodeWarrior Pro 1 , Windows/Borland C++ Availability : demo version coming in a few weeks. Organization: University of Southern California ### Project : Face Recognition Description : Face recognition system called FLAVOR(formerly called Eidos), which uses an elastic graph matching algorithm. Platforms/compilers used: IRIX 6.2 on SGI Power Challenge XL/SGI MipsPro C++ v. 7.1, Wintel port coming. Organization: University of California at Los Angeles , Computer Science Department VLSI CAD Laboratory - ABKGroup ### Project : VLSI placement/routing Description : Extensively use most aspects of STL in algorithm research for placement and routing of VLSI circuits. Developers at site: 5. Working code using STL: exceeds 20,000 lines. Platforms/compilers used: SunPro CC4.2 (Solaris) and MSVC++ 5.0 (Windows NT/'95) Contact email: <abk@cs.ucla.edu> <imarkov@cs.ucla.edu> Organization:Askesis B.V ### Product : "ICAS" Description : A client/server patient database management system for the intensive care departement in the hospital of the University of Nijmegen in the Netherlands. Includes a TCP/IP Winsocket, an ODBC class library and a code generator for creating the database code based on the ODBC class library. Uses the container classes heavily. Platforms/compilers used: IBM Visual Age C++ for Windows, DB/2 for Windows NT, Windows NT/Windows 95 and Windows 3.11. Availability : The TCP/IP and ODBC database libary with the code generator will be released in under GNU Library Genereral Public Licence within a few weeks. Organization: Entegrity Solutions Inc ### Product : "Security Development Platform" Description : A comprehensive framework/library for developping secure applications. Includes symmetric and assymetric cryptography and complete public key infrastructure (CA) functionality. Extensive use of STL throughout the project. Platforms/compilers used: Solaris 2.5 with SunCC 4.2 using STL adaption + extra basic_string. Windows NT4 with MS Visual C++ 5.0 using MS STL implementation. Compatibility between MS STL and STL adaption is good when limiting usage to common classes. Availability : Beta release (NT only) due end of September. Organization: Case Western Reserve University School of Medicine, Department of Molecular and Genetic Epidemiology, S.A.G.E. Group ### Product : "S.A.G.E. (Statistical Analysis for Genetic Epidemiology)" Description : For detailed package information, see http://darwin.cwru.edu. Use of the STL : in upcoming 4.0 release, ~50k+ lines of code relies heavily on the standard library containers and to a lesser degree on the standard algorithms. Code also compiles with Kuck & Associate's modified Moderna STL and DeltaLogic's XTL. Platforms/compilers used: Alpha Digital Unix 4.0/g++ 2.7.2.1, Digital C++ 5.5 ; Sparc Solaris 2.5/g++ 2.7.2.1, SunPro C++; i386 Linux 2.x/g++ 2.7.2.1 Availability : check S.A.G.E homepage. Contact e-mail: jacobs@darwin.cwru.edu Organization: Formatek Inc. ### Product : "Softmap" Description : SoftMap is a GIS software bundled to a set of standard maps (topographic maps, city maps, thematic maps) on CD-ROM to which complementary georeferenced data can be added: topologically structured nodes, vectors, polygons, icons and texts. As SoftMap is a multimedia software, it is possible to link to the above graphic elements attributes, images, external files, data base records etc. Platforms/compilers used: Windows/Borland C++ Availability : check http://www.naturinfo.com. Contact e-mail: info@formatek.com Organization: Interactive Network Technologies, Inc (INT) ### Product : "Carnac", Graphics Toolkit Description : Carnac is a multi-platform high-performance graphics toolkit written in C++ targeted at handling of huge volumes of graphics information: maps, geoscience, satellite images and so on. Carnac includes database components (spatial-organized geometry, visual attributes), view management, data management, distributed components and platform-specific drivers.. Platforms/compilers used: Microsoft Windows NT, Sun Solaris, SGI IRIX and IBM AIX. Other platforms may be added. Availability: check the Carnac Web Page. Comments from Carnac developers: To handle this diversity and to keep our code-base reasonably small and manageable we use internally a lot of new features of upcoming ANSI C++ standard: templates, exception handling, standard library based on STL. The biggest problem of our multi-platform project was a diversity of C++ compilers. They have a variety of different bugs and "features", and somewhat incompatible interpretations of templates. Some of them didn't support HP STL we started with. HP STL had a limited set of containers (notably it lacks hash-based containers). ObjectSpace STL was modeled after HP STL and had the same problems. We decided to go with SGI STL as most comprehensive STL implementation available. While it worked fine on Windows NT and SGI, we had troubles with other platforms. Adaptation of SGI STL (STLport) really improved this situation. We use original SGI STL 2.03 on Windows NT and SGI IRIX and SGI STL port 2.03 on Sun Solaris and IBM AIX. Both libraries work out-of-box on these platforms. I should add that STLport has very important features --- it incorporates a debug mode, which is crucial for big projects, thread-safety and exception safety. SGI STL and STLport are free, easy-to-use, up-to-date and evolving, close to ANSI C++ draft standard and THEY WORK ON EXISTING COMPILERS!!! That's why we chose SGI STL for our project. Eugene Lazutkin, Senior Software Analyst Interactive Network Technologies, Inc. Organization: Claris Corporation ### Project : ClarisWorks New Code Base Description : ClarisWorks is a productivity package that includes word-processing, drawing, spreadsheet, and paint capabilities all integrated in one package. It is currently available on MacOS as well as Windows 95/NT. MacWeek rates us 4.5 diamonds (out of five). PCWeek says we are all the Office you need. Platforms/compilers used: MacOS/CodeWarrior Pro 2 Win32/Visual C++ 5.0 sp2 WinCE/Visual C++ 5.0 sp2 Availability : You can buy ClarisWorks 5.0 currently, although it is not written using STLport, you can get a look at what we are working on. Organization: University of Paderborn, Germany ### Project : PadFEM Description : PadFEM is a project of the University of Paderborn, Germany, dealing with parallel adaptive finite element simulations. Platforms/compilers used: g++ compiler (2.7.2 and 2.8.0) on Sun workstations (Solaris) and massive parallel computers. Availability : More informations are available on the PadFEM homepage at http://www.uni-paderborn.de/cs/padfem/.