comparison oldclasslib/README.txt @ 0:13d2b8934445

Import AnaGram (near-)release tree into Mercurial.
author David A. Holland
date Sat, 22 Dec 2007 17:52:45 -0500
parents
children 607e3be6bad8
comparison
equal deleted inserted replaced
-1:000000000000 0:13d2b8934445
1 This is the "classlib" distributed with pre-open-source versions of
2 AnaGram.
3
4 It is old and not very well designed. It is still here, and sort of
5 being maintained, because (1) some of the examples use it, and (2)
6 somebody out there might even be using it.
7
8 It should be considered deprecated. The examples will be migrated away
9 from it over time; anyone using it in their own code should move to
10 something else - whether AnaGram's own AGCLIB1 or the STL or whatever.
11
12 ------------------------------------------------------------
13
14 Changes to oldclasslib since the AG 2.01 release:
15
16 - Updated the syntax for friend template functions for the current (or
17 at least recent) dialect of 'standard' C++.
18
19 - Added const qualifications in various places to allow use of string
20 constants. In current C++ string constants have type "const char *";
21 that was not the case when this code was written.
22
23 - Added explicit calls to base class constructors even when they take
24 no arguments; gcc 3.3 whines if you don't have these.
25
26 - Removed the behavior where you can cast a stack<> to T* or a
27 character_sink to char* to fetch the topmost element. Now you must
28 call the top() method instead. Apparently the C++ standard says that
29 having such a cast operator and also having operator[] is ambiguous,
30 because you can convert the object to a pointer and apply [] to that
31 as well as using the provided operator[] directly. This seems stupid
32 bordering on insane, but when compilers start citing the standard at
33 you there isn't much choice but to go along.