C Interfaces and Implementations Techniques for Creating Reusable Software By David R. Hanson
Extractions of code in the book in a more readable format.
Hanson: Ch. 1 & 2; Intro and First Section (titled "Interface") of Ch. 3-4, 7-9, 11; Section 8.2
@@ Foundations @@
+ 1. Introduction
+ 2. Interfaces and Implementations
+ 4. Exceptions and Assertions
- 5. Memory Management
- 6. More Memory Management@@ Data Structures @@
+ 7. Lists
+ 8. Tables
+ 9. Sets
- 10. Dynamic Arrays
+ 11. Sequences
- 12. Rings
- 13. Bit Vectors@@ Strings @@
+ 3. Atoms
- 14. Formatting
- 15. Low-Level Strings
- 16. High-Level Strings@@ Arithmetic @@
- 17. Extended-Precision Arithmetic
- 18. Arbitrary-Precision Arithmetic
- 19. Multiple-Precision Arithmetic@@ Threads @@
- 20. Threads! Interface Summary
# starts on page 470 in textbook
# or you can look at the slide set linked belowhttp://cii.s3.amazonaws.com/book/pdf/quickref.pdf
+ Chapter 1 double.c https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/double.c
+ Chapter 2 arith.h https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/arith.h
arith.c https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/arith.c
stack.c https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/stack.c
+ Chapter 3 atom.h https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/atom.h
atom.c https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/atom.c
+ Chapter 4 except.h https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/except.h
except.c https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/except.c
assert.h https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/assert.h
assert.c https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/assert.c
- Chapter 5 mem.h https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/mem.h
mem.c https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/mem.c
memchk.c https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/memchk.c
- Chapter 6 arena.h https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/arena.h
arena.c https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/arena.c
+ Chapter 7 list.h https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/list.h
list.c https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/list.c
+ Chapter 8 table.h https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/table.h
getword.h https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/getword.h
getword.c https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/getword.c
table.c https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/table.c
+ Chapter 9 set.h https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/set.h
set.c https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/set.c
- Chapter 10 array.h https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/array.h
arrayrep.h https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/arrayrep.h
array.c https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/array.c
+ Chapter 11 seq.h https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/seq.h
seq.c https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/seq.c
- Chapter 12 ring.h https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/ring.h
ring.c https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/ring.c
- Chapter 13 bit.h https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/bit.h
bit.c https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/bit.c
- Chapter 14 fmt.h https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/fmt.h
fmt.c https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/fmt.c
- Chapter 15 str.h https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/str.h
ids.c https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/ids.c
str.c https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/str.c
- Chapter 16 text.h https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/test.h
text.c https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/text.c
- Chapter 17 xp.h https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/xp.h
xp.c https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/xp.c
- Chapter 18 ap.h https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/ap.h
calc.c https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/calc.c
ap.c https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/ap.c
- Chapter 19 mp.h https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/mp.h
mpcalc.c https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/mpcalc.c
mp.c https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/mp.c
- Chapter 20 thread.h https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/thread.h
sem.h https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/sem.h
chan.h https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/chan.h
sort.c https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/sort.c
spin.c https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/spin.c
sieve.c https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/sieve.c
chan.c https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/chan.c
thread.c https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/thread.c
swtch.s https://github.com/rachelBonanno/HansonDataStructures/blob/main/code/swtch.s
! See David R Handsons GitHub for other code !