20#ifndef IPC2581_FUNCTION_MODE_H
21#define IPC2581_FUNCTION_MODE_H
24#include <initializer_list>
65class SUPPRESS_SET :
public std::bitset<static_cast<size_t>( SUPPRESS::COUNT )>
72 set(
static_cast<size_t>( aWhat ), aOn );
110 const wxString& aSide = wxEmptyString );
Set of removed attributes.
bool Contains(SUPPRESS aWhat) const
SUPPRESS_SET & Set(SUPPRESS aWhat, bool aOn=true)
PCB_LAYER_ID
A quick note on layer IDs:
JOB_EXPORT_PCB_FAB::DATA_SET MODE
Columns of Table 4 The job owns the enum so that every layer shares one type.
RESOLVE_RESULT ResolveSections(REVISION aRevision, MODE aMode, const SECTION_SET &aRequested)
Compare aRequested with Table 4 and give the attributes to remove and the conflicts.
REVISION
Schema revision The two revisions declare different identity constraints.
std::optional< SECTION > SectionForLayerFunction(const wxString &aLayerFunction, const wxString &aSide)
Schema section that holds the layers with aLayerFunction.
bool ModeSupported(MODE aMode, REVISION)
True if KiCad can write aMode for aRevision.
SUPPRESS
Optional attributes to remove when their schema section is absent.
@ PINREF_COMPONENTREF
Pad/PinRef@componentRef and LogicalNet/PinRef@componentRef.
@ BOM_HEADER_STEPREF
Bom/BomHeader/StepRef.
@ COMPONENT_REFDES
Component\refDes.
@ PAD_PADSTACKDEFREF
Pad@padstackDefRef, and the PadStackDef elements themselves.
@ COMPONENT_PACKAGEREF
Component@packageRef.
@ BOM_REFDES_PACKAGEREF
Bom/BomItem/RefDes@packageRef.
@ BOM_REFDES
Bom/BomItem/RefDes and all its attributes.
@ BOM_REFDES_LAYERREF
Bom/BomItem/RefDes@layerRef.
std::optional< SECTION > SectionForBoardLayer(PCB_LAYER_ID aLayer)
Schema section that holds the artwork of aLayer.
A requested combination that no legal file can hold.
std::optional< SECTION > m_section
std::optional< SECTION > m_requires
SUPPRESS_SET m_suppressions
std::vector< CONFLICT > m_conflicts