## Metagnostic home
| # Miscellanea for Dolphin Smalltalk
Goodies JNIPort Z-Kit ListTree Space Breakdown F.M.B. Ghoul Miscellanea Experiments Changes Prerequisites Licence | This page collects together a number of minor (often trivial) packages that either I think are nevertheless useful enough to publish for their own sake, or which are required by other (possibly forthcoming) packages in my goodies. The packages are: Package Relative File Locator two kinds of FileLocator that work relative to a package when used in the IDE, or relative to the image when deployed. One benefit is that it means I don't have to follow, let alone impose, the absurd practise of keeping packages in an image-relative position. Varargs Wrapper class for C's `va_list` that allows external interfacing to many varargs-style functions. Also includes an implementation of `String>>sprintfWithArguments:` which takes an array of arguments for sprintf() (which can include floating point numbers) and formats accordingly. String Extensions A few extra methods for `String`. Specifically versions of `#sprintf` that take more arguments and access to C's `strcmp()` (which provide case-sensitive ordering of Strings — in the C locale). Stream Extensions A few trivial methods added to `WriteStream` for writing out `WORDs`, `DWORDs` and `SDWORDs`, plus big-endian equivalents. Abstract Collections The standard Smalltalk Collections hierarchy has several concrete containers that don't inherit from proper abstract superclasses, which makes them difficult to extend. This package includes a number of classes that try to fake a reasonable abstraction by inheriting from the concrete class, and then overriding enough methods (back to subclassResponsibility) to act as an abstract base class for the same protocol. Collection Adaptors Builds on the Abstract Collections package to provide a number of simple adaptor classes. Adaptors wrap some existing object that implements a small part of the interface of some collection/stream, and extends it to support the entire interface. Null Streams Builds on the Abstract Collections package to provide two trivial Streams. A `WriteStream` that discards everything that is written to it, and a `ReadStream` that always answers the same object to `#next`. Both keep track of their positions. Rolling Accumulator A circular buffer class. Binary Arrays A few more binary arrays to complete the portfolio provided with Dolphin. Sort Blocks Simple <diadicValuable> objects that can be used as sort blocks. Always Simple <*adicValueable> objects that always answer the same value. Hashed Pair Class of “pair” objects that are optimised for use as keys in dictionaries to allow/simulate dictionaries with 2 or more keys. Also some helper methods added to `Dictionary`. Storage Size A single method added to `Object` that estimates its memory footprint in bytes. Anonymous Subclass Tiny framework for making anonymous subclasses (i.e. ones that are not linked into the browsable hierarchy) of existing classes. Ghost Classes Builds on Anonymous Subclass to provide a framework for creating ephemeral and dynamically generated classes — ghost classes &mdash such as are used by JNIPort. Object Methods Builds on Anonymous Subclass to provide a framework for defining and managing object-specific methods. Windows Shell Extensions Trivial extension to the Windows Shell package which adds methods for retrieving the names of Windows' standard folders (desktop, favourites, program files, etc). Also extends BrowseFolderDialog to allow you to specify that network folders should be included in the list. ### Packages
Package sizes and versions
Name | Size | Version
--- | --- | ---
CU Package-relative File Locator | 11829 | 3.01
CU Varargs | 22545 | 2.02
CU String Extensions | 6885 | 1.00
CU Stream Extensions | 13498 | 2.00
CU Stream Extensions Tests | 9391 | 1.02
CU Abstract Collections | 51193 | 4.02
CU Collection Adaptors | 34195 | 1.02
CU Null Streams | 7557 | 1.02
CU Rolling Accumulator | 7243 | 2.00
CU Binary Arrays | 6126 | 2.00
CU Sortblocks | 16398 | 3.01
CU Always | 5976 | 3.01
CU Hashed Pair | 10870 | 1.00
CU Storage Size | 1809 | 1.00
CU Anonymous Subclass | 2092 | 1.00
CU Ghost Classes | 7592 | 1.01
CU Object Methods | 9044 | 1.00
CU Windows Shell Extensions | 4809 | 1.00

Copyright © Chris Uppal, 2003-2005