1*404b540aSrobert 2*404b540aSrobertThe approach I've been using for a given header is to recursively do each 3*404b540aSrobertof the "bits" headers which make up the standard header. So, e.g., while 4*404b540aSrobertthere are four headers making up <algorithm>, three of them were already 5*404b540aSrobertdocumented in the course of doing other headers. 6*404b540aSrobert 7*404b540aSrobert"Untouched" means I've deliberately skipped it for various reasons, or 8*404b540aSroberthaven't gotten to it yet. It /will/ be done (by somebody, eventually.) 9*404b540aSrobert 10*404b540aSrobertIf you document an area and need to skip (for whatever reason) a non-trivial 11*404b540aSrobertentity (i.e., one that should be documented), go ahead and add the comment 12*404b540aSrobertmarkup, and use the homegrown @doctodo tag. See include/bits/stl_iterator.h 13*404b540aSrobertfor examples of this. Doing so will at least cause doxygen to consider the 14*404b540aSrobertentitiy as documented and include it in the output. It will also add the 15*404b540aSrobertentity to the generated TODO page. 16*404b540aSrobert 17*404b540aSrobert 18*404b540aSrobert Area Still needs to be doxygen-documented 19*404b540aSrobert----------------------------------------------------------- 20*404b540aSrobert 21*404b540aSrobertc17 FINISHED (Nothing in Clause 17 "exists" in terms of code.) 22*404b540aSrobertc18 FINISHED, Note A 23*404b540aSrobertc19 Note A 24*404b540aSrobertc20 Note A 25*404b540aSrobertc21 Public functions basic_string done, Note B 26*404b540aSrobertc22 Most still to do; see docs/html/22_locale/* 27*404b540aSrobertc23 See doxygroups.cc and Note B. Notes on what invalidates 28*404b540aSrobert iterators need to be added. 29*404b540aSrobertc24 stl_iterator.h (__normal_iterator, other small TODO bits) 30*404b540aSrobert stream iterators 31*404b540aSrobertc25 stl_algo.h (lots of stuff) 32*404b540aSrobertc26 <complex>, <valarray>, stl_numeric.h[26.4], Note A 33*404b540aSrobertc27 ios_base callbacks and local storage 34*404b540aSrobert basic_ios::copyfmt() 35*404b540aSrobert std_streambuf.h's __copy_streambufs() 36*404b540aSrobert " " _M_* protected memfns (data has been done) 37*404b540aSrobert fstream and sstream protected members 38*404b540aSrobert 39*404b540aSrobertbackward/* Not scanned by doxygen. Should it be? Doubtful. 40*404b540aSrobert 41*404b540aSrobertext/* Some of the SGI algorithm/functional extensions. 42*404b540aSrobert All of rope/hashing/slist need docs. 43*404b540aSrobert 44*404b540aSrobert__gnu_cxx Tricky. Right now ext/* are in this namespace. 45*404b540aSrobert 46*404b540aSrobert----------------------------------------------------------- 47*404b540aSrobert 48*404b540aSrobertNOTES: 49*404b540aSrobert 50*404b540aSrobertA) So far I have not tried to document any of the <c*> headers. So entities 51*404b540aSrobertsuch as atexit() are undocumented throughout the library. Since we usually 52*404b540aSrobertdo not have the C code (to which the doxygen comments would be attached), 53*404b540aSrobertthis would need to be done in entirely separate files, a la doxygroups.cc. 54*404b540aSrobert 55*404b540aSrobertB) Huge chunks of containers and strings are described in common "Tables" 56*404b540aSrobertin the standard. These are pseudo-duplicated in tables.html. We can 57*404b540aSrobertuse doxygen hooks like @pre and @see to reference the tables. Then the 58*404b540aSrobertindividual classes do like the standard does, and only document members for 59*404b540aSrobertwhich additional info is available. 60*404b540aSrobert 61*404b540aSrobert 62*404b540aSrobertSTYLE: 63*404b540aSrobertstl_deque.h, stl_pair.h, and stl_algobase.h have good examples of what I've 64*404b540aSrobertbeen using for class, namespace-scope, and function documentation, respectively. 65*404b540aSrobertThese should serve as starting points. /Please/ maintain the inter-word and 66*404b540aSrobertinter-sentence spacing, as this might be generated and/or scanned in the 67*404b540aSrobertfuture. 68*404b540aSrobert 69*404b540aSrobert 70*404b540aSrobertvim:ts=4:et: 71