gitextract_vz438qf9/ ├── .gitmodules ├── Contributing.md ├── Examples/ │ ├── Modules/ │ │ ├── Chapter 01/ │ │ │ ├── Ex1_01.cpp │ │ │ └── Ex1_02.cpp │ │ ├── Chapter 02/ │ │ │ ├── Ex2_01.cpp │ │ │ ├── Ex2_02.cpp │ │ │ ├── Ex2_03.cpp │ │ │ ├── Ex2_03A.cpp │ │ │ ├── Ex2_03B.cpp │ │ │ ├── Ex2_03C.cpp │ │ │ ├── Ex2_03D.cpp │ │ │ ├── Ex2_04.cpp │ │ │ ├── Ex2_05.cpp │ │ │ ├── Ex2_06.cpp │ │ │ ├── Ex2_06B.cpp │ │ │ └── Ex2_07.cpp │ │ ├── Chapter 03/ │ │ │ ├── Ex3_01.cpp │ │ │ ├── Ex3_02.cpp │ │ │ └── Ex3_03.cpp │ │ ├── Chapter 04/ │ │ │ ├── Ex4_01.cpp │ │ │ ├── Ex4_01A.cpp │ │ │ ├── Ex4_02.cpp │ │ │ ├── Ex4_02A.cpp │ │ │ ├── Ex4_03.cpp │ │ │ ├── Ex4_04.cpp │ │ │ ├── Ex4_04A.cpp │ │ │ ├── Ex4_05.cpp │ │ │ ├── Ex4_06.cpp │ │ │ ├── Ex4_07.cpp │ │ │ ├── Ex4_08.cpp │ │ │ ├── Ex4_09.cpp │ │ │ └── Ex4_09A.cpp │ │ ├── Chapter 05/ │ │ │ ├── Ex5_01.cpp │ │ │ ├── Ex5_02.cpp │ │ │ ├── Ex5_03.cpp │ │ │ ├── Ex5_03A.cpp │ │ │ ├── Ex5_04.cpp │ │ │ ├── Ex5_04A.cpp │ │ │ ├── Ex5_05.cpp │ │ │ ├── Ex5_06.cpp │ │ │ ├── Ex5_07.cpp │ │ │ ├── Ex5_07A.cpp │ │ │ ├── Ex5_08.cpp │ │ │ ├── Ex5_09.cpp │ │ │ ├── Ex5_10.cpp │ │ │ ├── Ex5_11.cpp │ │ │ ├── Ex5_12.cpp │ │ │ ├── Ex5_12A.cpp │ │ │ ├── Ex5_13.cpp │ │ │ ├── Ex5_14.cpp │ │ │ └── Ex5_15.cpp │ │ ├── Chapter 06/ │ │ │ ├── Ex6_01.cpp │ │ │ ├── Ex6_02.cpp │ │ │ ├── Ex6_03.cpp │ │ │ ├── Ex6_04.cpp │ │ │ ├── Ex6_05.cpp │ │ │ ├── Ex6_06.cpp │ │ │ └── Ex6_07.cpp │ │ ├── Chapter 08/ │ │ │ ├── Ex8_01.cpp │ │ │ ├── Ex8_02.cpp │ │ │ ├── Ex8_03.cpp │ │ │ ├── Ex8_04.cpp │ │ │ ├── Ex8_05.cpp │ │ │ ├── Ex8_05A.cpp │ │ │ ├── Ex8_06.cpp │ │ │ ├── Ex8_06A.cpp │ │ │ ├── Ex8_07.cpp │ │ │ ├── Ex8_08.cpp │ │ │ ├── Ex8_09A.cpp │ │ │ ├── Ex8_09B.cpp │ │ │ ├── Ex8_09C.cpp │ │ │ ├── Ex8_10.cpp │ │ │ ├── Ex8_11.cpp │ │ │ ├── Ex8_12.cpp │ │ │ ├── Ex8_13.cpp │ │ │ ├── Ex8_14.cpp │ │ │ ├── Ex8_15.cpp │ │ │ ├── Ex8_16.cpp │ │ │ └── Ex8_17.cpp │ │ ├── Chapter 09/ │ │ │ ├── Ex9_01.cpp │ │ │ ├── Ex9_02.cpp │ │ │ ├── Ex9_03.cpp │ │ │ └── Ex9_03A.cpp │ │ ├── Chapter 10/ │ │ │ ├── Ex10_01.cpp │ │ │ ├── Ex10_02.cpp │ │ │ ├── Ex10_03.cpp │ │ │ ├── Ex10_03A.cpp │ │ │ └── Ex10_04.cpp │ │ ├── Chapter 11/ │ │ │ ├── Ex11_01/ │ │ │ │ ├── Ex11_01.cpp │ │ │ │ └── math.cppm │ │ │ ├── Ex11_01A/ │ │ │ │ ├── Ex11_01A.cpp │ │ │ │ └── math.cppm │ │ │ ├── Ex11_01B/ │ │ │ │ ├── Ex11_01B.cpp │ │ │ │ └── math.cppm │ │ │ ├── Ex11_02/ │ │ │ │ ├── Ex11_02.cpp │ │ │ │ ├── from_roman.cpp │ │ │ │ ├── roman.cppm │ │ │ │ └── to_roman.cpp │ │ │ ├── Ex11_03/ │ │ │ │ ├── Ex11_03.cpp │ │ │ │ ├── from_roman.cpp │ │ │ │ ├── roman.cppm │ │ │ │ └── to_roman.cpp │ │ │ ├── Ex11_04/ │ │ │ │ ├── Ex11_04.cpp │ │ │ │ ├── from_roman.cpp │ │ │ │ ├── roman-internals.cpp │ │ │ │ ├── roman.cppm │ │ │ │ └── to_roman.cpp │ │ │ ├── Ex11_05/ │ │ │ │ ├── Ex11_05.cpp │ │ │ │ ├── from_roman.cpp │ │ │ │ ├── roman-from.cppm │ │ │ │ ├── roman-internals.cpp │ │ │ │ ├── roman-to.cppm │ │ │ │ └── roman.cppm │ │ │ ├── Ex11_06/ │ │ │ │ └── Ex11_06.cpp │ │ │ ├── Ex11_06A/ │ │ │ │ ├── Ex11_06A.cpp │ │ │ │ └── squaring.cppm │ │ │ ├── Ex11_06B/ │ │ │ │ ├── Ex11_06B.cpp │ │ │ │ └── squaring.cppm │ │ │ ├── Ex11_07/ │ │ │ │ ├── Ex11_07.cpp │ │ │ │ ├── math.cpp │ │ │ │ └── math.cppm │ │ │ └── Ex11_08/ │ │ │ ├── Ex11_08.cpp │ │ │ └── squaring.cppm │ │ ├── Chapter 12/ │ │ │ ├── Ex12_01/ │ │ │ │ └── Ex12_01.cpp │ │ │ ├── Ex12_01A/ │ │ │ │ └── Ex12_01A.cpp │ │ │ ├── Ex12_02/ │ │ │ │ └── Ex12_02.cpp │ │ │ ├── Ex12_03/ │ │ │ │ └── Ex12_03.cpp │ │ │ ├── Ex12_04/ │ │ │ │ └── Ex12_04.cpp │ │ │ ├── Ex12_05/ │ │ │ │ └── Ex12_05.cpp │ │ │ ├── Ex12_05A/ │ │ │ │ └── Ex12_05A.cpp │ │ │ ├── Ex12_06/ │ │ │ │ ├── Box.cppm │ │ │ │ └── Ex12_06.cpp │ │ │ ├── Ex12_06A/ │ │ │ │ ├── Box.cpp │ │ │ │ ├── Box.cppm │ │ │ │ └── Ex12_06A.cpp │ │ │ ├── Ex12_06B/ │ │ │ │ ├── Box.cppm │ │ │ │ └── Ex12_06B.cpp │ │ │ ├── Ex12_07/ │ │ │ │ ├── Box.cpp │ │ │ │ ├── Box.cppm │ │ │ │ └── Ex12_07.cpp │ │ │ ├── Ex12_08/ │ │ │ │ ├── Box.cpp │ │ │ │ ├── Box.cppm │ │ │ │ └── Ex12_08.cpp │ │ │ ├── Ex12_09/ │ │ │ │ ├── Box.cpp │ │ │ │ ├── Box.cppm │ │ │ │ └── Ex12_09.cpp │ │ │ ├── Ex12_10/ │ │ │ │ ├── Box.cpp │ │ │ │ ├── Box.cppm │ │ │ │ └── Ex12_10.cpp │ │ │ ├── Ex12_11/ │ │ │ │ ├── Box.cpp │ │ │ │ ├── Box.cppm │ │ │ │ └── Ex12_11.cpp │ │ │ ├── Ex12_12/ │ │ │ │ ├── Box.cpp │ │ │ │ ├── Box.cppm │ │ │ │ └── Ex12_12.cpp │ │ │ ├── Ex12_13/ │ │ │ │ ├── Box.cpp │ │ │ │ ├── Box.cppm │ │ │ │ └── Ex12_13.cpp │ │ │ ├── Ex12_14/ │ │ │ │ ├── Box.cpp │ │ │ │ ├── Box.cppm │ │ │ │ └── Ex12_14.cpp │ │ │ ├── Ex12_15/ │ │ │ │ ├── CylindricalBox.cpp │ │ │ │ ├── CylindricalBox.cppm │ │ │ │ └── Ex12_15.cpp │ │ │ ├── Ex12_16/ │ │ │ │ ├── Box.cpp │ │ │ │ ├── Box.cppm │ │ │ │ └── Ex12_16.cpp │ │ │ ├── Ex12_17/ │ │ │ │ ├── Box.cppm │ │ │ │ ├── Ex12_17.cpp │ │ │ │ ├── Package.cpp │ │ │ │ ├── RandomBoxes.cppm │ │ │ │ ├── SharedBox.cppm │ │ │ │ ├── Truckload.cpp │ │ │ │ └── Truckload.cppm │ │ │ └── Ex12_18/ │ │ │ ├── Box.cppm │ │ │ ├── Ex12_18.cpp │ │ │ ├── RandomBoxes.cppm │ │ │ ├── Truckload.cpp │ │ │ └── Truckload.cppm │ │ ├── Chapter 13/ │ │ │ ├── Ex13_01/ │ │ │ │ ├── Box.cppm │ │ │ │ └── Ex13_01.cpp │ │ │ ├── Ex13_02/ │ │ │ │ ├── Box.cppm │ │ │ │ └── Ex13_02.cpp │ │ │ ├── Ex13_03/ │ │ │ │ ├── Box.cppm │ │ │ │ └── Ex13_03.cpp │ │ │ ├── Ex13_03A/ │ │ │ │ ├── Box.cppm │ │ │ │ └── Ex13_03A.cpp │ │ │ ├── Ex13_04/ │ │ │ │ ├── Box.cppm │ │ │ │ └── Ex13_04.cpp │ │ │ ├── Ex13_05/ │ │ │ │ ├── Box.cpp │ │ │ │ ├── Box.cppm │ │ │ │ └── Ex13_05.cpp │ │ │ ├── Ex13_06/ │ │ │ │ ├── Box.cpp │ │ │ │ ├── Box.cppm │ │ │ │ └── Ex13_06.cpp │ │ │ ├── Ex13_07/ │ │ │ │ ├── Ex13_07.cpp │ │ │ │ └── Integer.cppm │ │ │ ├── Ex13_08/ │ │ │ │ ├── Box.cppm │ │ │ │ └── Ex13_08.cpp │ │ │ ├── Ex13_09/ │ │ │ │ ├── Box.cppm │ │ │ │ └── Ex13_09.cpp │ │ │ ├── Ex13_10/ │ │ │ │ ├── Box.cppm │ │ │ │ ├── Ex13_10.cpp │ │ │ │ ├── Truckload.cpp │ │ │ │ └── Truckload.cppm │ │ │ ├── Ex13_11/ │ │ │ │ ├── Box.cppm │ │ │ │ ├── Ex13_11.cpp │ │ │ │ ├── Truckload.cpp │ │ │ │ └── Truckload.cppm │ │ │ ├── Ex13_12/ │ │ │ │ ├── Ex13_12.cpp │ │ │ │ ├── Message.cpp │ │ │ │ └── Message.cppm │ │ │ ├── Ex13_12A/ │ │ │ │ ├── Ex13_12A.cpp │ │ │ │ ├── Message.cpp │ │ │ │ └── Message.cppm │ │ │ └── Ex13_12B/ │ │ │ ├── Ex13_12B.cpp │ │ │ ├── Message.cpp │ │ │ └── Message.cppm │ │ ├── Chapter 14/ │ │ │ ├── Ex14_01/ │ │ │ │ ├── Box.cppm │ │ │ │ ├── Carton.cppm │ │ │ │ └── Ex14_01.cpp │ │ │ ├── Ex14_01A/ │ │ │ │ ├── Box.cppm │ │ │ │ ├── Carton.cppm │ │ │ │ └── Ex14_01A.cpp │ │ │ ├── Ex14_02/ │ │ │ │ ├── Box.cppm │ │ │ │ ├── Carton.cppm │ │ │ │ └── Ex14_02.cpp │ │ │ ├── Ex14_03/ │ │ │ │ ├── Box.cppm │ │ │ │ ├── Carton.cppm │ │ │ │ └── Ex14_03.cpp │ │ │ ├── Ex14_04/ │ │ │ │ ├── Box.cppm │ │ │ │ ├── Carton.cppm │ │ │ │ └── Ex14_04.cpp │ │ │ ├── Ex14_04A/ │ │ │ │ ├── Box.cppm │ │ │ │ ├── Carton.cppm │ │ │ │ └── Ex14_04A.cpp │ │ │ ├── Ex14_04B/ │ │ │ │ ├── Box.cppm │ │ │ │ ├── Carton.cppm │ │ │ │ └── Ex14_04B.cpp │ │ │ ├── Ex14_04C/ │ │ │ │ ├── Box.cppm │ │ │ │ ├── Carton.cppm │ │ │ │ └── Ex14_04C.cpp │ │ │ ├── Ex14_05/ │ │ │ │ ├── Box.cppm │ │ │ │ ├── Carton.cppm │ │ │ │ └── Ex14_05.cpp │ │ │ ├── Ex14_06/ │ │ │ │ ├── Box.cppm │ │ │ │ ├── Carton.cppm │ │ │ │ └── Ex14_06.cpp │ │ │ ├── Ex14_07/ │ │ │ │ ├── Box.cppm │ │ │ │ ├── Carton.cppm │ │ │ │ ├── CerealPack.cppm │ │ │ │ ├── Ex14_07.cpp │ │ │ │ └── FoodContainer.cppm │ │ │ ├── Ex14_07A/ │ │ │ │ ├── Box.cppm │ │ │ │ ├── Carton.cppm │ │ │ │ ├── CerealPack.cppm │ │ │ │ ├── Ex14_07A.cpp │ │ │ │ └── FoodContainer.cppm │ │ │ └── Ex14_07B/ │ │ │ ├── Box.cppm │ │ │ ├── Carton.cppm │ │ │ ├── CerealPack.cppm │ │ │ ├── Ex14_07B.cpp │ │ │ └── FoodContainer.cppm │ │ ├── Chapter 15/ │ │ │ ├── Ex15_01/ │ │ │ │ ├── Box.cppm │ │ │ │ ├── Boxes.cppm │ │ │ │ ├── Ex15_01.cpp │ │ │ │ └── ToughPack.cppm │ │ │ ├── Ex15_02/ │ │ │ │ ├── Box.cppm │ │ │ │ ├── Boxes.cppm │ │ │ │ ├── Carton.cppm │ │ │ │ ├── Ex15_02.cpp │ │ │ │ └── ToughPack.cppm │ │ │ ├── Ex15_03/ │ │ │ │ ├── Box.cppm │ │ │ │ ├── Boxes.cppm │ │ │ │ ├── Carton.cppm │ │ │ │ ├── Ex15_03.cpp │ │ │ │ └── ToughPack.cppm │ │ │ ├── Ex15_04/ │ │ │ │ ├── Box.cppm │ │ │ │ ├── Boxes.cppm │ │ │ │ ├── Carton.cppm │ │ │ │ ├── Ex15_04.cpp │ │ │ │ └── ToughPack.cppm │ │ │ ├── Ex15_05/ │ │ │ │ ├── Box.cppm │ │ │ │ ├── Boxes.cppm │ │ │ │ ├── Carton.cppm │ │ │ │ ├── Ex15_05.cpp │ │ │ │ └── ToughPack.cppm │ │ │ ├── Ex15_06/ │ │ │ │ ├── Box.cppm │ │ │ │ ├── Boxes.cppm │ │ │ │ ├── Carton.cppm │ │ │ │ ├── Ex15_06.cpp │ │ │ │ └── ToughPack.cppm │ │ │ ├── Ex15_07/ │ │ │ │ ├── Box.cppm │ │ │ │ ├── Boxes.cppm │ │ │ │ ├── Carton.cppm │ │ │ │ ├── Ex15_07.cpp │ │ │ │ └── ToughPack.cppm │ │ │ ├── Ex15_07A/ │ │ │ │ ├── Box.cppm │ │ │ │ ├── Boxes.cppm │ │ │ │ ├── Carton.cppm │ │ │ │ ├── Ex15_07A.cpp │ │ │ │ └── ToughPack.cppm │ │ │ ├── Ex15_08/ │ │ │ │ ├── Box.cppm │ │ │ │ ├── Boxes.cppm │ │ │ │ ├── Ex14_08.cpp │ │ │ │ └── ToughPack.cppm │ │ │ ├── Ex15_09/ │ │ │ │ ├── Box.cppm │ │ │ │ ├── Boxes.cppm │ │ │ │ ├── Carton.cppm │ │ │ │ └── Ex15_09.cpp │ │ │ ├── Ex15_10/ │ │ │ │ ├── Box.cppm │ │ │ │ ├── Boxes.cppm │ │ │ │ ├── Carton.cppm │ │ │ │ ├── Ex15_10.cpp │ │ │ │ └── ToughPack.cppm │ │ │ └── Ex15_11/ │ │ │ ├── Box.cppm │ │ │ ├── Boxes.cppm │ │ │ ├── Can.cppm │ │ │ ├── Carton.cppm │ │ │ ├── Ex15_11.cpp │ │ │ ├── ToughPack.cppm │ │ │ └── Vessel.cppm │ │ ├── Chapter 16/ │ │ │ ├── Ex16_01/ │ │ │ │ └── Ex16_01.cpp │ │ │ ├── Ex16_02/ │ │ │ │ ├── Ex16_02.cpp │ │ │ │ └── Troubles.cppm │ │ │ ├── Ex16_03/ │ │ │ │ ├── Ex16_03.cpp │ │ │ │ └── Troubles.cppm │ │ │ ├── Ex16_04/ │ │ │ │ ├── Ex16_04.cpp │ │ │ │ └── Troubles.cppm │ │ │ ├── Ex16_05/ │ │ │ │ ├── Ex16_05.cpp │ │ │ │ └── Troubles.cppm │ │ │ ├── Ex16_06/ │ │ │ │ ├── Ex16_06.cpp │ │ │ │ └── Troubles.cppm │ │ │ ├── Ex16_07/ │ │ │ │ ├── Ex16_07.cpp │ │ │ │ └── Troubles.cppm │ │ │ ├── Ex16_07A/ │ │ │ │ ├── Ex16_07A.cpp │ │ │ │ └── Troubles.cppm │ │ │ ├── Ex16_07B/ │ │ │ │ ├── DoubleArrayRAII.cppm │ │ │ │ ├── Ex16_07B.cpp │ │ │ │ └── Troubles.cppm │ │ │ ├── Ex16_07C/ │ │ │ │ ├── Ex16_07C.cpp │ │ │ │ └── Troubles.cppm │ │ │ ├── Ex16_07D/ │ │ │ │ ├── Ex16_07D.cpp │ │ │ │ └── Troubles.cppm │ │ │ └── Ex16_09/ │ │ │ ├── Box.cppm │ │ │ ├── DimensionError.cppm │ │ │ └── Ex16_09.cpp │ │ ├── Chapter 17/ │ │ │ ├── Ex17_01/ │ │ │ │ ├── Array.cppm │ │ │ │ ├── Box.cppm │ │ │ │ └── Ex17_01.cpp │ │ │ ├── Ex17_01A/ │ │ │ │ ├── Array.cppm │ │ │ │ ├── Box.cppm │ │ │ │ └── Ex17_01A.cpp │ │ │ ├── Ex17_02/ │ │ │ │ ├── Array.cppm │ │ │ │ ├── Box.cppm │ │ │ │ └── Ex17_02.cpp │ │ │ ├── Ex17_02A/ │ │ │ │ ├── Array.cppm │ │ │ │ ├── Box.cppm │ │ │ │ └── Ex17_02A.cpp │ │ │ ├── Ex17_03/ │ │ │ │ ├── Array.cppm │ │ │ │ ├── Box.cppm │ │ │ │ └── Ex17_03.cpp │ │ │ ├── Ex17_04/ │ │ │ │ ├── Ex17_04.cpp │ │ │ │ └── Stack.cppm │ │ │ ├── Ex17_04A/ │ │ │ │ ├── Ex17_04A.cpp │ │ │ │ └── Stack.cppm │ │ │ ├── Ex17_04B/ │ │ │ │ ├── Ex17_04B.cpp │ │ │ │ └── Stack.cppm │ │ │ ├── Ex17_05/ │ │ │ │ ├── Ex17_05A.cpp │ │ │ │ ├── Ex17_05B.cpp │ │ │ │ └── Ex17_05C.cpp │ │ │ └── Ex17_06/ │ │ │ └── Ex17_06.cpp │ │ ├── Chapter 18/ │ │ │ ├── Ex18_01/ │ │ │ │ ├── Array.cppm │ │ │ │ └── Ex18_01.cpp │ │ │ ├── Ex18_02/ │ │ │ │ ├── Array.cppm │ │ │ │ └── Ex18_02.cpp │ │ │ ├── Ex18_03/ │ │ │ │ ├── Array.cppm │ │ │ │ └── Ex18_03.cpp │ │ │ ├── Ex18_04/ │ │ │ │ ├── Array.cppm │ │ │ │ └── Ex18_04.cpp │ │ │ ├── Ex18_05A/ │ │ │ │ ├── Array.cppm │ │ │ │ └── Ex18_05A.cpp │ │ │ ├── Ex18_05B/ │ │ │ │ ├── Array.cppm │ │ │ │ └── Ex18_05B.cpp │ │ │ ├── Ex18_06/ │ │ │ │ ├── Array.cppm │ │ │ │ └── Ex18_06.cpp │ │ │ └── Ex18_07/ │ │ │ ├── Array.cppm │ │ │ └── Ex18_07.cpp │ │ ├── Chapter 19/ │ │ │ ├── Ex19_01/ │ │ │ │ └── Ex19_01.cpp │ │ │ ├── Ex19_02/ │ │ │ │ ├── Ex19_02.cpp │ │ │ │ └── Optimum.cppm │ │ │ ├── Ex19_03/ │ │ │ │ ├── Ex19_03.cpp │ │ │ │ ├── Less.cppm │ │ │ │ └── Optimum.cppm │ │ │ ├── Ex19_03A/ │ │ │ │ ├── Ex19_03A.cpp │ │ │ │ └── Optimum.cppm │ │ │ ├── Ex19_04/ │ │ │ │ ├── Ex19_04.cpp │ │ │ │ ├── Nearer.cppm │ │ │ │ └── Optimum.cppm │ │ │ ├── Ex19_05/ │ │ │ │ ├── Ex19_05.cpp │ │ │ │ └── Optimum.cppm │ │ │ ├── Ex19_05A/ │ │ │ │ ├── Ex19_05A.cpp │ │ │ │ └── Optimum.cppm │ │ │ ├── Ex19_06/ │ │ │ │ ├── Ex19_06.cpp │ │ │ │ └── Optimum.cppm │ │ │ ├── Ex19_07/ │ │ │ │ ├── Ex19_07.cpp │ │ │ │ ├── Finder.cpp │ │ │ │ ├── Finder.cppm │ │ │ │ └── Optimum.cppm │ │ │ └── Ex19_08/ │ │ │ └── Ex19_08.cpp │ │ ├── Chapter 20/ │ │ │ ├── Ex20_01/ │ │ │ │ └── Ex20_01.cpp │ │ │ ├── Ex20_02/ │ │ │ │ └── Ex20_02.cpp │ │ │ ├── Ex20_03/ │ │ │ │ └── Ex20_03.cpp │ │ │ ├── Ex20_04/ │ │ │ │ └── Ex20_04.cpp │ │ │ ├── Ex20_05/ │ │ │ │ └── Ex20_05.cpp │ │ │ ├── Ex20_06/ │ │ │ │ └── Ex20_06.cpp │ │ │ ├── Ex20_07/ │ │ │ │ └── Ex20_07.cpp │ │ │ ├── Ex20_08/ │ │ │ │ ├── Box.cppm │ │ │ │ └── Ex20_08.cpp │ │ │ ├── Ex20_09/ │ │ │ │ └── Ex20_09.cpp │ │ │ ├── Ex20_10/ │ │ │ │ └── Ex20_10.cpp │ │ │ ├── Ex20_11/ │ │ │ │ └── Ex20_11.cpp │ │ │ ├── Ex20_11A/ │ │ │ │ └── Ex20_11A.cpp │ │ │ ├── Ex20_12/ │ │ │ │ ├── Box.cppm │ │ │ │ └── Ex20_12.cpp │ │ │ ├── Ex20_12A/ │ │ │ │ ├── Box.cppm │ │ │ │ └── Ex20_12A.cpp │ │ │ ├── Ex20_13/ │ │ │ │ └── Ex20_13.cpp │ │ │ ├── Ex20_13A/ │ │ │ │ └── Ex20_13A.cpp │ │ │ ├── Ex20_13B/ │ │ │ │ └── Ex20_13B.cpp │ │ │ ├── Ex20_14/ │ │ │ │ └── Ex20_14.cpp │ │ │ ├── Ex20_14A/ │ │ │ │ └── Ex20_14A.cpp │ │ │ ├── Ex20_14B/ │ │ │ │ └── Ex20_14B.cpp │ │ │ ├── Ex20_15/ │ │ │ │ └── Ex20_15.cpp │ │ │ ├── Ex20_15A/ │ │ │ │ └── Ex20_15A.cpp │ │ │ ├── Ex20_16/ │ │ │ │ ├── Box.cppm │ │ │ │ └── Ex20_16.cpp │ │ │ ├── Ex20_17/ │ │ │ │ └── Ex20_17.cpp │ │ │ └── Ex20_18/ │ │ │ └── Ex20_18.cpp │ │ └── Chapter 21/ │ │ ├── Ex21_01/ │ │ │ └── Ex21_01.cpp │ │ ├── Ex21_02/ │ │ │ └── Ex21_02.cpp │ │ ├── Ex21_03/ │ │ │ ├── Array.cppm │ │ │ └── Ex21_03.cpp │ │ └── Ex21_04/ │ │ └── Ex21_04.cpp │ ├── NoModules/ │ │ ├── Appendix A/ │ │ │ ├── ExA_01/ │ │ │ │ └── ExA_01.cpp │ │ │ ├── ExA_02/ │ │ │ │ └── ExA_02.cpp │ │ │ ├── ExA_02A/ │ │ │ │ └── ExA_02A.cpp │ │ │ ├── ExA_03/ │ │ │ │ └── ExA_03.cpp │ │ │ ├── ExA_04/ │ │ │ │ └── ExA_04.cpp │ │ │ ├── ExA_05/ │ │ │ │ ├── ExA_05.cpp │ │ │ │ └── inclusivity.quote │ │ │ ├── ExA_06/ │ │ │ │ └── ExA_06.cpp │ │ │ ├── ExA_07/ │ │ │ │ ├── ExA_07.cpp │ │ │ │ └── Power.cpp │ │ │ ├── ExA_07A/ │ │ │ │ ├── ExA_07A.cpp │ │ │ │ ├── Power.cpp │ │ │ │ └── Power.h │ │ │ ├── ExA_08/ │ │ │ │ ├── ExA_08.cpp │ │ │ │ ├── Power.cpp │ │ │ │ └── Range.cpp │ │ │ ├── ExA_08A/ │ │ │ │ ├── ExA_08A.cpp │ │ │ │ ├── Power.cpp │ │ │ │ └── Range.cpp │ │ │ ├── ExA_09/ │ │ │ │ ├── ExA_09.cpp │ │ │ │ └── Power.cpp │ │ │ ├── ExA_09A/ │ │ │ │ ├── ExA_09A.cpp │ │ │ │ └── Power.cpp │ │ │ ├── ExA_10/ │ │ │ │ ├── BadMath.h │ │ │ │ └── ExA_10.cpp │ │ │ ├── ExA_10A/ │ │ │ │ ├── BetterMath.h │ │ │ │ └── ExA_10A.cpp │ │ │ ├── ExA_11/ │ │ │ │ ├── BetterMath.h │ │ │ │ ├── ExA_11.cpp │ │ │ │ ├── Hypot.cpp │ │ │ │ ├── Hypot.h │ │ │ │ ├── Pow4.cpp │ │ │ │ └── Pow4.h │ │ │ ├── ExA_12/ │ │ │ │ ├── ExA_12.cpp │ │ │ │ ├── Hypot.cpp │ │ │ │ ├── Hypot.h │ │ │ │ ├── Pow4.cpp │ │ │ │ ├── Pow4.h │ │ │ │ └── ProperMath.h │ │ │ ├── ExA_13/ │ │ │ │ ├── Box.cpp │ │ │ │ ├── Box.h │ │ │ │ └── ExA_13.cpp │ │ │ └── ExA_13A/ │ │ │ ├── Box.h │ │ │ └── ExA_13A.cpp │ │ ├── Chapter 01/ │ │ │ ├── Ex1_01.cpp │ │ │ └── Ex1_02.cpp │ │ ├── Chapter 02/ │ │ │ ├── Ex2_01.cpp │ │ │ ├── Ex2_02.cpp │ │ │ ├── Ex2_03.cpp │ │ │ ├── Ex2_03A.cpp │ │ │ ├── Ex2_03B.cpp │ │ │ ├── Ex2_03C.cpp │ │ │ ├── Ex2_03D.cpp │ │ │ ├── Ex2_04.cpp │ │ │ ├── Ex2_05.cpp │ │ │ ├── Ex2_06.cpp │ │ │ ├── Ex2_06B.cpp │ │ │ └── Ex2_07.cpp │ │ ├── Chapter 03/ │ │ │ ├── Ex3_01.cpp │ │ │ ├── Ex3_02.cpp │ │ │ └── Ex3_03.cpp │ │ ├── Chapter 04/ │ │ │ ├── Ex4_01.cpp │ │ │ ├── Ex4_01A.cpp │ │ │ ├── Ex4_02.cpp │ │ │ ├── Ex4_02A.cpp │ │ │ ├── Ex4_03.cpp │ │ │ ├── Ex4_04.cpp │ │ │ ├── Ex4_04A.cpp │ │ │ ├── Ex4_05.cpp │ │ │ ├── Ex4_06.cpp │ │ │ ├── Ex4_07.cpp │ │ │ ├── Ex4_08.cpp │ │ │ ├── Ex4_09.cpp │ │ │ └── Ex4_09A.cpp │ │ ├── Chapter 05/ │ │ │ ├── Ex5_01.cpp │ │ │ ├── Ex5_02.cpp │ │ │ ├── Ex5_03.cpp │ │ │ ├── Ex5_03A.cpp │ │ │ ├── Ex5_04.cpp │ │ │ ├── Ex5_04A.cpp │ │ │ ├── Ex5_05.cpp │ │ │ ├── Ex5_06.cpp │ │ │ ├── Ex5_07.cpp │ │ │ ├── Ex5_07A.cpp │ │ │ ├── Ex5_08.cpp │ │ │ ├── Ex5_09.cpp │ │ │ ├── Ex5_10.cpp │ │ │ ├── Ex5_11.cpp │ │ │ ├── Ex5_12.cpp │ │ │ ├── Ex5_12A.cpp │ │ │ ├── Ex5_13.cpp │ │ │ ├── Ex5_14.cpp │ │ │ └── Ex5_15.cpp │ │ ├── Chapter 06/ │ │ │ ├── Ex6_01.cpp │ │ │ ├── Ex6_02.cpp │ │ │ ├── Ex6_03.cpp │ │ │ ├── Ex6_04.cpp │ │ │ ├── Ex6_05.cpp │ │ │ ├── Ex6_06.cpp │ │ │ └── Ex6_07.cpp │ │ ├── Chapter 07/ │ │ │ ├── Ex7_01.cpp │ │ │ ├── Ex7_01A.cpp │ │ │ ├── Ex7_02.cpp │ │ │ ├── Ex7_02A.cpp │ │ │ ├── Ex7_03.cpp │ │ │ ├── Ex7_04.cpp │ │ │ ├── Ex7_05.cpp │ │ │ ├── Ex7_06.cpp │ │ │ └── Ex7_07.cpp │ │ ├── Chapter 08/ │ │ │ ├── Ex8_01.cpp │ │ │ ├── Ex8_02.cpp │ │ │ ├── Ex8_03.cpp │ │ │ ├── Ex8_04.cpp │ │ │ ├── Ex8_05.cpp │ │ │ ├── Ex8_05A.cpp │ │ │ ├── Ex8_06.cpp │ │ │ ├── Ex8_06A.cpp │ │ │ ├── Ex8_07.cpp │ │ │ ├── Ex8_08.cpp │ │ │ ├── Ex8_09A.cpp │ │ │ ├── Ex8_09B.cpp │ │ │ ├── Ex8_09C.cpp │ │ │ ├── Ex8_10.cpp │ │ │ ├── Ex8_11.cpp │ │ │ ├── Ex8_12.cpp │ │ │ ├── Ex8_13.cpp │ │ │ ├── Ex8_14.cpp │ │ │ ├── Ex8_15.cpp │ │ │ ├── Ex8_16.cpp │ │ │ └── Ex8_17.cpp │ │ ├── Chapter 09/ │ │ │ ├── Ex9_01.cpp │ │ │ ├── Ex9_02.cpp │ │ │ ├── Ex9_03.cpp │ │ │ └── Ex9_03A.cpp │ │ ├── Chapter 10/ │ │ │ ├── Ex10_01.cpp │ │ │ ├── Ex10_02.cpp │ │ │ ├── Ex10_03.cpp │ │ │ ├── Ex10_03A.cpp │ │ │ └── Ex10_04.cpp │ │ ├── Chapter 11/ │ │ │ ├── Ex11_06/ │ │ │ │ └── Ex11_06.cpp │ │ │ ├── Ex11_07/ │ │ │ │ ├── Ex11_07.cpp │ │ │ │ ├── math.cpp │ │ │ │ └── math.h │ │ │ └── Ex11_08/ │ │ │ ├── Ex11_08.cpp │ │ │ └── squaring.h │ │ ├── Chapter 12/ │ │ │ ├── Ex12_01/ │ │ │ │ └── Ex12_01.cpp │ │ │ ├── Ex12_01A/ │ │ │ │ └── Ex12_01A.cpp │ │ │ ├── Ex12_02/ │ │ │ │ └── Ex12_02.cpp │ │ │ ├── Ex12_03/ │ │ │ │ └── Ex12_03.cpp │ │ │ ├── Ex12_04/ │ │ │ │ └── Ex12_04.cpp │ │ │ ├── Ex12_05/ │ │ │ │ └── Ex12_05.cpp │ │ │ ├── Ex12_05A/ │ │ │ │ └── Ex12_05A.cpp │ │ │ ├── Ex12_06/ │ │ │ │ ├── Box.h │ │ │ │ └── Ex12_06.cpp │ │ │ ├── Ex12_06A/ │ │ │ │ ├── Box.cpp │ │ │ │ ├── Box.h │ │ │ │ └── Ex12_06A.cpp │ │ │ ├── Ex12_06B/ │ │ │ │ ├── Box.h │ │ │ │ └── Ex12_06B.cpp │ │ │ ├── Ex12_07/ │ │ │ │ ├── Box.cpp │ │ │ │ ├── Box.h │ │ │ │ └── Ex12_07.cpp │ │ │ ├── Ex12_08/ │ │ │ │ ├── Box.cpp │ │ │ │ ├── Box.h │ │ │ │ └── Ex12_08.cpp │ │ │ ├── Ex12_09/ │ │ │ │ ├── Box.cpp │ │ │ │ ├── Box.h │ │ │ │ └── Ex12_09.cpp │ │ │ ├── Ex12_10/ │ │ │ │ ├── Box.cpp │ │ │ │ ├── Box.h │ │ │ │ └── Ex12_10.cpp │ │ │ ├── Ex12_11/ │ │ │ │ ├── Box.cpp │ │ │ │ ├── Box.h │ │ │ │ └── Ex12_11.cpp │ │ │ ├── Ex12_12/ │ │ │ │ ├── Box.cpp │ │ │ │ ├── Box.h │ │ │ │ └── Ex12_12.cpp │ │ │ ├── Ex12_13/ │ │ │ │ ├── Box.cpp │ │ │ │ ├── Box.h │ │ │ │ └── Ex12_13.cpp │ │ │ ├── Ex12_14/ │ │ │ │ ├── Box.cpp │ │ │ │ ├── Box.h │ │ │ │ └── Ex12_14.cpp │ │ │ ├── Ex12_15/ │ │ │ │ ├── CylindricalBox.cpp │ │ │ │ ├── CylindricalBox.h │ │ │ │ └── Ex12_15.cpp │ │ │ ├── Ex12_16/ │ │ │ │ ├── Box.cpp │ │ │ │ ├── Box.h │ │ │ │ └── Ex12_16.cpp │ │ │ ├── Ex12_17/ │ │ │ │ ├── Box.h │ │ │ │ ├── Ex12_17.cpp │ │ │ │ ├── Package.h │ │ │ │ ├── RandomBoxes.h │ │ │ │ ├── SharedBox.h │ │ │ │ ├── Truckload.cpp │ │ │ │ └── Truckload.h │ │ │ └── Ex12_18/ │ │ │ ├── Box.h │ │ │ ├── Ex12_18.cpp │ │ │ ├── RandomBoxes.h │ │ │ ├── Truckload.cpp │ │ │ └── Truckload.h │ │ ├── Chapter 13/ │ │ │ ├── Ex13_01/ │ │ │ │ ├── Box.h │ │ │ │ └── Ex13_01.cpp │ │ │ ├── Ex13_02/ │ │ │ │ ├── Box.h │ │ │ │ └── Ex13_02.cpp │ │ │ ├── Ex13_03/ │ │ │ │ ├── Box.h │ │ │ │ └── Ex13_03.cpp │ │ │ ├── Ex13_03A/ │ │ │ │ ├── Box.h │ │ │ │ └── Ex13_03A.cpp │ │ │ ├── Ex13_04/ │ │ │ │ ├── Box.h │ │ │ │ └── Ex13_04.cpp │ │ │ ├── Ex13_05/ │ │ │ │ ├── Box.cpp │ │ │ │ ├── Box.h │ │ │ │ └── Ex13_05.cpp │ │ │ ├── Ex13_06/ │ │ │ │ ├── Box.cpp │ │ │ │ ├── Box.h │ │ │ │ └── Ex13_06.cpp │ │ │ ├── Ex13_07/ │ │ │ │ ├── Ex13_07.cpp │ │ │ │ └── Integer.h │ │ │ ├── Ex13_08/ │ │ │ │ ├── Box.h │ │ │ │ └── Ex13_08.cpp │ │ │ ├── Ex13_09/ │ │ │ │ ├── Box.h │ │ │ │ └── Ex13_09.cpp │ │ │ ├── Ex13_10/ │ │ │ │ ├── Box.h │ │ │ │ ├── Ex13_10.cpp │ │ │ │ ├── Truckload.cpp │ │ │ │ └── Truckload.h │ │ │ ├── Ex13_11/ │ │ │ │ ├── Box.h │ │ │ │ ├── Ex13_11.cpp │ │ │ │ ├── Truckload.cpp │ │ │ │ └── Truckload.h │ │ │ ├── Ex13_12/ │ │ │ │ ├── Ex13_12.cpp │ │ │ │ ├── Message.cpp │ │ │ │ └── Message.h │ │ │ ├── Ex13_12A/ │ │ │ │ ├── Ex13_12A.cpp │ │ │ │ ├── Message.cpp │ │ │ │ └── Message.h │ │ │ └── Ex13_12B/ │ │ │ ├── Ex13_12B.cpp │ │ │ ├── Message.cpp │ │ │ └── Message.h │ │ ├── Chapter 14/ │ │ │ ├── Ex14_01/ │ │ │ │ ├── Box.h │ │ │ │ ├── Carton.h │ │ │ │ └── Ex14_01.cpp │ │ │ ├── Ex14_01A/ │ │ │ │ ├── Box.h │ │ │ │ ├── Carton.h │ │ │ │ └── Ex14_01A.cpp │ │ │ ├── Ex14_02/ │ │ │ │ ├── Box.h │ │ │ │ ├── Carton.h │ │ │ │ └── Ex14_02.cpp │ │ │ ├── Ex14_03/ │ │ │ │ ├── Box.h │ │ │ │ ├── Carton.h │ │ │ │ └── Ex14_03.cpp │ │ │ ├── Ex14_04/ │ │ │ │ ├── Box.h │ │ │ │ ├── Carton.h │ │ │ │ └── Ex14_04.cpp │ │ │ ├── Ex14_04A/ │ │ │ │ ├── Box.h │ │ │ │ ├── Carton.h │ │ │ │ └── Ex14_04A.cpp │ │ │ ├── Ex14_04B/ │ │ │ │ ├── Box.h │ │ │ │ ├── Carton.h │ │ │ │ └── Ex14_04B.cpp │ │ │ ├── Ex14_04C/ │ │ │ │ ├── Box.h │ │ │ │ ├── Carton.h │ │ │ │ └── Ex14_04C.cpp │ │ │ ├── Ex14_05/ │ │ │ │ ├── Box.h │ │ │ │ ├── Carton.h │ │ │ │ └── Ex14_05.cpp │ │ │ ├── Ex14_06/ │ │ │ │ ├── Box.h │ │ │ │ ├── Carton.h │ │ │ │ └── Ex14_06.cpp │ │ │ ├── Ex14_07/ │ │ │ │ ├── Box.h │ │ │ │ ├── Carton.h │ │ │ │ ├── CerealPack.h │ │ │ │ ├── Ex14_07.cpp │ │ │ │ └── FoodContainer.h │ │ │ ├── Ex14_07A/ │ │ │ │ ├── Box.h │ │ │ │ ├── Carton.h │ │ │ │ ├── CerealPack.h │ │ │ │ ├── Ex14_07A.cpp │ │ │ │ └── FoodContainer.h │ │ │ └── Ex14_07B/ │ │ │ ├── Box.h │ │ │ ├── Carton.h │ │ │ ├── CerealPack.h │ │ │ ├── Ex14_07B.cpp │ │ │ └── FoodContainer.h │ │ ├── Chapter 15/ │ │ │ ├── Ex15_01/ │ │ │ │ ├── Box.h │ │ │ │ ├── Ex15_01.cpp │ │ │ │ └── ToughPack.h │ │ │ ├── Ex15_02/ │ │ │ │ ├── Box.h │ │ │ │ ├── Carton.h │ │ │ │ ├── Ex15_02.cpp │ │ │ │ └── ToughPack.h │ │ │ ├── Ex15_03/ │ │ │ │ ├── Box.h │ │ │ │ ├── Carton.h │ │ │ │ ├── Ex15_03.cpp │ │ │ │ └── ToughPack.h │ │ │ ├── Ex15_04/ │ │ │ │ ├── Box.h │ │ │ │ ├── Carton.h │ │ │ │ ├── Ex15_04.cpp │ │ │ │ └── ToughPack.h │ │ │ ├── Ex15_05/ │ │ │ │ ├── Box.h │ │ │ │ ├── Carton.h │ │ │ │ ├── Ex15_05.cpp │ │ │ │ └── ToughPack.h │ │ │ ├── Ex15_06/ │ │ │ │ ├── Box.h │ │ │ │ ├── Carton.h │ │ │ │ ├── Ex15_06.cpp │ │ │ │ └── ToughPack.h │ │ │ ├── Ex15_07/ │ │ │ │ ├── Box.h │ │ │ │ ├── Carton.h │ │ │ │ ├── Ex15_07.cpp │ │ │ │ └── ToughPack.h │ │ │ ├── Ex15_07A/ │ │ │ │ ├── Box.h │ │ │ │ ├── Carton.h │ │ │ │ ├── Ex15_07A.cpp │ │ │ │ └── ToughPack.h │ │ │ ├── Ex15_08/ │ │ │ │ ├── Box.h │ │ │ │ ├── Ex14_08.cpp │ │ │ │ └── ToughPack.h │ │ │ ├── Ex15_09/ │ │ │ │ ├── Box.h │ │ │ │ ├── Carton.h │ │ │ │ └── Ex15_09.cpp │ │ │ ├── Ex15_10/ │ │ │ │ ├── Box.h │ │ │ │ ├── Carton.h │ │ │ │ ├── Ex15_10.cpp │ │ │ │ └── ToughPack.h │ │ │ └── Ex15_11/ │ │ │ ├── Box.h │ │ │ ├── Can.h │ │ │ ├── Carton.h │ │ │ ├── Ex15_11.cpp │ │ │ ├── ToughPack.h │ │ │ └── Vessel.h │ │ ├── Chapter 16/ │ │ │ ├── Ex16_01/ │ │ │ │ └── Ex16_01.cpp │ │ │ ├── Ex16_02/ │ │ │ │ ├── Ex16_02.cpp │ │ │ │ └── Troubles.h │ │ │ ├── Ex16_03/ │ │ │ │ ├── Ex16_03.cpp │ │ │ │ └── Troubles.h │ │ │ ├── Ex16_04/ │ │ │ │ ├── Ex16_04.cpp │ │ │ │ └── Troubles.h │ │ │ ├── Ex16_05/ │ │ │ │ ├── Ex16_05.cpp │ │ │ │ └── Troubles.h │ │ │ ├── Ex16_06/ │ │ │ │ ├── Ex16_06.cpp │ │ │ │ └── Troubles.h │ │ │ ├── Ex16_07/ │ │ │ │ ├── Ex16_07.cpp │ │ │ │ └── Troubles.h │ │ │ ├── Ex16_07A/ │ │ │ │ ├── Ex16_07A.cpp │ │ │ │ └── Troubles.h │ │ │ ├── Ex16_07B/ │ │ │ │ ├── DoubleArrayRAII.h │ │ │ │ ├── Ex16_07B.cpp │ │ │ │ └── Troubles.h │ │ │ ├── Ex16_07C/ │ │ │ │ ├── Ex16_07C.cpp │ │ │ │ └── Troubles.h │ │ │ ├── Ex16_07D/ │ │ │ │ ├── Ex16_07D.cpp │ │ │ │ └── Troubles.h │ │ │ └── Ex16_09/ │ │ │ ├── Box.h │ │ │ ├── DimensionError.h │ │ │ └── Ex16_09.cpp │ │ ├── Chapter 17/ │ │ │ ├── Ex17_01/ │ │ │ │ ├── Array.h │ │ │ │ ├── Box.h │ │ │ │ └── Ex17_01.cpp │ │ │ ├── Ex17_01A/ │ │ │ │ ├── Array.h │ │ │ │ ├── Box.h │ │ │ │ └── Ex17_01A.cpp │ │ │ ├── Ex17_02/ │ │ │ │ ├── Array.h │ │ │ │ ├── Box.h │ │ │ │ └── Ex17_02.cpp │ │ │ ├── Ex17_02A/ │ │ │ │ ├── Array.h │ │ │ │ ├── Box.h │ │ │ │ └── Ex17_02A.cpp │ │ │ ├── Ex17_03/ │ │ │ │ ├── Array.h │ │ │ │ ├── Box.h │ │ │ │ └── Ex17_03.cpp │ │ │ ├── Ex17_04/ │ │ │ │ ├── Ex17_04.cpp │ │ │ │ └── Stack.h │ │ │ ├── Ex17_04A/ │ │ │ │ ├── Ex17_04A.cpp │ │ │ │ └── Stack.h │ │ │ ├── Ex17_04B/ │ │ │ │ ├── Ex17_04B.cpp │ │ │ │ └── Stack.h │ │ │ ├── Ex17_05/ │ │ │ │ ├── Ex17_05A.cpp │ │ │ │ ├── Ex17_05B.cpp │ │ │ │ └── Ex17_05C.cpp │ │ │ └── Ex17_06/ │ │ │ └── Ex17_06.cpp │ │ ├── Chapter 18/ │ │ │ ├── Ex18_01/ │ │ │ │ ├── Array.h │ │ │ │ └── Ex18_01.cpp │ │ │ ├── Ex18_02/ │ │ │ │ ├── Array.h │ │ │ │ └── Ex18_02.cpp │ │ │ ├── Ex18_03/ │ │ │ │ ├── Array.h │ │ │ │ └── Ex18_03.cpp │ │ │ ├── Ex18_04/ │ │ │ │ ├── Array.h │ │ │ │ └── Ex18_04.cpp │ │ │ ├── Ex18_05A/ │ │ │ │ ├── Array.h │ │ │ │ └── Ex18_05A.cpp │ │ │ ├── Ex18_05B/ │ │ │ │ ├── Array.h │ │ │ │ └── Ex18_05B.cpp │ │ │ ├── Ex18_06/ │ │ │ │ ├── Array.h │ │ │ │ └── Ex18_06.cpp │ │ │ └── Ex18_07/ │ │ │ ├── Array.h │ │ │ └── Ex18_07.cpp │ │ ├── Chapter 19/ │ │ │ ├── Ex19_01/ │ │ │ │ └── Ex19_01.cpp │ │ │ ├── Ex19_02/ │ │ │ │ ├── Ex19_02.cpp │ │ │ │ └── Optimum.h │ │ │ ├── Ex19_03/ │ │ │ │ ├── Ex19_03.cpp │ │ │ │ ├── Less.h │ │ │ │ └── Optimum.h │ │ │ ├── Ex19_03A/ │ │ │ │ ├── Ex19_03A.cpp │ │ │ │ └── Optimum.h │ │ │ ├── Ex19_04/ │ │ │ │ ├── Ex19_04.cpp │ │ │ │ ├── Nearer.h │ │ │ │ └── Optimum.h │ │ │ ├── Ex19_05/ │ │ │ │ ├── Ex19_05.cpp │ │ │ │ └── Optimum.h │ │ │ ├── Ex19_05A/ │ │ │ │ ├── Ex19_05A.cpp │ │ │ │ └── Optimum.h │ │ │ ├── Ex19_06/ │ │ │ │ ├── Ex19_06.cpp │ │ │ │ └── Optimum.h │ │ │ ├── Ex19_07/ │ │ │ │ ├── Ex19_07.cpp │ │ │ │ ├── Finder.cpp │ │ │ │ ├── Finder.h │ │ │ │ └── Optimum.h │ │ │ └── Ex19_08/ │ │ │ └── Ex19_08.cpp │ │ ├── Chapter 20/ │ │ │ ├── Ex20_01/ │ │ │ │ └── Ex20_01.cpp │ │ │ ├── Ex20_02/ │ │ │ │ └── Ex20_02.cpp │ │ │ ├── Ex20_03/ │ │ │ │ └── Ex20_03.cpp │ │ │ ├── Ex20_04/ │ │ │ │ └── Ex20_04.cpp │ │ │ ├── Ex20_05/ │ │ │ │ └── Ex20_05.cpp │ │ │ ├── Ex20_06/ │ │ │ │ └── Ex20_06.cpp │ │ │ ├── Ex20_07/ │ │ │ │ └── Ex20_07.cpp │ │ │ ├── Ex20_08/ │ │ │ │ ├── Box.h │ │ │ │ └── Ex20_08.cpp │ │ │ ├── Ex20_09/ │ │ │ │ └── Ex20_09.cpp │ │ │ ├── Ex20_10/ │ │ │ │ └── Ex20_10.cpp │ │ │ ├── Ex20_11/ │ │ │ │ └── Ex20_11.cpp │ │ │ ├── Ex20_11A/ │ │ │ │ └── Ex20_11A.cpp │ │ │ ├── Ex20_12/ │ │ │ │ ├── Box.h │ │ │ │ └── Ex20_12.cpp │ │ │ ├── Ex20_12A/ │ │ │ │ ├── Box.h │ │ │ │ └── Ex20_12A.cpp │ │ │ ├── Ex20_13/ │ │ │ │ └── Ex20_13.cpp │ │ │ ├── Ex20_13A/ │ │ │ │ └── Ex20_13A.cpp │ │ │ ├── Ex20_13B/ │ │ │ │ └── Ex20_13B.cpp │ │ │ ├── Ex20_14/ │ │ │ │ └── Ex20_14.cpp │ │ │ ├── Ex20_14A/ │ │ │ │ └── Ex20_14A.cpp │ │ │ ├── Ex20_14B/ │ │ │ │ └── Ex20_14B.cpp │ │ │ ├── Ex20_15/ │ │ │ │ └── Ex20_15.cpp │ │ │ ├── Ex20_15A/ │ │ │ │ └── Ex20_15A.cpp │ │ │ ├── Ex20_16/ │ │ │ │ ├── Box.h │ │ │ │ └── Ex20_16.cpp │ │ │ ├── Ex20_17/ │ │ │ │ └── Ex20_17.cpp │ │ │ └── Ex20_18/ │ │ │ └── Ex20_18.cpp │ │ └── Chapter 21/ │ │ ├── Ex21_01/ │ │ │ └── Ex21_01.cpp │ │ ├── Ex21_02/ │ │ │ └── Ex21_02.cpp │ │ ├── Ex21_03/ │ │ │ ├── Array.h │ │ │ └── Ex21_03.cpp │ │ └── Ex21_04/ │ │ └── Ex21_04.cpp │ └── README.md ├── Exercises/ │ ├── Modules/ │ │ ├── Chapter 01/ │ │ │ ├── Exer1_03.cpp │ │ │ ├── Soln1_01.cpp │ │ │ └── Soln1_02.cpp │ │ ├── Chapter 02/ │ │ │ ├── Soln2_01A.cpp │ │ │ ├── Soln2_01B.cpp │ │ │ ├── Soln2_02A.cpp │ │ │ ├── Soln2_02B.cpp │ │ │ ├── Soln2_03.cpp │ │ │ ├── Soln2_04.cpp │ │ │ ├── Soln2_05.cpp │ │ │ ├── Soln2_06.cpp │ │ │ ├── Soln2_07.cpp │ │ │ └── Soln2_08.cpp │ │ ├── Chapter 03/ │ │ │ ├── Soln3_01.cpp │ │ │ ├── Soln3_02.cpp │ │ │ ├── Soln3_03.cpp │ │ │ ├── Soln3_04.cpp │ │ │ ├── Soln3_05.cpp │ │ │ └── Soln3_06.cpp │ │ ├── Chapter 04/ │ │ │ ├── Soln4_01.cpp │ │ │ ├── Soln4_02.cpp │ │ │ ├── Soln4_03.cpp │ │ │ ├── Soln4_04.cpp │ │ │ ├── Soln4_05.cpp │ │ │ ├── Soln4_06.cpp │ │ │ ├── Soln4_07.cpp │ │ │ └── Soln4_08.cpp │ │ ├── Chapter 05/ │ │ │ ├── Soln5_01.cpp │ │ │ ├── Soln5_02.cpp │ │ │ ├── Soln5_03.cpp │ │ │ ├── Soln5_04.cpp │ │ │ ├── Soln5_05.cpp │ │ │ ├── Soln5_06.cpp │ │ │ ├── Soln5_07.cpp │ │ │ └── Soln5_08.cpp │ │ ├── Chapter 06/ │ │ │ ├── Soln6_01.cpp │ │ │ ├── Soln6_02.cpp │ │ │ ├── Soln6_03.cpp │ │ │ ├── Soln6_04.cpp │ │ │ ├── Soln6_05.cpp │ │ │ └── Soln6_06.cpp │ │ ├── Chapter 08/ │ │ │ ├── Soln8_01.cpp │ │ │ ├── Soln8_02.cpp │ │ │ ├── Soln8_03.cpp │ │ │ ├── Soln8_04.cpp │ │ │ ├── Soln8_05.cpp │ │ │ ├── Soln8_06.cpp │ │ │ ├── Soln8_07.cpp │ │ │ ├── Soln8_07A.cpp │ │ │ ├── Soln8_08.cpp │ │ │ └── Soln8_09.cpp │ │ ├── Chapter 09/ │ │ │ ├── Soln9_01.cpp │ │ │ ├── Soln9_02.cpp │ │ │ ├── Soln9_03.cpp │ │ │ ├── Soln9_04.cpp │ │ │ ├── Soln9_05.cpp │ │ │ └── Soln9_06.cpp │ │ ├── Chapter 10/ │ │ │ ├── Soln10_01.cpp │ │ │ ├── Soln10_02.cpp │ │ │ ├── Soln10_03.cpp │ │ │ ├── Soln10_04.cpp │ │ │ ├── Soln10_05.cpp │ │ │ └── Soln10_06.cpp │ │ ├── Chapter 11/ │ │ │ ├── Soln11_01/ │ │ │ │ ├── Soln11_01.cpp │ │ │ │ └── words.cppm │ │ │ ├── Soln11_02/ │ │ │ │ ├── Soln11_02.cpp │ │ │ │ ├── words.cpp │ │ │ │ └── words.cppm │ │ │ ├── Soln11_03/ │ │ │ │ ├── Soln11_03.cpp │ │ │ │ ├── words.cppm │ │ │ │ ├── words.sorting.cpp │ │ │ │ ├── words.sorting.cppm │ │ │ │ ├── words.utils.cpp │ │ │ │ └── words.utils.cppm │ │ │ ├── Soln11_04/ │ │ │ │ ├── Soln11_04.cpp │ │ │ │ ├── internals.cpp │ │ │ │ ├── words.cpp │ │ │ │ └── words.cppm │ │ │ ├── Soln11_05/ │ │ │ │ ├── Soln11_05.cpp │ │ │ │ ├── alias.cppm │ │ │ │ ├── internals.cpp │ │ │ │ ├── sorting.cppm │ │ │ │ ├── utils.cppm │ │ │ │ └── words.cppm │ │ │ └── Soln11_06/ │ │ │ ├── Soln11_06.cpp │ │ │ ├── words.cpp │ │ │ └── words.cppm │ │ ├── Chapter 12/ │ │ │ ├── Soln12_01/ │ │ │ │ ├── Integer.cpp │ │ │ │ ├── Integer.cppm │ │ │ │ └── Soln12_01.cpp │ │ │ ├── Soln12_02/ │ │ │ │ ├── Integer.cpp │ │ │ │ ├── Integer.cppm │ │ │ │ └── Soln12_02.cpp │ │ │ ├── Soln12_03/ │ │ │ │ ├── Integer.cpp │ │ │ │ ├── Integer.cppm │ │ │ │ └── Soln12_03.cpp │ │ │ ├── Soln12_04/ │ │ │ │ ├── Integer.cpp │ │ │ │ ├── Integer.cppm │ │ │ │ └── Soln12_04.cpp │ │ │ ├── Soln12_05/ │ │ │ │ ├── Integer.cpp │ │ │ │ ├── Integer.cppm │ │ │ │ └── Soln12_05.cpp │ │ │ ├── Soln12_06/ │ │ │ │ ├── Box.cppm │ │ │ │ ├── RandomBoxes.cppm │ │ │ │ ├── Soln12_06.cpp │ │ │ │ ├── Truckload.cpp │ │ │ │ └── Truckload.cppm │ │ │ ├── Soln12_07/ │ │ │ │ ├── Box.cppm │ │ │ │ ├── RandomBoxes.cppm │ │ │ │ ├── Soln12_07.cpp │ │ │ │ ├── Truckload.cpp │ │ │ │ └── Truckload.cppm │ │ │ └── Soln12_08/ │ │ │ ├── Box.cppm │ │ │ ├── RandomBoxes.cppm │ │ │ ├── Soln12_08.cpp │ │ │ ├── Truckload.cpp │ │ │ └── Truckload.cppm │ │ ├── Chapter 13/ │ │ │ ├── Soln13_01/ │ │ │ │ ├── Box.cpp │ │ │ │ ├── Box.cppm │ │ │ │ └── Soln13_01.cpp │ │ │ ├── Soln13_02/ │ │ │ │ ├── Box.cpp │ │ │ │ ├── Box.cppm │ │ │ │ └── Soln13_02.cpp │ │ │ ├── Soln13_03/ │ │ │ │ ├── Box.cpp │ │ │ │ ├── Box.cppm │ │ │ │ └── Soln13_03.cpp │ │ │ ├── Soln13_04/ │ │ │ │ ├── Box.cppm │ │ │ │ └── Soln13_04.cpp │ │ │ ├── Soln13_05/ │ │ │ │ ├── Box.cppm │ │ │ │ └── Soln13_05.cpp │ │ │ ├── Soln13_06/ │ │ │ │ ├── Box.cppm │ │ │ │ └── Soln13_06.cpp │ │ │ ├── Soln13_07/ │ │ │ │ ├── Rational.cppm │ │ │ │ └── Soln13_07.cpp │ │ │ ├── Soln13_08/ │ │ │ │ ├── Box.cpp │ │ │ │ ├── Box.cppm │ │ │ │ ├── PRNG.cppm │ │ │ │ └── Soln13_08.cpp │ │ │ └── Soln13_09/ │ │ │ ├── Box.cppm │ │ │ ├── Soln13_09.cpp │ │ │ ├── Truckload.cpp │ │ │ └── Truckload.cppm │ │ ├── Chapter 14/ │ │ │ ├── Soln14_01/ │ │ │ │ ├── Animals.cppm │ │ │ │ └── Soln14_01.cpp │ │ │ ├── Soln14_02/ │ │ │ │ ├── Animals.cppm │ │ │ │ └── Soln14_02.cpp │ │ │ ├── Soln14_03/ │ │ │ │ ├── Animals.cpp │ │ │ │ ├── Animals.cppm │ │ │ │ └── Soln14_03.cpp │ │ │ └── Soln14_04/ │ │ │ ├── Person.cpp │ │ │ ├── Person.cppm │ │ │ └── Soln14_04.cpp │ │ ├── Chapter 15/ │ │ │ ├── Soln15_01/ │ │ │ │ ├── Animals.cpp │ │ │ │ ├── Animals.cppm │ │ │ │ ├── Soln15_01.cpp │ │ │ │ ├── Zoo.cpp │ │ │ │ └── Zoo.cppm │ │ │ ├── Soln15_02/ │ │ │ │ ├── Animals.cpp │ │ │ │ ├── Animals.cppm │ │ │ │ ├── Soln15_02.cpp │ │ │ │ ├── Zoo.cpp │ │ │ │ └── Zoo.cppm │ │ │ ├── Soln15_03/ │ │ │ │ ├── Animals.cpp │ │ │ │ ├── Animals.cppm │ │ │ │ ├── Soln15_03.cpp │ │ │ │ ├── Zoo.cpp │ │ │ │ └── Zoo.cppm │ │ │ ├── Soln15_04/ │ │ │ │ ├── Animals.cpp │ │ │ │ ├── Animals.cppm │ │ │ │ ├── Soln15_04.cpp │ │ │ │ ├── Zoo.cpp │ │ │ │ └── Zoo.cppm │ │ │ ├── Soln15_05/ │ │ │ │ ├── Animals.cpp │ │ │ │ ├── Animals.cppm │ │ │ │ ├── Soln15_05.cpp │ │ │ │ ├── Zoo.cpp │ │ │ │ └── Zoo.cppm │ │ │ └── Soln15_06/ │ │ │ ├── Point.cppm │ │ │ ├── Shapes.cppm │ │ │ └── Soln15_06.cpp │ │ ├── Chapter 16/ │ │ │ ├── Exer16_06/ │ │ │ │ ├── Customer.cpp │ │ │ │ ├── Customer.cppm │ │ │ │ ├── DB.cpp │ │ │ │ ├── DB.h │ │ │ │ ├── DBException.cppm │ │ │ │ └── Exer16_06.cpp │ │ │ ├── Soln16_01/ │ │ │ │ ├── Curveball.cppm │ │ │ │ └── Soln16_01.cpp │ │ │ ├── Soln16_02/ │ │ │ │ ├── Curveball.cppm │ │ │ │ ├── Soln16_02.cpp │ │ │ │ └── TooManyExceptions.cppm │ │ │ ├── Soln16_03/ │ │ │ │ ├── Box.cppm │ │ │ │ ├── RandomBoxes.cppm │ │ │ │ ├── Soln16_03.cpp │ │ │ │ ├── Truckload.cpp │ │ │ │ └── Truckload.cppm │ │ │ ├── Soln16_04/ │ │ │ │ └── Soln16_04.cpp │ │ │ ├── Soln16_05/ │ │ │ │ ├── Curveball.cppm │ │ │ │ ├── DomainExceptions.cppm │ │ │ │ └── Soln16_05.cpp │ │ │ └── Soln16_06/ │ │ │ ├── Customer.cpp │ │ │ ├── Customer.cppm │ │ │ ├── DB.cpp │ │ │ ├── DB.h │ │ │ ├── DBException.cppm │ │ │ ├── DB_RAII.cppm │ │ │ └── Soln16_06.cpp │ │ ├── Chapter 17/ │ │ │ ├── Soln17_01/ │ │ │ │ ├── Array.cppm │ │ │ │ └── Soln17_01.cpp │ │ │ ├── Soln17_02/ │ │ │ │ ├── Pair.cppm │ │ │ │ └── Soln17_02.cpp │ │ │ ├── Soln17_03/ │ │ │ │ ├── Pair.cppm │ │ │ │ └── Soln17_03.cpp │ │ │ ├── Soln17_04/ │ │ │ │ ├── Pair.cppm │ │ │ │ ├── Soln17_04.cpp │ │ │ │ └── SparseArray.cppm │ │ │ ├── Soln17_05/ │ │ │ │ ├── LinkedList.cppm │ │ │ │ └── Soln17_05.cpp │ │ │ ├── Soln17_06/ │ │ │ │ ├── LinkedList.cppm │ │ │ │ ├── Pair.cppm │ │ │ │ ├── Soln17_06.cpp │ │ │ │ └── SparseArray.cppm │ │ │ ├── Soln17_07/ │ │ │ │ ├── Box.cppm │ │ │ │ ├── BoxFormatter.cppm │ │ │ │ └── Soln17_07.cpp │ │ │ └── Soln17_07A/ │ │ │ ├── Box.cppm │ │ │ ├── BoxFormatter.cppm │ │ │ └── Soln17_07A.cpp │ │ ├── Chapter 18/ │ │ │ ├── Soln18_01/ │ │ │ │ ├── Box.cppm │ │ │ │ ├── RandomBoxes.cppm │ │ │ │ ├── Soln18_01.cpp │ │ │ │ ├── Truckload.cpp │ │ │ │ └── Truckload.cppm │ │ │ ├── Soln18_02/ │ │ │ │ ├── LinkedList.cppm │ │ │ │ └── Soln18_02.cpp │ │ │ ├── Soln18_03/ │ │ │ │ ├── Customer.cpp │ │ │ │ ├── Customer.cppm │ │ │ │ ├── DB.cpp │ │ │ │ ├── DB.h │ │ │ │ ├── DBException.cppm │ │ │ │ ├── DB_RAII.cppm │ │ │ │ └── Soln18_03.cpp │ │ │ ├── Soln18_04/ │ │ │ │ ├── Customer.cpp │ │ │ │ ├── Customer.cppm │ │ │ │ ├── DB.cpp │ │ │ │ ├── DB.h │ │ │ │ ├── DBException.cppm │ │ │ │ ├── DB_RAII.cppm │ │ │ │ └── Soln18_04.cpp │ │ │ └── Soln18_05/ │ │ │ ├── Customer.cpp │ │ │ ├── Customer.cppm │ │ │ ├── DB.cpp │ │ │ ├── DB.h │ │ │ ├── DBException.cppm │ │ │ ├── DB_RAII.cppm │ │ │ └── Soln18_05.cpp │ │ ├── Chapter 19/ │ │ │ ├── Soln19_01/ │ │ │ │ └── Soln19_01.cpp │ │ │ ├── Soln19_02/ │ │ │ │ ├── Soln19_02.cpp │ │ │ │ └── Sort.cppm │ │ │ ├── Soln19_03/ │ │ │ │ ├── BubbleSort.cppm │ │ │ │ ├── Quicksort.cppm │ │ │ │ ├── Soln19_03.cpp │ │ │ │ └── Sort.cppm │ │ │ ├── Soln19_04/ │ │ │ │ ├── Collect.cppm │ │ │ │ └── Soln19_04.cpp │ │ │ └── Soln19_05/ │ │ │ ├── Box.cppm │ │ │ ├── DeliveryTruck.cpp │ │ │ ├── DeliveryTruck.cppm │ │ │ ├── RandomBoxes.cppm │ │ │ ├── Soln19_05.cpp │ │ │ ├── Truckload.cpp │ │ │ └── Truckload.cppm │ │ ├── Chapter 20/ │ │ │ ├── Soln20_01/ │ │ │ │ ├── Box.cppm │ │ │ │ ├── RandomBoxes.cppm │ │ │ │ ├── Soln20_01.cpp │ │ │ │ ├── Truckload.cpp │ │ │ │ └── Truckload.cppm │ │ │ ├── Soln20_02/ │ │ │ │ └── Soln20_02.cpp │ │ │ ├── Soln20_03/ │ │ │ │ └── Soln20_03.cpp │ │ │ ├── Soln20_03A/ │ │ │ │ └── Soln20_03A.cpp │ │ │ ├── Soln20_04/ │ │ │ │ └── Soln20_04.cpp │ │ │ ├── Soln20_05/ │ │ │ │ └── Soln20_05.cpp │ │ │ ├── Soln20_06/ │ │ │ │ └── Soln20_06.cpp │ │ │ ├── Soln20_07/ │ │ │ │ └── Soln20_07.cpp │ │ │ ├── Soln20_08/ │ │ │ │ └── Soln20_08.cpp │ │ │ ├── Soln20_09/ │ │ │ │ └── Soln20_09.cpp │ │ │ ├── Soln20_10/ │ │ │ │ └── Soln20_10.cpp │ │ │ ├── Soln20_11/ │ │ │ │ └── Soln20_11.cpp │ │ │ ├── Soln20_12/ │ │ │ │ └── Soln20_12.cpp │ │ │ ├── Soln20_13/ │ │ │ │ └── Soln20_13.cpp │ │ │ └── Soln20_14/ │ │ │ └── Soln20_14.cpp │ │ └── Chapter 21/ │ │ ├── Soln21_01/ │ │ │ └── Soln21_01.cpp │ │ ├── Soln21_02/ │ │ │ └── Soln21_02.cpp │ │ ├── Soln21_03/ │ │ │ └── Soln21_03.cpp │ │ ├── Soln21_04/ │ │ │ └── Soln21_04.cpp │ │ ├── Soln21_05/ │ │ │ └── Soln21_05.cpp │ │ └── Soln21_06/ │ │ ├── Array.cppm │ │ └── Soln21_06.cpp │ ├── NoModules/ │ │ ├── Appendix A/ │ │ │ ├── SolnA_01/ │ │ │ │ ├── ASSERT.h │ │ │ │ └── SolnA_01.cpp │ │ │ ├── SolnA_02/ │ │ │ │ ├── ASSERT.h │ │ │ │ └── SolnA_02.cpp │ │ │ ├── SolnA_03/ │ │ │ │ ├── SmartException.cpp │ │ │ │ ├── SmartException.h │ │ │ │ └── SolnA_03.cpp │ │ │ ├── SolnA_04/ │ │ │ │ ├── SmartException.h │ │ │ │ └── SolnA_04.cpp │ │ │ ├── SolnA_05/ │ │ │ │ ├── Print.cpp │ │ │ │ ├── PrintThat.cpp │ │ │ │ ├── PrintThat.h │ │ │ │ ├── PrintThis.cpp │ │ │ │ ├── PrintThis.h │ │ │ │ └── SolnA_05.cpp │ │ │ ├── SolnA_06/ │ │ │ │ ├── Print.h │ │ │ │ ├── PrintThat.cpp │ │ │ │ ├── PrintThat.h │ │ │ │ ├── PrintThis.cpp │ │ │ │ ├── PrintThis.h │ │ │ │ └── SolnA_06.cpp │ │ │ ├── SolnA_07A/ │ │ │ │ ├── Print.cpp │ │ │ │ ├── PrintThat.cpp │ │ │ │ ├── PrintThat.h │ │ │ │ ├── PrintThis.cpp │ │ │ │ ├── PrintThis.h │ │ │ │ └── SolnA_07A.cpp │ │ │ └── SolnA_07B/ │ │ │ ├── Print.h │ │ │ ├── PrintThat.cpp │ │ │ ├── PrintThat.h │ │ │ ├── PrintThis.cpp │ │ │ ├── PrintThis.h │ │ │ └── SolnA_07B.cpp │ │ ├── Chapter 01/ │ │ │ ├── Exer1_03.cpp │ │ │ ├── Soln1_01.cpp │ │ │ └── Soln1_02.cpp │ │ ├── Chapter 02/ │ │ │ ├── Soln2_01A.cpp │ │ │ ├── Soln2_01B.cpp │ │ │ ├── Soln2_02A.cpp │ │ │ ├── Soln2_02B.cpp │ │ │ ├── Soln2_03.cpp │ │ │ ├── Soln2_04.cpp │ │ │ ├── Soln2_05.cpp │ │ │ ├── Soln2_06.cpp │ │ │ ├── Soln2_07.cpp │ │ │ └── Soln2_08.cpp │ │ ├── Chapter 03/ │ │ │ ├── Soln3_01.cpp │ │ │ ├── Soln3_02.cpp │ │ │ ├── Soln3_03.cpp │ │ │ ├── Soln3_04.cpp │ │ │ ├── Soln3_05.cpp │ │ │ └── Soln3_06.cpp │ │ ├── Chapter 04/ │ │ │ ├── Soln4_01.cpp │ │ │ ├── Soln4_02.cpp │ │ │ ├── Soln4_03.cpp │ │ │ ├── Soln4_04.cpp │ │ │ ├── Soln4_05.cpp │ │ │ ├── Soln4_06.cpp │ │ │ ├── Soln4_07.cpp │ │ │ └── Soln4_08.cpp │ │ ├── Chapter 05/ │ │ │ ├── Soln5_01.cpp │ │ │ ├── Soln5_02.cpp │ │ │ ├── Soln5_03.cpp │ │ │ ├── Soln5_04.cpp │ │ │ ├── Soln5_05.cpp │ │ │ ├── Soln5_06.cpp │ │ │ ├── Soln5_07.cpp │ │ │ └── Soln5_08.cpp │ │ ├── Chapter 06/ │ │ │ ├── Soln6_01.cpp │ │ │ ├── Soln6_02.cpp │ │ │ ├── Soln6_03.cpp │ │ │ ├── Soln6_04.cpp │ │ │ ├── Soln6_05.cpp │ │ │ └── Soln6_06.cpp │ │ ├── Chapter 07/ │ │ │ ├── Soln7_01.cpp │ │ │ ├── Soln7_02.cpp │ │ │ ├── Soln7_03.cpp │ │ │ ├── Soln7_04.cpp │ │ │ ├── Soln7_05.cpp │ │ │ ├── Soln7_06.cpp │ │ │ ├── Soln7_07.cpp │ │ │ ├── Soln7_08A.cpp │ │ │ ├── Soln7_08B.cpp │ │ │ ├── Soln7_09A.cpp │ │ │ └── Soln7_09B.cpp │ │ ├── Chapter 08/ │ │ │ ├── Soln8_01.cpp │ │ │ ├── Soln8_02.cpp │ │ │ ├── Soln8_03.cpp │ │ │ ├── Soln8_04.cpp │ │ │ ├── Soln8_05.cpp │ │ │ ├── Soln8_06.cpp │ │ │ ├── Soln8_07.cpp │ │ │ ├── Soln8_07A.cpp │ │ │ ├── Soln8_08.cpp │ │ │ └── Soln8_09.cpp │ │ ├── Chapter 09/ │ │ │ ├── Soln9_01.cpp │ │ │ ├── Soln9_02.cpp │ │ │ ├── Soln9_03.cpp │ │ │ ├── Soln9_04.cpp │ │ │ ├── Soln9_05.cpp │ │ │ └── Soln9_06.cpp │ │ ├── Chapter 10/ │ │ │ ├── Soln10_01.cpp │ │ │ ├── Soln10_02.cpp │ │ │ ├── Soln10_03.cpp │ │ │ ├── Soln10_04.cpp │ │ │ ├── Soln10_05.cpp │ │ │ └── Soln10_06.cpp │ │ ├── Chapter 12/ │ │ │ ├── Soln12_01/ │ │ │ │ ├── Integer.cpp │ │ │ │ ├── Integer.h │ │ │ │ └── Soln12_01.cpp │ │ │ ├── Soln12_02/ │ │ │ │ ├── Integer.cpp │ │ │ │ ├── Integer.h │ │ │ │ └── Soln12_02.cpp │ │ │ ├── Soln12_03/ │ │ │ │ ├── Integer.cpp │ │ │ │ ├── Integer.h │ │ │ │ └── Soln12_03.cpp │ │ │ ├── Soln12_04/ │ │ │ │ ├── Integer.cpp │ │ │ │ ├── Integer.h │ │ │ │ └── Soln12_04.cpp │ │ │ ├── Soln12_05/ │ │ │ │ ├── Integer.cpp │ │ │ │ ├── Integer.h │ │ │ │ └── Soln12_05.cpp │ │ │ ├── Soln12_06/ │ │ │ │ ├── Box.h │ │ │ │ ├── RandomBoxes.h │ │ │ │ ├── Soln12_06.cpp │ │ │ │ ├── Truckload.cpp │ │ │ │ └── Truckload.h │ │ │ ├── Soln12_07/ │ │ │ │ ├── Box.h │ │ │ │ ├── RandomBoxes.h │ │ │ │ ├── Soln12_07.cpp │ │ │ │ ├── Truckload.cpp │ │ │ │ └── Truckload.h │ │ │ └── Soln12_08/ │ │ │ ├── Box.h │ │ │ ├── RandomBoxes.h │ │ │ ├── Soln12_08.cpp │ │ │ ├── Truckload.cpp │ │ │ └── Truckload.h │ │ ├── Chapter 13/ │ │ │ ├── Soln13_01/ │ │ │ │ ├── Box.cpp │ │ │ │ ├── Box.h │ │ │ │ └── Soln13_01.cpp │ │ │ ├── Soln13_02/ │ │ │ │ ├── Box.cpp │ │ │ │ ├── Box.h │ │ │ │ └── Soln13_02.cpp │ │ │ ├── Soln13_03/ │ │ │ │ ├── Box.cpp │ │ │ │ ├── Box.h │ │ │ │ └── Soln13_03.cpp │ │ │ ├── Soln13_04/ │ │ │ │ ├── Box.h │ │ │ │ └── Soln13_04.cpp │ │ │ ├── Soln13_05/ │ │ │ │ ├── Box.h │ │ │ │ └── Soln13_05.cpp │ │ │ ├── Soln13_06/ │ │ │ │ ├── Box.h │ │ │ │ └── Soln13_06.cpp │ │ │ ├── Soln13_07/ │ │ │ │ ├── Rational.h │ │ │ │ └── Soln13_07.cpp │ │ │ ├── Soln13_08/ │ │ │ │ ├── Box.cpp │ │ │ │ ├── Box.h │ │ │ │ ├── PRNG.h │ │ │ │ └── Soln13_08.cpp │ │ │ └── Soln13_09/ │ │ │ ├── Box.h │ │ │ ├── Soln13_09.cpp │ │ │ ├── Truckload.cpp │ │ │ └── Truckload.h │ │ ├── Chapter 14/ │ │ │ ├── Soln14_01/ │ │ │ │ ├── Animals.cpp │ │ │ │ ├── Animals.h │ │ │ │ └── Soln14_01.cpp │ │ │ ├── Soln14_02/ │ │ │ │ ├── Animals.cpp │ │ │ │ ├── Animals.h │ │ │ │ └── Soln14_02.cpp │ │ │ ├── Soln14_03/ │ │ │ │ ├── Animals.cpp │ │ │ │ ├── Animals.h │ │ │ │ └── Soln14_03.cpp │ │ │ └── Soln14_04/ │ │ │ ├── Person.cpp │ │ │ ├── Person.h │ │ │ └── Soln14_04.cpp │ │ ├── Chapter 15/ │ │ │ ├── Soln15_01/ │ │ │ │ ├── Animals.cpp │ │ │ │ ├── Animals.h │ │ │ │ ├── Soln15_01.cpp │ │ │ │ ├── Zoo.cpp │ │ │ │ └── Zoo.h │ │ │ ├── Soln15_02/ │ │ │ │ ├── Animals.cpp │ │ │ │ ├── Animals.h │ │ │ │ ├── Soln15_02.cpp │ │ │ │ ├── Zoo.cpp │ │ │ │ └── Zoo.h │ │ │ ├── Soln15_03/ │ │ │ │ ├── Animals.cpp │ │ │ │ ├── Animals.h │ │ │ │ ├── Soln15_03.cpp │ │ │ │ ├── Zoo.cpp │ │ │ │ └── Zoo.h │ │ │ ├── Soln15_04/ │ │ │ │ ├── Animals.cpp │ │ │ │ ├── Animals.h │ │ │ │ ├── Soln15_04.cpp │ │ │ │ ├── Zoo.cpp │ │ │ │ └── Zoo.h │ │ │ ├── Soln15_05/ │ │ │ │ ├── Animals.cpp │ │ │ │ ├── Animals.h │ │ │ │ ├── Soln15_05.cpp │ │ │ │ ├── Zoo.cpp │ │ │ │ └── Zoo.h │ │ │ └── Soln15_06/ │ │ │ ├── Point.h │ │ │ ├── Shapes.h │ │ │ └── Soln15_06.cpp │ │ ├── Chapter 16/ │ │ │ ├── Exer16_06/ │ │ │ │ ├── Customer.cpp │ │ │ │ ├── Customer.h │ │ │ │ ├── DB.cpp │ │ │ │ ├── DB.h │ │ │ │ ├── DBException.h │ │ │ │ └── Exer16_06.cpp │ │ │ ├── Soln16_01/ │ │ │ │ ├── Curveball.h │ │ │ │ └── Soln16_01.cpp │ │ │ ├── Soln16_02/ │ │ │ │ ├── Curveball.h │ │ │ │ ├── Soln16_02.cpp │ │ │ │ └── TooManyExceptions.h │ │ │ ├── Soln16_03/ │ │ │ │ ├── Box.h │ │ │ │ ├── RandomBoxes.h │ │ │ │ ├── Soln16_03.cpp │ │ │ │ ├── Truckload.cpp │ │ │ │ └── Truckload.h │ │ │ ├── Soln16_04/ │ │ │ │ └── Soln16_04.cpp │ │ │ ├── Soln16_05/ │ │ │ │ ├── Curveball.h │ │ │ │ ├── DomainExceptions.h │ │ │ │ └── Soln16_05.cpp │ │ │ └── Soln16_06/ │ │ │ ├── Customer.cpp │ │ │ ├── Customer.h │ │ │ ├── DB.cpp │ │ │ ├── DB.h │ │ │ ├── DBException.h │ │ │ ├── DB_RAII.h │ │ │ └── Soln16_06.cpp │ │ ├── Chapter 17/ │ │ │ ├── Soln17_01/ │ │ │ │ ├── Array.h │ │ │ │ └── Soln17_01.cpp │ │ │ ├── Soln17_02/ │ │ │ │ ├── Pair.h │ │ │ │ └── Soln17_02.cpp │ │ │ ├── Soln17_03/ │ │ │ │ ├── Pair.h │ │ │ │ └── Soln17_03.cpp │ │ │ ├── Soln17_04/ │ │ │ │ ├── Pair.h │ │ │ │ ├── Soln17_04.cpp │ │ │ │ └── SparseArray.h │ │ │ ├── Soln17_05/ │ │ │ │ ├── LinkedList.h │ │ │ │ └── Soln17_05.cpp │ │ │ ├── Soln17_06/ │ │ │ │ ├── LinkedList.h │ │ │ │ ├── Pair.h │ │ │ │ ├── Soln17_06.cpp │ │ │ │ └── SparseArray.h │ │ │ ├── Soln17_07/ │ │ │ │ ├── Box.h │ │ │ │ ├── BoxFormatter.h │ │ │ │ └── Soln17_07.cpp │ │ │ └── Soln17_07A/ │ │ │ ├── Box.h │ │ │ ├── BoxFormatter.h │ │ │ └── Soln17_07A.cpp │ │ ├── Chapter 18/ │ │ │ ├── Soln18_01/ │ │ │ │ ├── Box.h │ │ │ │ ├── RandomBoxes.h │ │ │ │ ├── Soln18_01.cpp │ │ │ │ ├── Truckload.cpp │ │ │ │ └── Truckload.h │ │ │ ├── Soln18_02/ │ │ │ │ ├── LinkedList.h │ │ │ │ └── Soln18_02.cpp │ │ │ ├── Soln18_03/ │ │ │ │ ├── Customer.cpp │ │ │ │ ├── Customer.h │ │ │ │ ├── DB.cpp │ │ │ │ ├── DB.h │ │ │ │ ├── DBException.h │ │ │ │ ├── DB_RAII.h │ │ │ │ └── Soln18_03.cpp │ │ │ ├── Soln18_04/ │ │ │ │ ├── Customer.cpp │ │ │ │ ├── Customer.h │ │ │ │ ├── DB.cpp │ │ │ │ ├── DB.h │ │ │ │ ├── DBException.h │ │ │ │ ├── DB_RAII.h │ │ │ │ └── Soln18_04.cpp │ │ │ └── Soln18_05/ │ │ │ ├── Customer.cpp │ │ │ ├── Customer.h │ │ │ ├── DB.cpp │ │ │ ├── DB.h │ │ │ ├── DBException.h │ │ │ ├── DB_RAII.h │ │ │ └── Soln18_05.cpp │ │ ├── Chapter 19/ │ │ │ ├── Soln19_01/ │ │ │ │ └── Soln19_01.cpp │ │ │ ├── Soln19_02/ │ │ │ │ ├── Soln19_02.cpp │ │ │ │ └── Sort.h │ │ │ ├── Soln19_03/ │ │ │ │ ├── Soln19_03.cpp │ │ │ │ └── Sort.h │ │ │ ├── Soln19_04/ │ │ │ │ ├── Collect.h │ │ │ │ └── Soln19_04.cpp │ │ │ └── Soln19_05/ │ │ │ ├── Box.h │ │ │ ├── DeliveryTruck.cpp │ │ │ ├── DeliveryTruck.h │ │ │ ├── RandomBoxes.h │ │ │ ├── Soln19_05.cpp │ │ │ ├── Truckload.cpp │ │ │ └── Truckload.h │ │ ├── Chapter 20/ │ │ │ ├── Soln20_01/ │ │ │ │ ├── Box.h │ │ │ │ ├── RandomBoxes.h │ │ │ │ ├── Soln20_01.cpp │ │ │ │ ├── Truckload.cpp │ │ │ │ └── Truckload.h │ │ │ ├── Soln20_02/ │ │ │ │ └── Soln20_02.cpp │ │ │ ├── Soln20_03/ │ │ │ │ └── Soln20_03.cpp │ │ │ ├── Soln20_03A/ │ │ │ │ └── Soln20_03A.cpp │ │ │ ├── Soln20_04/ │ │ │ │ └── Soln20_04.cpp │ │ │ ├── Soln20_05/ │ │ │ │ └── Soln20_05.cpp │ │ │ ├── Soln20_06/ │ │ │ │ └── Soln20_06.cpp │ │ │ ├── Soln20_07/ │ │ │ │ └── Soln20_07.cpp │ │ │ ├── Soln20_08/ │ │ │ │ └── Soln20_08.cpp │ │ │ ├── Soln20_09/ │ │ │ │ └── Soln20_09.cpp │ │ │ ├── Soln20_10/ │ │ │ │ └── Soln20_10.cpp │ │ │ ├── Soln20_11/ │ │ │ │ └── Soln20_11.cpp │ │ │ ├── Soln20_12/ │ │ │ │ └── Soln20_12.cpp │ │ │ ├── Soln20_13/ │ │ │ │ └── Soln20_13.cpp │ │ │ └── Soln20_14/ │ │ │ └── Soln20_14.cpp │ │ └── Chapter 21/ │ │ ├── Soln21_01/ │ │ │ └── Soln21_01.cpp │ │ ├── Soln21_02/ │ │ │ └── Soln21_02.cpp │ │ ├── Soln21_03/ │ │ │ └── Soln21_03.cpp │ │ ├── Soln21_04/ │ │ │ └── Soln21_04.cpp │ │ ├── Soln21_05/ │ │ │ └── Soln21_05.cpp │ │ └── Soln21_06/ │ │ ├── Array.h │ │ └── Soln21_06.cpp │ └── README.md ├── LICENSE.txt ├── README.md ├── Workarounds/ │ ├── README.md │ ├── format │ └── ranges └── errata.md