The following approximate breakdown into the different parts of Gecode gives some statistics about the amount of code and documentation contained in the code (as comments) where blank lines are excluded.
The abbreviation "loc" means "lines of code" and "lod" means "lines of
documentation".
- Kernel: 116 classes, 8175 loc, 5420 lod
- Core functionality: 31 classes, 2691 loc, 1889 lod
- Variables, views, and variable implementations: 15 classes, 1180 loc, 692 lod
- Propagators: 14 classes, 732 loc, 370 lod
- Branchers: 31 classes, 1401 loc, 762 lod
- Miscellaneous: 25 classes, 2171 loc, 1707 lod
- Search engines: 27 classes, 2224 loc, 1819 lod
- Sequential search engines: 5 classes, 498 loc, 281 lod
- Parallel search engines: 9 classes, 1103 loc, 730 lod
- Miscellaneous: 13 classes, 623 loc, 808 lod
- Finite domain integers: 435 classes, 40077 loc, 20814 lod
- Variables, views, and variable implementations: 26 classes, 5576 loc, 3254 lod
- Propagators: 327 classes, 25923 loc, 13089 lod
- Branchers: 28 classes, 1727 loc, 612 lod
- Posting propagators for constraints: 24 classes, 6187 loc, 3489 lod
- Miscellaneous: 30 classes, 664 loc, 370 lod
- Finite integer sets: 97 classes, 12169 loc, 7344 lod
- Variables, views, and variable implementations: 30 classes, 3497 loc, 2043 lod
- Propagators: 27 classes, 5717 loc, 3328 lod
- Branchers: 18 classes, 1010 loc, 452 lod
- Posting propagators for constraints: 10 classes, 1683 loc, 1321 lod
- Miscellaneous: 12 classes, 262 loc, 200 lod
- Minimal modeling support: 33 classes, 4527 loc, 1516 lod
- Script commandline driver: 19 classes, 1248 loc, 512 lod
- Range and value iterators: 48 classes, 2580 loc, 2428 lod
- Support algorithms and datastructures: 32 classes, 1918 loc, 1827 lod
- Example scripts: 95 classes, 35812 loc, 8678 lod
- Systematic tests: 308 classes, 21638 loc, 4486 lod
- Core functionality: 4 classes, 287 loc, 182 lod
- Branchers: 19 classes, 760 loc, 528 lod
- Finite domain integers: 193 classes, 6334 loc, 2410 lod
- Finite integer sets: 54 classes, 2972 loc, 926 lod
- Minimal modeling support: 38 classes, 11285 loc, 440 lod
- FlatZinc interpreter: 40 classes, 3628 loc, 706 lod
The grand total: 1250 classes, 133996 loc, 55550 lod