]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/signals2/doc/examples.xml
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / signals2 / doc / examples.xml
CommitLineData
7c673cae
FG
1<?xml version="1.0" encoding="utf-8"?>
2<!DOCTYPE section PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
3 "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
4<!--
5Copyright Douglas Gregor 2001-2004
6Copyright Frank Mori Hess 2007-2009
7
8Distributed under the Boost Software License, Version 1.0. (See accompanying
9file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
10-->
11<section last-revision="$Date: 2007-06-12 14:01:23 -0400 (Tue, 12 Jun 2007) $" id="signals2.examples">
12 <title>Example programs</title>
13
14 <using-namespace name="boost::signals2"/>
15 <using-namespace name="boost"/>
16
17 <section id="signals2.examples.misc">
18 <title>Miscellaneous Tutorial Examples</title>
19 <section id="signals2.examples.tutorial.hello_world_slot">
20 <title>hello_world_slot</title>
21 <para>
22 This example is a basic example of connecting a slot to a signal
23 and then invoking the signal.
24 </para>
25 <para>
26 Download <ulink url="boost:/libs/signals2/example/hello_world_slot.cpp">hello_world_slot.cpp</ulink>.
27 </para>
28 </section>
29 <section id="signals2.examples.tutorial.hello_world_multi_slot">
30 <title>hello_world_multi_slot</title>
31 <para>
32 This example extends the hello_world_slot example slightly by connecting more than one
33 slot to the signal before invoking it.
34 </para>
35 <para>
36 Download <ulink url="boost:/libs/signals2/example/hello_world_multi_slot.cpp">hello_world_multi_slot.cpp</ulink>.
37 </para>
38 </section>
39 <section id="signals2.examples.tutorial.ordering_slots">
40 <title>ordering_slots</title>
41 <para>
42 This example extends the hello_world_multi_slot example slightly by
43 using slot groups to specify
44 the order slots should be invoked.
45 </para>
46 <para>
47 Download <ulink url="boost:/libs/signals2/example/ordering_slots.cpp">ordering_slots.cpp</ulink>.
48 </para>
49 </section>
50 <section id="signals2.examples.tutorial.slot_arguments">
51 <title>slot_arguments</title>
52 <para>
53 The slot_arguments program shows how to pass arguments from a signal invocation to slots.
54 </para>
55 <para>
56 Download <ulink url="boost:/libs/signals2/example/slot_arguments.cpp">slot_arguments.cpp</ulink>.
57 </para>
58 </section>
59 <section id="signals2.examples.tutorial.signal_return_value">
60 <title>signal_return_value</title>
61 <para>
62 This example shows how to return a value from slots to the signal invocation.
63 It uses the default <classname>optional_last_value</classname> combiner.
64 </para>
65 <para>
66 Download <ulink url="boost:/libs/signals2/example/signal_return_value.cpp">signal_return_value.cpp</ulink>.
67 </para>
68 </section>
69 <section id="signals2.examples.tutorial.custom_combiners">
70 <title>custom_combiners</title>
71 <para>
72 This example shows more returning of values from slots to the signal invocation.
73 This time, custom combiners are defined and used.
74 </para>
75 <para>
76 Download <ulink url="boost:/libs/signals2/example/custom_combiners.cpp">custom_combiners.cpp</ulink>.
77 </para>
78 </section>
79 <section id="signals2.examples.tutorial.disconnect_and_block">
80 <title>disconnect_and_block</title>
81 <para>
82 This example demonstrates various means of manually disconnecting slots, as well as temporarily
83 blocking them via <classname>shared_connection_block</classname>.
84 </para>
85 <para>
86 Download <ulink url="boost:/libs/signals2/example/disconnect_and_block.cpp">disconnect_and_block.cpp</ulink>.
87 </para>
88 </section>
89 <section id="signals2.examples.tutorial.passing_slots">
90 <title>passing_slots</title>
91 <para>
92 This example demonstrates the passing of slot functions to a private signal
93 through a non-template interface.
94 </para>
95 <para>
96 Download <ulink url="boost:/libs/signals2/example/passing_slots.cpp">passing_slots.cpp</ulink>.
97 </para>
98 </section>
99 <section id="signals2.examples.tutorial.extended_slot">
100 <title>extended_slot</title>
101 <para>
102 This example demonstrates connecting an extended slot to a signal. An extended slot
103 accepts a reference to its invoking signal-slot connection as an additional argument,
104 permitting the slot to temporarily block or permanently disconnect itself.
105 </para>
106 <para>
107 Download <ulink url="boost:/libs/signals2/example/extended_slot.cpp">extended_slot.cpp</ulink>.
108 </para>
109 </section>
110 </section>
111 <section id="signals2.examples.document-view">
112 <title>Document-View</title>
113 <section id="signals2.examples.document-view.doc_view">
114 <title>doc_view</title>
115 <para>
116 This is the document-view example program which is described in the
117 <link linkend="signals2.tutorial.document-view">tutorial</link>. It shows
118 usage of a signal and slots to implement two different views of
119 a text document.
120 </para>
121 <para>
122 Download <ulink url="boost:/libs/signals2/example/doc_view.cpp">doc_view.cpp</ulink>.
123 </para>
124 </section>
125 <section id="signals2.examples.document-view.doc_view_acm">
126 <title>doc_view_acm</title>
127 <para>
128 This program modifies the original doc_view.cpp example to employ
129 automatic connection management.
130 </para>
131 <para>
132 Download <ulink url="boost:/libs/signals2/example/doc_view_acm.cpp">doc_view_acm.cpp</ulink>.
133 </para>
134 </section>
135 <section id="signals2.examples.document-view.doc_view_acm_deconstruct">
136 <title>doc_view_acm_deconstruct</title>
137 <para>
138 This program modifies the doc_view_acm.cpp example to use postconstructors
139 and the <functionname>deconstruct()</functionname> factory function.
140 </para>
141 <para>
142 Download <ulink url="boost:/libs/signals2/example/doc_view_acm_deconstruct.cpp">doc_view_acm_deconstruct.cpp</ulink>.
143 </para>
144 </section>
145 </section>
146 <section id="signals2.examples.deconstruct">
147 <title>Postconstructors and Predestructors with <code>deconstruct()</code></title>
148 <section id="signals2.examples.deconstruct.postconstructor_ex1">
149 <title>postconstructor_ex1</title>
150 <para>
151 This program is a basic example of how to define a class with a postconstructor which
152 uses <functionname>deconstruct()</functionname> as its factory function.
153 </para>
154 <para>
155 Download <ulink url="boost:/libs/signals2/example/postconstructor_ex1.cpp">postconstructor_ex1</ulink>.
156 </para>
157 </section>
158 <section id="signals2.examples.deconstruct.postconstructor_ex2">
159 <title>postconstructor_ex2</title>
160 <para>
161 This program extends the postconstructor_ex1 example slightly, by additionally passing arguments from
162 the <functionname>deconstruct()</functionname> call through to the class' constructor
163 and postconstructor.
164 </para>
165 <para>
166 Download <ulink url="boost:/libs/signals2/example/postconstructor_ex2.cpp">postconstructor_ex2</ulink>.
167 </para>
168 </section>
169 <section id="signals2.examples.deconstruct.predestructor_example">
170 <title>predestructor_example</title>
171 <para>
172 This program is a basic example of how to define a class with a predestructor which
173 uses <functionname>deconstruct()</functionname> as its factory function.
174 </para>
175 <para>
176 Download <ulink url="boost:/libs/signals2/example/predestructor_example.cpp">predestructor_example</ulink>.
177 </para>
178 </section>
179 </section>
180</section>