Dec 292017
 
JCOOL version 0.1. C++ library of basic data structures. Full source code and example/test code too. Implemented via C++ 3.0 Templates.
File JCOOL01.ZIP from The Programmer’s Corner in
Category C++ Source Code
JCOOL version 0.1. C++ library of basic data structures. Full source code and example/test code too. Implemented via C++ 3.0 Templates.
File Name File Size Zip Size Zip Type
COOL 0 0 stored
ASSOCIAT.C 10893 2612 deflated
ASSOCIAT.H 13529 3662 deflated
AVL_TREE.C 1565 651 deflated
AVL_TREE.H 5404 1838 deflated
BASE_BIN.H 243 163 deflated
BASE_BNN.C 2555 1036 deflated
BASE_BNN.H 4723 1725 deflated
BASE_BNT.C 16629 4376 deflated
BASE_BNT.H 7353 2431 deflated
BASE_HAS.C 13518 3232 deflated
BASE_HAS.H 9531 3193 deflated
BASE_LIS.C 47387 8838 deflated
BASE_LIS.H 18839 5241 deflated
BASE_MAT.C 5022 1647 deflated
BASE_MAT.H 3696 1431 deflated
BASE_M_V.C 2837 972 deflated
BASE_M_V.H 3118 1326 deflated
BASE_QUE.C 5839 1773 deflated
BASE_QUE.H 7123 2473 deflated
BASE_STA.C 7752 1927 deflated
BASE_STA.H 5800 2075 deflated
BASE_VEC.C 10639 2438 deflated
BASE_VEC.H 9232 2727 deflated
BIGNUM.C 48968 11803 deflated
BIGNUM.H 15055 4066 deflated
BINARY_N.C 3036 921 deflated
BINARY_N.H 5028 1526 deflated
BINARY_T.C 14540 3849 deflated
BINARY_T.H 9154 2976 deflated
BIT_SET.C 29116 5795 deflated
BIT_SET.H 15229 4251 deflated
BIT_TABL.C 3408 910 deflated
CALENDAR.C 506 257 deflated
CALENDAR.H 2292 1088 deflated
CHANGES 3673 1813 deflated
CHAR.C 13611 3216 deflated
CHAR.H 3427 1246 deflated
COMPARAT.H 906 445 deflated
COMPLEX.C 15451 3548 deflated
COMPLEX.H 17189 4047 deflated
COOL.RSP 870 231 deflated
COOLHIST 3482 1643 deflated
COUNTRY.C 623 340 deflated
COUNTRY.H 2203 920 deflated
DATE_TIM.C 56045 9874 deflated
DATE_TIM.H 23469 5166 deflated
DEFS.H 1902 754 deflated
D_NODE.C 6837 1838 deflated
D_NODE.H 10389 2972 deflated
ENVELOPE.H 17641 3546 deflated
EXAMPLES 0 0 stored
EX2_4.C 1823 661 deflated
EX2_7.C 2241 692 deflated
EX2_9.C 3432 965 deflated
EX3_10.C 1335 521 deflated
EX3_12.C 1934 781 deflated
EX3_4.C 1147 547 deflated
EX3_6.C 1452 627 deflated
EX3_8.C 1698 569 deflated
EX4_7.C 1972 793 deflated
EX4_9.C 1122 607 deflated
EX5_8.C 801 435 deflated
EX6_10.C 1008 532 deflated
EX6_4.C 1262 578 deflated
EX6_6.C 1009 529 deflated
EX6_8.C 1130 557 deflated
EX7_4.C 2324 937 deflated
EX7_7.C 2222 943 deflated
EX7_9.C 2124 913 deflated
EX8_4.C 1521 723 deflated
EX8_6.C 1279 623 deflated
EX9_11.C 2939 958 deflated
EX9_5.C 1469 713 deflated
EX9_7.C 1638 792 deflated
MAKEFILE 1075 547 deflated
PARAGRAP.H 1382 650 deflated
TURBOC.CFG 60 60 stored
GEN_STRI.C 32845 7196 deflated
GEN_STRI.H 24549 5559 deflated
HANDLE.H 9866 2521 deflated
HASH_TAB.C 20121 4330 deflated
HASH_TAB.H 11276 3749 deflated
ITERATOR.H 6181 1979 deflated
LIST.C 11856 2908 deflated
LIST.H 20709 4123 deflated
MAKEFILE 3357 1415 deflated
MATRIX.C 25897 4725 deflated
MATRIX.H 15483 4102 deflated
MISC.H 4003 1656 deflated
M_VECTOR.C 22256 4006 deflated
M_VECTOR.H 14498 3789 deflated
NT_STATE.C 967 466 deflated
NT_STATE.H 1614 716 deflated
N_NODE.C 7644 1940 deflated
N_NODE.H 8782 2458 deflated
N_TREE.C 11572 2973 deflated
N_TREE.H 10122 3316 deflated
OBJS 0 0 stored
DUMMY 81 75 deflated
PAIR.C 3354 1047 deflated
PAIR.H 6558 1899 deflated
PROPERTY.C 873 457 deflated
PROPERTY.H 1214 618 deflated
QUATERNI.C 10148 3110 deflated
QUATERNI.H 6790 2104 deflated
QUEUE.C 13275 3184 deflated
QUEUE.H 8347 2833 deflated
RANDOM.C 9657 3080 deflated
RANDOM.H 7166 2670 deflated
RANGE.C 681 403 deflated
RANGE.H 7751 2515 deflated
RATIONAL.C 12737 3027 deflated
RATIONAL.H 16162 3739 deflated
README 6559 3043 deflated
REGEXP.C 33879 9730 deflated
REGEXP.H 9663 3064 deflated
RENLONG.SH 4723 1134 deflated
RENSHORT.SH 4741 1138 deflated
SET.C 19804 4263 deflated
SET.H 19434 4903 deflated
SHARED.H 2415 909 deflated
STACK.C 9958 2639 deflated
STACK.H 8810 2823 deflated
STRING.C 27174 5953 deflated
STRING.H 19827 4527 deflated
TEST.C 2278 849 deflated
TEST.H 842 399 deflated
TESTS 0 0 stored
MAKEFILE 1286 583 deflated
TEST_AS1.C 7614 1338 deflated
TEST_ASS.C 901 269 deflated
TEST_AVL.C 24768 2764 deflated
TEST_BIG.C 25201 4390 deflated
TEST_BIT.C 7904 1523 deflated
TEST_BT.C 18567 2478 deflated
TEST_CHA.C 3615 764 deflated
TEST_COM.C 8194 1656 deflated
TEST_DT.C 8388 2160 deflated
TEST_GS.C 8273 1822 deflated
TEST_HAN.C 8129 2183 deflated
TEST_HAS.C 12315 2246 deflated
TEST_ITE.C 7731 1650 deflated
TEST_LIS.C 36529 5479 deflated
TEST_MAT.C 13680 3063 deflated
TEST_M_V.C 6385 1744 deflated
TEST_NOD.C 8323 1608 deflated
TEST_NT.C 9445 1192 deflated
TEST_PAI.C 3600 918 deflated
TEST_PRO.C 2284 798 deflated
TEST_QUA.C 4352 1257 deflated
TEST_QUE.C 10569 1673 deflated
TEST_RAN.C 3890 837 deflated
TEST_RAT.C 3775 1060 deflated
TEST_REG.C 9143 2471 deflated
TEST_RNG.C 2200 773 deflated
TEST_SET.C 27689 3799 deflated
TEST_STA.C 6903 1309 deflated
TEST_STR.C 6905 1624 deflated
TEST_TIM.C 1063 477 deflated
TEST_VAL.C 3428 1237 deflated
TEST_VEC.C 13907 3183 deflated
TURBOC.CFG 47 47 stored
TIMER.C 4778 1095 deflated
TIMER.H 2072 896 deflated
TIMEZONE.C 2453 664 deflated
TIMEZONE.H 2857 1191 deflated
TODO 16608 6269 deflated
TURBOC.CFG 46 46 stored
VALUE.C 4197 1431 deflated
VALUE.H 8835 1998 deflated
VECTOR.C 32877 6100 deflated
VECTOR.H 14780 4358 deflated
README.1ST 743 399 deflated

Download File JCOOL01.ZIP Here

Contents of the README file


Date: December 2, 1992
From: Jamshid Afshar ([email protected])
Subject: JCOOL 0.1 -- A free C++ class library using templates


INTRODUCTION:

This is the README file for JCOOL 0.1. This file and the JCOOL
library are available by anonymous ftp at cs.utexas.edu in the
directory pub/COOL as the files 'jcool01.txt' and 'jcool01.zip'.
JCOOL is a modified version of GECOOL 2.1 (also available at
cs.utexas.edu in pub/COOL/GECOOL2.1.tar.Z). GECOOL 2.1 is a reworking
and enhancement of Texas Instrument's "C++ Object Oriented Library"
(at csc.ti.com in ~ftp/pub/COOL.tar.Z) by some programmers at General
Electric. See the file 'coolhist' for more information about the
history of COOL and its spinoffs.

JCOOL's main difference from COOL and GECOOL is that it uses real C++
templates instead of a similar syntax that is preprocessed by a
special 'cpp' distributed with COOL and GECOOL. Of course, this
means JCOOL can only be compiled with a compiler implementing
templates. I named the library JCOOL so as not to confuse it with
other current or future versions and spinoffs of COOL. Hopefully any
further work will be merged to create a freely available and usable,
portable general C++ class library. JCOOL includes the classes
AVL_Tree, Association, Bignum, Binary_Tree, Bit_Set, Complex,
Date_Time, Envelope, Gen_String, Handle, Hash_Table, Iterator, List,
M_Vector, Matrix, N_Tree, Pair, Quaternion, Queue, Random, Range,
Rational, Regexp, Set, Shared, Stack, String, Timer, Value, Vector.
Most of these are class templates. So far JCOOL has only been
compiled under Borland C++ 3.1.


PURPOSE:

C++ is a powerful tool but its major benefits cannot be achieved, nor
can a new user be productive, without a good data structures
library. While I hope JCOOL eventually leads to something any C++
user can confidently start with or incorporate into their existing
code, this version of JCOOL is 0.1 to reinforce the fact that it is
far from being fully tested or stable. Some of the tests and
examples fail either because of bugs in the code or the compiler.
This library is provided without warranties of any kind.

My main goal in releasing it now is to improve the overall quality of
C++ compilers, especially with respect to templates. I found (and
reported) numerous BC++ bugs in the process of building JCOOL. Please
try to compile it on any C++ compiler claiming to support templates
and (loudly) report the bugs that will inevitably pop up. While I do
have a long "todo" list of bug fixes and enhancements, and I do want
to be kept abreast of any work, I will probably not have time to do
much work on JCOOL in the near future. I am also somewhat worn out
after fighting BC++ 3.1 over the past several months (though I'm sure
Borland loves me :-). I will be eager to enhance JCOOL once a new,
more bug-free version of BC++ is released. Please don't let this
disclaimer keep you from sending comments or suggestions. I'm always
interested in bug reports, fixes, or suggestions on improving this
package. Please also consider letting others know about bugs or
ports by posting to comp.lang.c++.


DIRECTIONS:

Get JCOOL01.ZIP from cs.utexas.edu in pub/COOL. It will unzip into:
cool/
tests/ - test programs, makefile for tests
examples/ - example programs, makefile for examples
readme - *this file
todo - bugs, plans
changes - changes, including GECOOL changes from COOL
makefile - Borland C++ 3.1 makefile to create cool.lib
coolhist - a COOL history report courtesy of Mary J. Fontana
renlong.sh - renames all files to their original UNIX names
renshort.sh - renames all files to DOS (8.3) names
*.h
*.c

The makefile assumes you have BC++ 3.1 installed in c:\borlandc. The
large memory model is used. Please read 'todo' and 'changes' before
using JCOOL as they mention bugs I've encountered. After modifing
'makefile' if necessary, do the following to install into your
D:\FREELIBS directory and compile your program MYPROG.CPP.

D:\FREELIBS>unzip -d jcool01 => creates COOL directory
D:\FREELIBS\COOL>make => creates COOL.LIB
D:\FREELIBS\COOL\TESTS>make runall.out => creates test*.exe and runs them
D:\FREELIBS\COOL\EXAMPLES>make runall.out => creates ex*.exe and runs them
C:\MYPROG>bcc -Ic:\borlandc\include;d:\freelibs;d:\freelibs\cool
-ml -vi- -w -w-sig -w-amp
myprog.cpp d:\freelibs\cool\cool.lib => creates myprog.exe

See the TESTS and EXAMPLES directories for sample code and see the
header files themselves for class documentation. You should include
JCOOL headers by specifying the 'cool' path (eg, #include
). Doing so allows you to use JCOOL with other
libraries containing the same file names. Use the full,
case-sensitive file name so that your code is portable to less
restrictive file systems. You should #include the .C file of
template classes in one of your modules (see the BC++ docs for more
information about template instantiation).


ACKNOWLEGEMENTS:

Thanks to the following for all their work on the design and
implementation of COOL and GECOOL, and for making their work freely
available.

Mary J. Fontana ([email protected])
Van-Duc Nguyen ([email protected])
LGO?
DLS?
MBN?

A general thanks to the USENET community, especially comp.lang.c/c++,
for being a wealth of information and ideas.

Finally, a special thanks to my s.o. Walter for putting up with my
all-nighters at the office working on this and other C++ projects.


SHAMELESS PLUG/PLEA:

Btw, if you are in the Austin area and looking for an expert C++
programmer with 3 years work experience under DOS/MS-Windows and the
ability to quickly learn other environments, please contact me for a
resume.


DISCLAIMERS:

//
// Copyright (C) 1991 Texas Instruments Incorporated.
//
// Permission is granted to any individual or institution to use, copy, modify,
// and distribute this software, provided that this complete copyright and
// permission notice is maintained, intact, in all copies and supporting
// documentation.
//
// Texas Instruments Incorporated provides this software "as is" without
// express or implied warranty.
//


CONTACT:

Jamshid Afshar
Email: [email protected] or [email protected]
USMail: 401 E. 4th Street #403, Austin, TX 78701
USPhone: (512) 474-7455



Contents of the README.1ST file


Date: December 2, 1992
From: Jamshid Afshar ([email protected])
Subject: JCOOL 0.1 -- A free C++ class library using templates


INTRODUCTION:

This is the README file for JCOOL 0.1. This file and the JCOOL
library are available by anonymous ftp at cs.utexas.edu in the
directory pub/COOL as the files 'jcool01.txt' and 'jcool01.zip'.
JCOOL is a modified version of GECOOL 2.1 (also available at
cs.utexas.edu in pub/COOL/GECOOL2.1.tar.Z). GECOOL 2.1 is a reworking
and enhancement of Texas Instrument's "C++ Object Oriented Library"
(at csc.ti.com in ~ftp/pub/COOL.tar.Z) by some programmers at General
Electric. See the file 'coolhist' for more information about the
history of COOL and its spinoffs.

JCOOL's main difference from COOL and GECOOL is that it uses real C++
templates instead of a similar syntax that is preprocessed by a
special 'cpp' distributed with COOL and GECOOL. Of course, this
means JCOOL can only be compiled with a compiler implementing
templates. I named the library JCOOL so as not to confuse it with
other current or future versions and spinoffs of COOL. Hopefully any
further work will be merged to create a freely available and usable,
portable general C++ class library. JCOOL includes the classes
AVL_Tree, Association, Bignum, Binary_Tree, Bit_Set, Complex,
Date_Time, Envelope, Gen_String, Handle, Hash_Table, Iterator, List,
M_Vector, Matrix, N_Tree, Pair, Quaternion, Queue, Random, Range,
Rational, Regexp, Set, Shared, Stack, String, Timer, Value, Vector.
Most of these are class templates. So far JCOOL has only been
compiled under Borland C++ 3.1.


PURPOSE:

C++ is a powerful tool but its major benefits cannot be achieved, nor
can a new user be productive, without a good data structures
library. While I hope JCOOL eventually leads to something any C++
user can confidently start with or incorporate into their existing
code, this version of JCOOL is 0.1 to reinforce the fact that it is
far from being fully tested or stable. Some of the tests and
examples fail either because of bugs in the code or the compiler.
This library is provided without warranties of any kind.

My main goal in releasing it now is to improve the overall quality of
C++ compilers, especially with respect to templates. I found (and
reported) numerous BC++ bugs in the process of building JCOOL. Please
try to compile it on any C++ compiler claiming to support templates
and (loudly) report the bugs that will inevitably pop up. While I do
have a long "todo" list of bug fixes and enhancements, and I do want
to be kept abreast of any work, I will probably not have time to do
much work on JCOOL in the near future. I am also somewhat worn out
after fighting BC++ 3.1 over the past several months (though I'm sure
Borland loves me :-). I will be eager to enhance JCOOL once a new,
more bug-free version of BC++ is released. Please don't let this
disclaimer keep you from sending comments or suggestions. I'm always
interested in bug reports, fixes, or suggestions on improving this
package. Please also consider letting others know about bugs or
ports by posting to comp.lang.c++.


DIRECTIONS:

Get JCOOL01.ZIP from cs.utexas.edu in pub/COOL. It will unzip into:
cool/
tests/ - test programs, makefile for tests
examples/ - example programs, makefile for examples
readme - *this file
todo - bugs, plans
changes - changes, including GECOOL changes from COOL
makefile - Borland C++ 3.1 makefile to create cool.lib
coolhist - a COOL history report courtesy of Mary J. Fontana
renlong.sh - renames all files to their original UNIX names
renshort.sh - renames all files to DOS (8.3) names
*.h
*.c

The makefile assumes you have BC++ 3.1 installed in c:\borlandc. The
large memory model is used. Please read 'todo' and 'changes' before
using JCOOL as they mention bugs I've encountered. After modifing
'makefile' if necessary, do the following to install into your
D:\FREELIBS directory and compile your program MYPROG.CPP.

D:\FREELIBS>unzip -d jcool01 => creates COOL directory
D:\FREELIBS\COOL>make => creates COOL.LIB
D:\FREELIBS\COOL\TESTS>make runall.out => creates test*.exe and runs them
D:\FREELIBS\COOL\EXAMPLES>make runall.out => creates ex*.exe and runs them
C:\MYPROG>bcc -Ic:\borlandc\include;d:\freelibs;d:\freelibs\cool
-ml -vi- -w -w-sig -w-amp
myprog.cpp d:\freelibs\cool\cool.lib => creates myprog.exe

See the TESTS and EXAMPLES directories for sample code and see the
header files themselves for class documentation. You should include
JCOOL headers by specifying the 'cool' path (eg, #include
). Doing so allows you to use JCOOL with other
libraries containing the same file names. Use the full,
case-sensitive file name so that your code is portable to less
restrictive file systems. You should #include the .C file of
template classes in one of your modules (see the BC++ docs for more
information about template instantiation).


ACKNOWLEGEMENTS:

Thanks to the following for all their work on the design and
implementation of COOL and GECOOL, and for making their work freely
available.

Mary J. Fontana ([email protected])
Van-Duc Nguyen ([email protected])
LGO?
DLS?
MBN?

A general thanks to the USENET community, especially comp.lang.c/c++,
for being a wealth of information and ideas.

Finally, a special thanks to my s.o. Walter for putting up with my
all-nighters at the office working on this and other C++ projects.


SHAMELESS PLUG/PLEA:

Btw, if you are in the Austin area and looking for an expert C++
programmer with 3 years work experience under DOS/MS-Windows and the
ability to quickly learn other environments, please contact me for a
resume.


DISCLAIMERS:

//
// Copyright (C) 1991 Texas Instruments Incorporated.
//
// Permission is granted to any individual or institution to use, copy, modify,
// and distribute this software, provided that this complete copyright and
// permission notice is maintained, intact, in all copies and supporting
// documentation.
//
// Texas Instruments Incorporated provides this software "as is" without
// express or implied warranty.
//


CONTACT:

Jamshid Afshar
Email: [email protected] or [email protected]
USMail: 401 E. 4th Street #403, Austin, TX 78701
USPhone: (512) 474-7455



- Author developed JCOOL on BC++ 3.1; I'd think it should also work on
the corresponding Turbo C++ (DOS and Windows) versions.

- The documentation makes no mention of other C++ compilers that this is
known to work on.

- You MUST have a C++ compiler that supports true C++ 3.0 templates
(vs some GNU C++ compilers with psudeo-templates and pre-processors)

- The documentation for each class is contained in the header files;
except for the readme|jcool01.txt file and the todo file, there are
no other documentation files.

- This library was obtained via the internet from the University of
Texas in Austin Texas; see the readme|jcool01.txt file for more
details


 December 29, 2017  Add comments

Leave a Reply