KiCad PCB EDA Suite
Loading...
Searching...
No Matches
lseq.h
Go to the documentation of this file.
1/*
2 * This program source code file is part of KiCad, a free EDA CAD application.
3 *
4 * Copyright (C) 2024 KiCad Developers, see AUTHORS.txt for contributors.
5 *
6 * This program is free software: you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the
8 * Free Software Foundation, either version 3 of the License, or (at your
9 * option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License along
17 * with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19
20#ifndef LSEQ_H
21#define LSEQ_H
22
23#include <vector>
24#include <layer_ids.h>
25
27typedef std::vector<PCB_LAYER_ID> BASE_SEQ;
28
29
47{
48public:
49
51 {}
52
53 template <class InputIterator>
54 LSEQ( InputIterator aStart, InputIterator aEnd ) :
55 BASE_SEQ( aStart, aEnd )
56 {}
57
58 LSEQ( std::initializer_list<PCB_LAYER_ID> aLayers ) :
59 BASE_SEQ( aLayers )
60 {}
61
62 int TestLayers( PCB_LAYER_ID aRhs, PCB_LAYER_ID aLhs ) const;
63};
64
65
66#endif // LSEQ_H
LSEQ is a sequence (and therefore also a set) of PCB_LAYER_IDs.
Definition: lseq.h:47
LSEQ()
Definition: lseq.h:50
LSEQ(std::initializer_list< PCB_LAYER_ID > aLayers)
Definition: lseq.h:58
LSEQ(InputIterator aStart, InputIterator aEnd)
Definition: lseq.h:54
#define KICOMMON_API
Definition: kicommon.h:28
PCB_LAYER_ID
A quick note on layer IDs:
Definition: layer_ids.h:60
std::vector< PCB_LAYER_ID > BASE_SEQ
A sequence of layers, a sequence provides a certain order.
Definition: lseq.h:27