@@ -126,13 +126,30 @@ struct SIGC_API signal_impl
126
126
*/
127
127
iterator_type connect (const slot_base& slot_);
128
128
129
+ /* * Adds a slot at the bottom of the list of slots.
130
+ * @param slot_ The slot to add to the list of slots.
131
+ * @return An iterator pointing to the new slot in the list.
132
+ *
133
+ * @newin{2,8}
134
+ */
135
+ iterator_type connect (slot_base&& slot_);
136
+
129
137
/* * Adds a slot at the given position into the list of slots.
130
138
* @param i An iterator indicating the position where @p slot_ should be inserted.
131
139
* @param slot_ The slot to add to the list of slots.
132
140
* @return An iterator pointing to the new slot in the list.
133
141
*/
134
142
iterator_type insert (iterator_type i, const slot_base& slot_);
135
143
144
+ /* * Adds a slot at the given position into the list of slots.
145
+ * @param i An iterator indicating the position where @p slot_ should be inserted.
146
+ * @param slot_ The slot to add to the list of slots.
147
+ * @return An iterator pointing to the new slot in the list.
148
+ *
149
+ * @newin{2,8}
150
+ */
151
+ iterator_type insert (iterator_type i, slot_base&& slot_);
152
+
136
153
/* * Removes the slot at the given position from the list of slots.
137
154
* @param i An iterator pointing to the slot to be removed.
138
155
* @return An iterator pointing to the slot in the list after the one removed.
@@ -349,6 +366,16 @@ struct SIGC_API signal_base : public trackable
349
366
*/
350
367
iterator_type connect (const slot_base& slot_);
351
368
369
+ /* * Adds a slot at the end of the list of slots.
370
+ * With connect(), slots can also be added during signal emission.
371
+ * In this case, they won't be executed until the next emission occurs.
372
+ * @param slot_ The slot to add to the list of slots.
373
+ * @return An iterator pointing to the new slot in the list.
374
+ *
375
+ * @newin{2,8}
376
+ */
377
+ iterator_type connect (slot_base&& slot_);
378
+
352
379
/* * Adds a slot at the given position into the list of slots.
353
380
* Note that this function does not work during signal emission!
354
381
* @param i An iterator indicating the position where @e slot_ should be inserted.
@@ -357,6 +384,16 @@ struct SIGC_API signal_base : public trackable
357
384
*/
358
385
iterator_type insert (iterator_type i, const slot_base& slot_);
359
386
387
+ /* * Adds a slot at the given position into the list of slots.
388
+ * Note that this function does not work during signal emission!
389
+ * @param i An iterator indicating the position where @e slot_ should be inserted.
390
+ * @param slot_ The slot to add to the list of slots.
391
+ * @return An iterator pointing to the new slot in the list.
392
+ *
393
+ * @newin{2,8}
394
+ */
395
+ iterator_type insert (iterator_type i, slot_base&& slot_);
396
+
360
397
/* * Removes the slot at the given position from the list of slots.
361
398
* Note that this function does not work during signal emission!
362
399
* @param i An iterator pointing to the slot to be removed.
0 commit comments