Synesis Software Training Courses
The STLSoft Showcase
STLSoft is a collection of libraries that provide:
- STL extensions, including new collection, container and iterator types, and new iterators and iterator adaptors
- Facades over operating-system and third-party library APIs
- Compiler/operating-system/feature discrimination facilities
- Low-level, high-performance components
The STLSoft libraries have been evolving in a public form since 2002, and now support commercial developments and several best-of-breed software libraries, including:
Starting out as a research exercise, the libraries have accreted a degree of cruft - ugly/ill-conceived/unused components - that tend to disguise the many valuable facilities. A long-term effort is underway to correct this, expected to be complete with version 1.11. But in the mean-time, users of STLSoft 1.9 can learn to find and use many of the hidden jewels by attending this course, an example-based guide to getting started with STLSoft.
Attendees will be introduced to a selection of the best features from STLSoft as they follow along with the development of several small, but non-trivial, programs, solving real problems in the form of simple, expressive and robust programs.
Level
Intermediate. Assumes prior experience of C++.Style
Presentation. Audience members are encouraged to follow along if they wish.Duration
1 day: lecture + question & answer sessionMaterial Covered
-
Introduction to STLSoft
- A (very) brief history
-
Understanding STLSoft
-
By Project:
- STLSoft
- UNIXSTL
- WinSTL
- PlatformSTL
- COMSTL
- ACESTL
- ATLSTL
- MFCSTL
- InetSTL
-
By Library:
- Collection
- Container
- Conversion
- DL
- File System
- Iterator
- Memory
- Performance
- Smart Pointer
- String
- Synchronisation
- TMP (Template Meta-Programming)
- Utility
- ... and others ...
- The Principle of Intersecting Conformance
-
By Project:
-
Using STLSoft
- Downloading
- Installing
- Working with STLSoft 1.10 alpha releases
-
Components:
stlsoft::auto_buffer<>
high-performance bufferstlsoft::fixed_array_N
containersstlsoft::frequency_map
containerstlsoft::ostream_iterator<>
iterator adaptorstlsoft::cstring_contatenator<>
andstlsoft::string_contatenator<>
iterator adaptorsstlsoft::integer_to_string()
high-performance conversion functionsstlsoft::member_selector<>
iterator adaptorsstlsoft::scoped_handle<>
smart pointerstlsoft::string_tokeniser<>
tokeniser classstlsoft::string_view<>
string view classstlsoft::true_typedef<>
type-enforcer adaptorstlsoft::truncation_cast<>
cast operator andstlsoft::truncation_test<>()
cast functionstlsoft::unrecoverable
unrecoverable exception classplatformstl::dl_call()
shared object function invocatorplatformstl::performance_counter
platformstl::file_lines
platformstl::filesystem_traits
platformstl::memory_mapped_file
platformstl::properties_file
unixstl::readdir_sequence
andunixstl::glob_sequence
filesystem search sequenceswinstl::findfile_sequence
filesystem search sequencewinstl::error_desc
comstl::collection_sequence<>
collection adaptor- The Windows Registry components
- The String Access Shims
- The Properties components
- The Synchronisation components