1/* -*- C++ -*-
2 This file declares the Sequence class.
3
4 SPDX-FileCopyrightText: 2004-2013 Mirko Boehm <mirko@kde.org>
5
6 SPDX-License-Identifier: LGPL-2.0-or-later
7
8 $Id: DebuggingAids.h 30 2005-08-16 16:16:04Z mirko $
9*/
10
11#ifndef JOBSEQUENCE_H
12#define JOBSEQUENCE_H
13
14#include "collection.h"
15
16namespace ThreadWeaver
17{
18namespace Private
19{
20class Sequence_Private;
21}
22
23/*!
24 * \class ThreadWeaver::Sequence
25 * \inheaderfile ThreadWeaver/Sequence
26 * \inmodule ThreadWeaver
27 *
28 * \brief A Sequence is a vector of Jobs that will be executed in a sequence.
29 *
30 * It is implemented by automatically creating the necessary dependencies between the Jobs in the sequence.
31 *
32 * Sequence provides a handy cleanup and unwind mechanism: the stop() slot. If it is called, the processing
33 * of the sequence will stop, and all its remaining Jobs will be dequeued.
34 * A Sequence is the first element of itself.
35 */
36class THREADWEAVER_EXPORT Sequence : public Collection
37{
38public:
39 /*!
40 */
41 explicit Sequence();
42
43private:
44 /*!
45 */
46 Private::Sequence_Private *d();
47 /*!
48 */
49 const Private::Sequence_Private *d() const;
50};
51
52}
53
54#endif
55

source code of threadweaver/src/sequence.h