function.xml 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!DOCTYPE library PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
  3. "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
  4. <library name="Function" dirname="function" id="function"
  5. last-revision="$Date$"
  6. xmlns:xi="http://www.w3.org/2001/XInclude">
  7. <libraryinfo>
  8. <author>
  9. <firstname>Douglas</firstname>
  10. <surname>Gregor</surname>
  11. <email>dgregor -at- cs.indiana.edu</email>
  12. </author>
  13. <copyright>
  14. <year>2001</year>
  15. <year>2002</year>
  16. <year>2003</year>
  17. <year>2004</year>
  18. <holder>Douglas Gregor</holder>
  19. </copyright>
  20. <legalnotice>
  21. <para>Use, modification and distribution is subject to the Boost
  22. Software License, Version 1.0. (See accompanying file
  23. <filename>LICENSE_1_0.txt</filename> or copy at <ulink
  24. url="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</ulink>)</para>
  25. </legalnotice>
  26. <librarypurpose>Function object wrappers for deferred calls or callbacks</librarypurpose>
  27. <librarycategory name="category:higher-order"/>
  28. </libraryinfo>
  29. <title>Boost.Function</title>
  30. <section id="function.intro">
  31. <title>Introduction</title>
  32. <para>The Boost.Function library contains a family of class templates
  33. that are function object wrappers. The notion is similar to a
  34. generalized callback. It shares features with function pointers in
  35. that both define a call interface (e.g., a function taking two integer
  36. arguments and returning a floating-point value) through which some
  37. implementation can be called, and the implementation that is invoked
  38. may change throughout the course of the program.</para>
  39. <para> Generally, any place in which a function pointer would be used
  40. to defer a call or make a callback, Boost.Function can be used instead
  41. to allow the user greater flexibility in the implementation of the
  42. target. Targets can be any 'compatible' function object (or function
  43. pointer), meaning that the arguments to the interface designated by
  44. Boost.Function can be converted to the arguments of the target
  45. function object.</para>
  46. </section>
  47. <xi:include href="history.xml"/>
  48. <xi:include href="tutorial.xml"/>
  49. <xi:include href="reference.xml"/>
  50. <xi:include href="faq.xml"/>
  51. <xi:include href="misc.xml"/>
  52. <xi:include href="tests.xml"/>
  53. </library>