www.digitalmars.com         C & C++   DMDScript  

D - Charon Common Library - charon.zip

reply resistor mac.com writes:
This is the preliminary version of a library I'm working on that I thought might
be of interest to some people here.  As of right now it's a primitive data
structures library drawing loose inspiration from the Java Foundation Classes,
and making extensive use of D's generic programming capabilities.

Included in this archive are implementations of: Queues, Stacks, and Trees.
There are also two supporting classes (Array and Node), and an interface
(Enqueue).  A Linked list implementation is mostly complete, and Binary Trees
will be the next target.  I'd like to eventually get this collection up to snuff
for inclusion in Phobos or maybe another standard library.

Remember, this is a preliminary release.  So if it blows up in your face, don't
blame me.

Owen

P.S.  If anyone out there who's proficient at the Design by Contract bit would
like to take a look at this, that would be awesome.  I tried to fill in the
appropriate asserts, but I'm not very good at it yet.
Feb 24 2004
next sibling parent reply larry cowan <larry_member pathlink.com> writes:
Would like to look at your zip, but I can't seem to get a good decode of it.
Did you make it an attachment, or what? Can you attach so it comes as a separate
mime-section?

In article <c1h4l7$2rl5$1 digitaldaemon.com>, resistor mac.com says...
This is the preliminary version of a library I'm working on that I thought might
be of interest to some people here.  As of right now it's a primitive data
structures library drawing loose inspiration from the Java Foundation Classes,
and making extensive use of D's generic programming capabilities.

Included in this archive are implementations of: Queues, Stacks, and Trees.
There are also two supporting classes (Array and Node), and an interface
(Enqueue).  A Linked list implementation is mostly complete, and Binary Trees
will be the next target.  I'd like to eventually get this collection up to snuff
for inclusion in Phobos or maybe another standard library.

Remember, this is a preliminary release.  So if it blows up in your face, don't
blame me.

Owen

P.S.  If anyone out there who's proficient at the Design by Contract bit would
like to take a look at this, that would be awesome.  I tried to fill in the
appropriate asserts, but I'm not very good at it yet.


begin 0644 charon.zip
M4$L#!`H``````'T963`````````````````.`!4`8VAA<F]N+V-O;6UO;B]5
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
MVXW+7#E_^$[UYX S2L=QD4>)U>[^)*L$TY)-(=`DB)WW;F&ON5;<X*Y1?DXQ
M TMN"M,W].\F>I=?JIC^Q;/]+VFCM_I3'2-Y!V_?4$L!`A<#" ``````?1E9
M,`````````````````X`#0`````````0`.U!`````&-H87)O;B]C;VUM;VXO
M550%``-^$CQ`57 ``%!+`0(7`Q0````(`&<663#(65K6-P$``!X$```5``T`
M``````$```"D 4$```!C:&%R;VXO8V]M;6]N+V%R<F%Y+F155`4``Z(-/$!5
M>```4$L!`A<#%````` `:A19,"#SCS=0````7P```!<`#0```````0```*2!
MP`$``&-H87)O;B]C;VUM;VXO96YQ=65U92YD550%``/H"3Q`57 ``%!+`0(7
M`Q0````(`'0963#>5JR^X0```,<"```4``T```````$```"D 5H"``!C:&%R
M;VXO8V]M;6]N+VYO9&4N9%54!0`#;!(\0%5X``!02P$"%P,4````"`#8%EDP
MS!ST^!H!``#\` ``%0`-```````!````I(&"`P``8VAA<F]N+V-O;6UO;B]Q
M=65U92YD550%``-W#CQ`57 ``%!+`0(7`Q0````(`(P563!4^.R"+ $``%,#
M```5``T```````$```"D >0$``!C:&%R;VXO8V]M;6]N+W-T86-K+F155`4`
M`P ,/$!5>```4$L!`A<#%````` `K!E9,+EW"GW?````IP(``!0`#0``````
M`0```*2!6 8``&-H87)O;B]C;VUM;VXO=')E92YD550%``/3$CQ`57 ``%!+
4!08`````!P`'`"D"``"`!P````!M
`
end

Feb 24 2004
parent reply resistor mac.com writes:
Hmm... I just attached it normally.  But it appears not to have worked.

Anyways, you can get it here:
http://fortytwo.athensacademy.net/charon.zip

Owen

In article <c1h9r6$2vd$1 digitaldaemon.com>, larry cowan says...
Would like to look at your zip, but I can't seem to get a good decode of it.
Did you make it an attachment, or what? Can you attach so it comes as a separate
mime-section?

In article <c1h4l7$2rl5$1 digitaldaemon.com>, resistor mac.com says...
This is the preliminary version of a library I'm working on that I thought might
be of interest to some people here.  As of right now it's a primitive data
structures library drawing loose inspiration from the Java Foundation Classes,
and making extensive use of D's generic programming capabilities.

Included in this archive are implementations of: Queues, Stacks, and Trees.
There are also two supporting classes (Array and Node), and an interface
(Enqueue).  A Linked list implementation is mostly complete, and Binary Trees
will be the next target.  I'd like to eventually get this collection up to snuff
for inclusion in Phobos or maybe another standard library.

Remember, this is a preliminary release.  So if it blows up in your face, don't
blame me.

Owen

P.S.  If anyone out there who's proficient at the Design by Contract bit would
like to take a look at this, that would be awesome.  I tried to fill in the
appropriate asserts, but I'm not very good at it yet.


begin 0644 charon.zip
M4$L#!`H``````'T963`````````````````.`!4`8VAA<F]N+V-O;6UO;B]5
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
MVXW+7#E_^$[UYX S2L=QD4>)U>[^)*L$TY)-(=`DB)WW;F&ON5;<X*Y1?DXQ
M TMN"M,W].\F>I=?JIC^Q;/]+VFCM_I3'2-Y!V_?4$L!`A<#" ``````?1E9
M,`````````````````X`#0`````````0`.U!`````&-H87)O;B]C;VUM;VXO
M550%``-^$CQ`57 ``%!+`0(7`Q0````(`&<663#(65K6-P$``!X$```5``T`
M``````$```"D 4$```!C:&%R;VXO8V]M;6]N+V%R<F%Y+F155`4``Z(-/$!5
M>```4$L!`A<#%````` `:A19,"#SCS=0````7P```!<`#0```````0```*2!
MP`$``&-H87)O;B]C;VUM;VXO96YQ=65U92YD550%``/H"3Q`57 ``%!+`0(7
M`Q0````(`'0963#>5JR^X0```,<"```4``T```````$```"D 5H"``!C:&%R
M;VXO8V]M;6]N+VYO9&4N9%54!0`#;!(\0%5X``!02P$"%P,4````"`#8%EDP
MS!ST^!H!``#\` ``%0`-```````!````I(&"`P``8VAA<F]N+V-O;6UO;B]Q
M=65U92YD550%``-W#CQ`57 ``%!+`0(7`Q0````(`(P563!4^.R"+ $``%,#
M```5``T```````$```"D >0$``!C:&%R;VXO8V]M;6]N+W-T86-K+F155`4`
M`P ,/$!5>```4$L!`A<#%````` `K!E9,+EW"GW?````IP(``!0`#0``````
M`0```*2!6 8``&-H87)O;B]C;VUM;VXO=')E92YD550%``/3$CQ`57 ``%!+
4!08`````!P`'`"D"``"`!P````!M
`
end


Feb 24 2004
parent reply Mike Janssen <Mike_member pathlink.com> writes:
it would be cool to have a Ternary Search Tree in the package 
Feb 25 2004
parent resistor mac.com writes:
That I can work on, but I'm trying to make my binary tree work first.  Stupid
template problem...

Owen

In article <c1hlt6$p5j$1 digitaldaemon.com>, Mike Janssen says...
it would be cool to have a Ternary Search Tree in the package 

Feb 25 2004
prev sibling parent Juanjo Alvarez <Juanjo_member pathlink.com> writes:
resistor mac.com wrote:


 will be the next target.  I'd like to eventually get this collection up to
 snuff for inclusion in Phobos or maybe another standard library.

Cool! You could register it in the Phobos-Project wiki page here so other people could find about your project before trying to reinvent the wheel: http://www.prowiki.org/wiki4d/wiki.cgi?Phobos
Feb 25 2004