report-nov-2007.html 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423
  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6. <meta name="generator" content="Docutils 0.3.8: http://docutils.sourceforge.net/" />
  7. <title>Review Wizard Status Report for November 2007</title>
  8. <link rel="stylesheet" href="http://boost.org/rst.css" type="text/css" />
  9. </head>
  10. <body>
  11. <div class="document" id="review-wizard-status-report-for-november-2007">
  12. <h1 class="title">Review Wizard Status Report for November 2007</h1>
  13. <div class="section" id="news">
  14. <h1><a name="news">News</a></h1>
  15. <dl class="docutils">
  16. <dt>November 7, 2007 - Exception Library Accepted</dt>
  17. <dd>Announcement: <a class="reference" href="http://lists.boost.org/boost-users/2007/11/31912.php">http://lists.boost.org/boost-users/2007/11/31912.php</a></dd>
  18. </dl>
  19. <p>We need experienced review managers. Please take a look at the list
  20. of libraries in need of managers and check out their descriptions. In
  21. general review managers are active boost participants or library
  22. contributors. If you can serve as review manager for any of them,
  23. email Ron Garcia or John Phillips, &quot;garcia at cs dot indiana dot edu&quot;
  24. and &quot;jphillip at capital dot edu&quot; respectively.</p>
  25. <p>A link to this report will be posted to www.boost.org.
  26. If you would like us to make any modifications or additions to this
  27. report before we do that, please email Ron or John.</p>
  28. <p>If you're library author and plan on submitting a library for review
  29. in the next 3-6 months, send Ron or John a short description of your
  30. library and we'll add it to the Libraries Under Construction below.
  31. We know that there are many libraries that are near completion, but we
  32. have hard time keeping track all of them. Please keep us informed
  33. about your progress.</p>
  34. </div>
  35. <div class="section" id="review-queue">
  36. <h1><a name="review-queue">Review Queue</a></h1>
  37. <ul class="simple">
  38. <li>Finite State Machines</li>
  39. <li>Floating Point Utilities</li>
  40. <li>Switch</li>
  41. <li>Property Map (fast-track)</li>
  42. <li>Graph (fast-track)</li>
  43. <li>Forward (fast-track)</li>
  44. <li>Singleton (fast-track)</li>
  45. <li>Factory (fast-track)</li>
  46. <li>Lexer</li>
  47. <li>Thread-Safe Signals</li>
  48. <li>Logging</li>
  49. <li>Flyweight</li>
  50. <li>Unordered Containers</li>
  51. </ul>
  52. <hr class="docutils" />
  53. <div class="section" id="finite-state-machines">
  54. <h2><a name="finite-state-machines">Finite State Machines</a></h2>
  55. <table class="docutils field-list" frame="void" rules="none">
  56. <col class="field-name" />
  57. <col class="field-body" />
  58. <tbody valign="top">
  59. <tr class="field"><th class="field-name">Author:</th><td class="field-body">Andrey Semashev</td>
  60. </tr>
  61. <tr class="field"><th class="field-name">Review Manager:</th><td class="field-body">Martin Vuille</td>
  62. </tr>
  63. <tr class="field"><th class="field-name">Download:</th><td class="field-body"><a class="reference" href="http://tinyurl.com/yjozfn">Boost Sandbox Vault</a></td>
  64. </tr>
  65. <tr class="field"><th class="field-name">Description:</th><td class="field-body"><p class="first">The Boost.FSM library is an implementation of FSM (stands for
  66. Finite State Machine) programming concept. The main goals of the
  67. library are:</p>
  68. <ul class="last simple">
  69. <li>Simplicity. It should be very simple to create state machines using
  70. this library.</li>
  71. <li>Performance. The state machine infrastructure should not be
  72. very time and memory-consuming in order to be applicable in
  73. more use cases.</li>
  74. <li>Extensibility. A developer may want to add more states to an
  75. existing state machine. A developer should also be able to
  76. specify additional transitions and events for the machine with
  77. minimum modifications to the existing code.</li>
  78. </ul>
  79. </td>
  80. </tr>
  81. </tbody>
  82. </table>
  83. </div>
  84. <div class="section" id="floating-point-utilities">
  85. <h2><a name="floating-point-utilities">Floating Point Utilities</a></h2>
  86. <table class="docutils field-list" frame="void" rules="none">
  87. <col class="field-name" />
  88. <col class="field-body" />
  89. <tbody valign="top">
  90. <tr class="field"><th class="field-name">Author:</th><td class="field-body">Johan Råde</td>
  91. </tr>
  92. <tr class="field"><th class="field-name">Review Manager:</th><td class="field-body">Need Volunteer</td>
  93. </tr>
  94. <tr class="field"><th class="field-name">Download:</th><td class="field-body"><a class="reference" href="http://boost-consulting.com/vault/index.php?directory=Math%20-%20Numerics">Boost Sandbox Vault</a></td>
  95. </tr>
  96. <tr class="field"><th class="field-name">Description:</th><td class="field-body"><p class="first">The Floating Point Utilities library contains the following:</p>
  97. <ul class="last simple">
  98. <li>Floating point number classification functions: fpclassify, isfinite,
  99. isinf, isnan, isnormal (Follows TR1)</li>
  100. <li>Sign bit functions: signbit, copysign, changesign (Follows TR1)</li>
  101. <li>Facets that format and parse infinity and NaN according to the C99
  102. standard (These can be used for portable handling of infinity and NaN
  103. in text streams).</li>
  104. </ul>
  105. </td>
  106. </tr>
  107. </tbody>
  108. </table>
  109. </div>
  110. <div class="section" id="switch">
  111. <h2><a name="switch">Switch</a></h2>
  112. <table class="docutils field-list" frame="void" rules="none">
  113. <col class="field-name" />
  114. <col class="field-body" />
  115. <tbody valign="top">
  116. <tr class="field"><th class="field-name">Author:</th><td class="field-body">Steven Watanabe</td>
  117. </tr>
  118. <tr class="field"><th class="field-name">Review Manager:</th><td class="field-body">Need Volunteer</td>
  119. </tr>
  120. <tr class="field"><th class="field-name">Download:</th><td class="field-body"><a class="reference" href="http://boost-consulting.com/vault/index.php?action=downloadfile&amp;filename=mcs_units_v0.7.1.zip&amp;directory=Units">Boost Sandbox Vault</a></td>
  121. </tr>
  122. <tr class="field"><th class="field-name">Description:</th><td class="field-body">The built in C/C++ switch statement is very efficient. Unfortunately,
  123. unlike a chained if/else construct there is no easy way to use it when
  124. the number of cases depends on a template parameter. The Switch library
  125. addresses this issue.</td>
  126. </tr>
  127. </tbody>
  128. </table>
  129. </div>
  130. <div class="section" id="property-map-fast-track">
  131. <h2><a name="property-map-fast-track">Property Map (fast-track)</a></h2>
  132. <table class="docutils field-list" frame="void" rules="none">
  133. <col class="field-name" />
  134. <col class="field-body" />
  135. <tbody valign="top">
  136. <tr class="field"><th class="field-name">Author:</th><td class="field-body">Andrew Sutton</td>
  137. </tr>
  138. <tr class="field"><th class="field-name">Review Manager:</th><td class="field-body">Jeremy Siek</td>
  139. </tr>
  140. <tr class="field"><th class="field-name">Download:</th><td class="field-body"><a class="reference" href="http://svn.boost.org/svn/boost/sandbox/graph-v2">http://svn.boost.org/svn/boost/sandbox/graph-v2</a></td>
  141. </tr>
  142. <tr class="field"><th class="field-name">Description:</th><td class="field-body"><p class="first">A number of additions and modifications to the Property Map Library,
  143. including:</p>
  144. <ul class="last simple">
  145. <li>A constant-valued property map, useful for naturally unweighted
  146. graphs.</li>
  147. <li>A noop-writing property map, useful when you have to provide an
  148. argument, but just don't care about the output.</li>
  149. <li>See
  150. <a class="reference" href="http://svn.boost.org/trac/boost/browser/sandbox/graph-v2/libs/property_map/ChangeLog">ChangeLog</a>
  151. for details.</li>
  152. </ul>
  153. </td>
  154. </tr>
  155. </tbody>
  156. </table>
  157. </div>
  158. <div class="section" id="graph-fast-track">
  159. <h2><a name="graph-fast-track">Graph (fast-track)</a></h2>
  160. <table class="docutils field-list" frame="void" rules="none">
  161. <col class="field-name" />
  162. <col class="field-body" />
  163. <tbody valign="top">
  164. <tr class="field"><th class="field-name">Author:</th><td class="field-body">Andrew Sutton</td>
  165. </tr>
  166. <tr class="field"><th class="field-name">Review Manager:</th><td class="field-body">Jeremy Siek</td>
  167. </tr>
  168. <tr class="field"><th class="field-name">Download:</th><td class="field-body"><a class="reference" href="http://svn.boost.org/svn/boost/sandbox/graph-v2">http://svn.boost.org/svn/boost/sandbox/graph-v2</a></td>
  169. </tr>
  170. <tr class="field"><th class="field-name">Description:</th><td class="field-body"><p class="first">A number of additions and modifications to the Graph Library,
  171. including:</p>
  172. <ul class="last simple">
  173. <li>Two new graph classes (undirected and directed) which are intended
  174. to make the library more approachable for new developers</li>
  175. <li>A suite of graph measures including degree and closeness
  176. centrality, mean geodesic distance, eccentricity, and clustering
  177. coefficients.</li>
  178. <li>An algorithm for visiting all cycles in a directed graph (Tiernan's
  179. from 1970ish). It works for undirected graphs too, but reports cycles
  180. twice (one for each direction).</li>
  181. <li>An algorithm for visiting all the cliques a graph (Bron&amp;Kerbosch).
  182. Works for both directed and undirected.</li>
  183. <li>Derived graph measures radius and diameter (from eccentricity) and
  184. girth and circumference (from Tiernan), and clique number (from
  185. Bron&amp;Kerbosch).</li>
  186. <li>An exterior_property class that helps hides some of the weirdness
  187. with exterior properties.</li>
  188. <li>runtime and compile-time tests for the new algorithms.</li>
  189. <li>a substantial amount of documentation</li>
  190. <li>Graph cores, implemented by David Gleich (&#64;Stanford University)</li>
  191. <li>Deterministic graph generators - capable of creating or inducing
  192. specific types of graphs over a vertex set (e.g., star graph, wheel
  193. graph, prism graph, etc). There are several other specific types that
  194. could be added to this, but I haven't had the time just yet.</li>
  195. </ul>
  196. </td>
  197. </tr>
  198. </tbody>
  199. </table>
  200. </div>
  201. <div class="section" id="forward-fast-track">
  202. <h2><a name="forward-fast-track">Forward (fast-track)</a></h2>
  203. <table class="docutils field-list" frame="void" rules="none">
  204. <col class="field-name" />
  205. <col class="field-body" />
  206. <tbody valign="top">
  207. <tr class="field"><th class="field-name">Author:</th><td class="field-body">Tobias Schwinger</td>
  208. </tr>
  209. <tr class="field"><th class="field-name">Review Manager:</th><td class="field-body">John Torjo</td>
  210. </tr>
  211. <tr class="field"><th class="field-name">Download:</th><td class="field-body"><a class="reference" href="http://boost-consulting.com/vault/index.php?&amp;direction=0&amp;order=&amp;directory=X-Files">http://boost-consulting.com/vault/index.php?&amp;direction=0&amp;order=&amp;directory=X-Files</a></td>
  212. </tr>
  213. <tr class="field"><th class="field-name">Description:</th><td class="field-body">A brute-force solution to the forwarding problem.</td>
  214. </tr>
  215. </tbody>
  216. </table>
  217. </div>
  218. <div class="section" id="singleton-fast-track">
  219. <h2><a name="singleton-fast-track">Singleton (fast-track)</a></h2>
  220. <table class="docutils field-list" frame="void" rules="none">
  221. <col class="field-name" />
  222. <col class="field-body" />
  223. <tbody valign="top">
  224. <tr class="field"><th class="field-name">Author:</th><td class="field-body">Tobias Schwinger</td>
  225. </tr>
  226. <tr class="field"><th class="field-name">Review Manager:</th><td class="field-body">John Torjo</td>
  227. </tr>
  228. <tr class="field"><th class="field-name">Download:</th><td class="field-body"><a class="reference" href="http://boost-consulting.com/vault/index.php?&amp;direction=0&amp;order=&amp;directory=X-Files">http://boost-consulting.com/vault/index.php?&amp;direction=0&amp;order=&amp;directory=X-Files</a></td>
  229. </tr>
  230. <tr class="field"><th class="field-name">Description:</th><td class="field-body">Three thread-safe Singleton templates with an
  231. easy-to-use interface.</td>
  232. </tr>
  233. </tbody>
  234. </table>
  235. </div>
  236. <div class="section" id="factory-fast-track">
  237. <h2><a name="factory-fast-track">Factory (fast-track)</a></h2>
  238. <table class="docutils field-list" frame="void" rules="none">
  239. <col class="field-name" />
  240. <col class="field-body" />
  241. <tbody valign="top">
  242. <tr class="field"><th class="field-name">Author:</th><td class="field-body">Tobias Schwinger</td>
  243. </tr>
  244. <tr class="field"><th class="field-name">Review Manager:</th><td class="field-body">John Torjo</td>
  245. </tr>
  246. <tr class="field"><th class="field-name">Download:</th><td class="field-body"><a class="reference" href="http://boost-consulting.com/vault/index.php?&amp;direction=0&amp;order=&amp;directory=X-Files">http://boost-consulting.com/vault/index.php?&amp;direction=0&amp;order=&amp;directory=X-Files</a></td>
  247. </tr>
  248. <tr class="field"><th class="field-name">Description:</th><td class="field-body">Generic factories.</td>
  249. </tr>
  250. </tbody>
  251. </table>
  252. </div>
  253. <div class="section" id="lexer">
  254. <h2><a name="lexer">Lexer</a></h2>
  255. <table class="docutils field-list" frame="void" rules="none">
  256. <col class="field-name" />
  257. <col class="field-body" />
  258. <tbody valign="top">
  259. <tr class="field"><th class="field-name">Author:</th><td class="field-body">Ben Hanson</td>
  260. </tr>
  261. <tr class="field"><th class="field-name">Review Manager:</th><td class="field-body">Need Volunteer</td>
  262. </tr>
  263. <tr class="field"><th class="field-name">Download:</th><td class="field-body"><a class="reference" href="http://boost-consulting.com/vault/index.php?action=downloadfile&amp;filename=boost.lexer.zip&amp;directory=Strings%20">http://boost-consulting.com/vault/index.php?action=downloadfile&amp;filename=boost.lexer.zip&amp;directory=Strings%20</a>-%20Text%20Processing&amp;</td>
  264. </tr>
  265. <tr class="field"><th class="field-name">Description:</th><td class="field-body">A programmable lexical analyser generator inspired by 'flex'.
  266. Like flex, it is programmed by the use of regular expressions
  267. and outputs a state machine as a number of DFAs utilising
  268. equivalence classes for compression.</td>
  269. </tr>
  270. </tbody>
  271. </table>
  272. </div>
  273. <div class="section" id="thread-safe-signals">
  274. <h2><a name="thread-safe-signals">Thread-Safe Signals</a></h2>
  275. <table class="docutils field-list" frame="void" rules="none">
  276. <col class="field-name" />
  277. <col class="field-body" />
  278. <tbody valign="top">
  279. <tr class="field"><th class="field-name">Author:</th><td class="field-body">Frank Hess</td>
  280. </tr>
  281. <tr class="field"><th class="field-name">Review Manager:</th><td class="field-body">Need Volunteer</td>
  282. </tr>
  283. <tr class="field"><th class="field-name">Download:</th><td class="field-body"><a class="reference" href="http://www.boost-consulting.com/vault/index.php?&amp;direction=0&amp;order=&amp;directory=thread_safe_signals">http://www.boost-consulting.com/vault/index.php?&amp;direction=0&amp;order=&amp;directory=thread_safe_signals</a></td>
  284. </tr>
  285. <tr class="field"><th class="field-name">Description:</th><td class="field-body">A thread-safe implementation of Boost.signals that
  286. has some interface changes to accommodate thread safety, mostly with
  287. respect to automatic connection management.</td>
  288. </tr>
  289. </tbody>
  290. </table>
  291. </div>
  292. <div class="section" id="logging">
  293. <h2><a name="logging">Logging</a></h2>
  294. <table class="docutils field-list" frame="void" rules="none">
  295. <col class="field-name" />
  296. <col class="field-body" />
  297. <tbody valign="top">
  298. <tr class="field"><th class="field-name">Author:</th><td class="field-body">John Torjo</td>
  299. </tr>
  300. <tr class="field"><th class="field-name">Review Manager:</th><td class="field-body">Need Volunteer</td>
  301. </tr>
  302. <tr class="field"><th class="field-name">Download:</th><td class="field-body"><a class="reference" href="http://torjo.com/log2/">http://torjo.com/log2/</a></td>
  303. </tr>
  304. <tr class="field"><th class="field-name">Description:</th><td class="field-body">Used properly, logging is a very powerful tool. Besides aiding
  305. debugging/testing, it can also show you how your application is
  306. used. The Boost Logging Library allows just for that, supporting
  307. a lot of scenarios, ranging from very simple (dumping all to one
  308. destination), to very complex (multiple logs, some enabled/some
  309. not, levels, etc). It features a very simple and flexible
  310. interface, efficient filtering of messages, thread-safety,
  311. formatters and destinations, easy manipulation of logs, finding
  312. the best logger/filter classes based on your application's
  313. needs, you can define your own macros and much more!</td>
  314. </tr>
  315. </tbody>
  316. </table>
  317. </div>
  318. <div class="section" id="flyweight">
  319. <h2><a name="flyweight">Flyweight</a></h2>
  320. <table class="docutils field-list" frame="void" rules="none">
  321. <col class="field-name" />
  322. <col class="field-body" />
  323. <tbody valign="top">
  324. <tr class="field"><th class="field-name">Author:</th><td class="field-body">Joaquín M López Muñoz</td>
  325. </tr>
  326. <tr class="field"><th class="field-name">Review Manager:</th><td class="field-body">Need Volunteer</td>
  327. </tr>
  328. <tr class="field"><th class="field-name">Download:</th><td class="field-body"><a class="reference" href="http://www.boost-consulting.com/vault/index.php?action=downloadfile&amp;filename=flyweight.zip&amp;directory=Patterns">http://www.boost-consulting.com/vault/index.php?action=downloadfile&amp;filename=flyweight.zip&amp;directory=Patterns</a></td>
  329. </tr>
  330. <tr class="field"><th class="field-name">Description:</th><td class="field-body">Flyweights are small-sized handle classes granting
  331. constant access to shared common data, thus allowing for the
  332. management of large amounts of entities within reasonable memory
  333. limits. Boost.Flyweight makes it easy to use this common
  334. programming idiom by providing the class template flyweight&lt;T&gt;,
  335. which acts as a drop-in replacement for const T.</td>
  336. </tr>
  337. </tbody>
  338. </table>
  339. </div>
  340. <div class="section" id="unordered-containers">
  341. <h2><a name="unordered-containers">Unordered Containers</a></h2>
  342. <table class="docutils field-list" frame="void" rules="none">
  343. <col class="field-name" />
  344. <col class="field-body" />
  345. <tbody valign="top">
  346. <tr class="field"><th class="field-name">Author:</th><td class="field-body">Daniel James</td>
  347. </tr>
  348. <tr class="field"><th class="field-name">Review Manager:</th><td class="field-body">Need Volunteer</td>
  349. </tr>
  350. <tr class="field"><th class="field-name">Download:</th><td class="field-body"><a class="reference" href="http://www.boost-consulting.com/vault/index.php?action=downloadfile&amp;filename=unordered.zip&amp;directory=Containers">http://www.boost-consulting.com/vault/index.php?action=downloadfile&amp;filename=unordered.zip&amp;directory=Containers</a></td>
  351. </tr>
  352. <tr class="field"><th class="field-name">Description:</th><td class="field-body">An implementation of the unordered containers specified
  353. in TR1, with most of the changes from the recent draft standards.</td>
  354. </tr>
  355. </tbody>
  356. </table>
  357. </div>
  358. </div>
  359. <div class="section" id="libraries-under-development">
  360. <h1><a name="libraries-under-development">Libraries under development</a></h1>
  361. <div class="section" id="dataflow">
  362. <h2><a name="dataflow">Dataflow</a></h2>
  363. <table class="docutils field-list" frame="void" rules="none">
  364. <col class="field-name" />
  365. <col class="field-body" />
  366. <tbody valign="top">
  367. <tr class="field"><th class="field-name">Author:</th><td class="field-body">Stjepan Rajko</td>
  368. </tr>
  369. <tr class="field"><th class="field-name">Description:</th><td class="field-body">The Dataflow library provides generic support for data
  370. producers, consumers, and connections between the two. It also
  371. provides layers for several specific dataflow mechanisms, namely
  372. Boost.Signals, VTK data/display pipelines, and plain
  373. pointers. The Dataflow library came out of the Signal Network
  374. GSoC project, mentored by Doug Gregor.</td>
  375. </tr>
  376. <tr class="field"><th class="field-name">Status:</th><td class="field-body">I am polishing the Dataflow library for submission, and am expecting
  377. to add it to the review queue in the next couple of months.
  378. I am currently ironing out some faults in the design of the library,
  379. filling in missing features, and testing it on / adapting it to
  380. different dataflow mechanisms (currently VTK and soon
  381. Boost.Iostreams). As soon as I'm pretty sure that things are going
  382. the right way, I'll submit this to the review queue while I do the
  383. finishing touches.</td>
  384. </tr>
  385. </tbody>
  386. </table>
  387. </div>
  388. <div class="section" id="constrained-value">
  389. <h2><a name="constrained-value">Constrained Value</a></h2>
  390. <table class="docutils field-list" frame="void" rules="none">
  391. <col class="field-name" />
  392. <col class="field-body" />
  393. <tbody valign="top">
  394. <tr class="field"><th class="field-name">Author:</th><td class="field-body">Robert Kawulak</td>
  395. </tr>
  396. <tr class="field"><th class="field-name">Download:</th><td class="field-body"><p class="first"><a class="reference" href="http://rk.go.pl/f/constrained_value.zip">http://rk.go.pl/f/constrained_value.zip</a></p>
  397. <p class="last"><a class="reference" href="http://rk.go.pl/r/constrained_value">http://rk.go.pl/r/constrained_value</a> (Documentation)</p>
  398. </td>
  399. </tr>
  400. <tr class="field"><th class="field-name">Description:</th><td class="field-body">The Constrained Value library contains class templates
  401. useful for creating constrained objects. The simplest example
  402. of a constrained object is hour. The only valid values for an hour
  403. within a day are integers from the range [0, 23]. With this library,
  404. you can create a variable which behaves exactly like int, but does
  405. not allow for assignment of values which do not belong to the
  406. allowed range. The library doesn't focus only on constrained
  407. objects that hold a value belonging to a specified range (i.e.,
  408. bounded objects). Virtually any constraint can be imposed using
  409. appropriate predicate. You can specify what happens in case of
  410. assignment of an invalid value, e.g. an exception may be thrown or
  411. the value may be adjusted to meet the constraint criterions.</td>
  412. </tr>
  413. <tr class="field"><th class="field-name">Status:</th><td class="field-body">I'm planning to finish it in 1-2 months.</td>
  414. </tr>
  415. </tbody>
  416. </table>
  417. <p>Please let us know of any libraries you are currently
  418. developing that you intend to submit for review.</p>
  419. </div>
  420. </div>
  421. </div>
  422. </body>
  423. </html>
粤ICP备19079148号