source: calamares/trunk/fuentes/src/modules/partition/core/PartitionIterator.h @ 7538

Last change on this file since 7538 was 7538, checked in by kbut, 13 months ago

sync with github

File size: 1.7 KB
Line 
1/* === This file is part of Calamares - <https://github.com/calamares> ===
2 *
3 *   Copyright 2014, Aurélien Gâteau <agateau@kde.org>
4 *   Copyright 2015, Teo Mrnjavac <teo@kde.org>
5 *
6 *   Calamares is free software: you can redistribute it and/or modify
7 *   it under the terms of the GNU General Public License as published by
8 *   the Free Software Foundation, either version 3 of the License, or
9 *   (at your option) any later version.
10 *
11 *   Calamares is distributed in the hope that it will be useful,
12 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
13 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 *   GNU General Public License for more details.
15 *
16 *   You should have received a copy of the GNU General Public License
17 *   along with Calamares. If not, see <http://www.gnu.org/licenses/>.
18 */
19
20#ifndef PARTITIONITERATOR_H
21#define PARTITIONITERATOR_H
22
23class Device;
24class Partition;
25class PartitionTable;
26
27/**
28 * A forward-only iterator to go through the partitions of a device,
29 * independently of whether they are primary, logical or extended.
30 */
31class PartitionIterator
32{
33public:
34    Partition* operator*() const;
35
36    void operator++();
37
38    bool operator==( const PartitionIterator& other ) const;
39    bool operator!=( const PartitionIterator& other ) const;
40
41    static PartitionIterator begin( Device* device );
42    static PartitionIterator begin( PartitionTable* table );
43    static PartitionIterator end( Device* device );
44    static PartitionIterator end( PartitionTable* table );
45
46private:
47    PartitionIterator( PartitionTable* table );
48
49    PartitionTable* m_table;
50    Partition* m_current = nullptr;
51};
52
53#endif /* PARTITIONITERATOR_H */
Note: See TracBrowser for help on using the repository browser.