KiCad PCB EDA Suite
|
Functions | |
template<typename _Type , typename _Function > | |
void | run_on_pair (std::pair< _Type, _Type > &__pair, _Function __f) |
Apply a function to the first and second element of a std::pair. More... | |
template<typename _InputIterator , typename _Function > | |
void | adjacent_pairs (_InputIterator __first, _InputIterator __last, _Function __f) |
Apply a function to every sequential pair of elements of a sequence. More... | |
template<typename _InputIterator , typename _Function > | |
void | for_all_pairs (_InputIterator __first, _InputIterator __last, _Function __f) |
Apply a function to every possible pair of elements of a sequence. More... | |
template<class _Container , typename _Value > | |
bool | contains (const _Container &__container, _Value __value) |
Returns true if the container contains the given value. More... | |
template<typename _Type , typename _Value > | |
bool | pair_contains (const std::pair< _Type, _Type > __pair, _Value __value) |
Returns true if either of the elements in an std::pair contains the given value. More... | |
template<class T > | |
bool | within_wrapped_range (T __val, T __minval, T __maxval, T __wrap) |
Test if __val lies within __minval and __maxval in a wrapped range. More... | |
template<class _Container , typename _Value > | |
void | delete_matching (_Container &__c, _Value __value) |
Covers for the horrifically named std::remove and std::remove_if (neither of which remove anything). More... | |
template<class _Container , class _Function > | |
void | delete_if (_Container &__c, _Function &&__f) |
Deletes all values from __c for which __f returns true. More... | |
template<class _Container > | |
void | remove_duplicates (_Container &__c) |
Deletes all duplicate values from __c. More... | |
template<class _Container , class _Function > | |
void | remove_duplicates (_Container &__c, _Function &&__f) |
template<typename T , std::enable_if_t< std::is_integral< T >::value, int > = 0> | |
bool | signbit (T v) |
Integral version of std::signbit that works all compilers. More... | |
template<typename T > | |
T | clamp (T min, T value, T max) |
void alg::adjacent_pairs | ( | _InputIterator | __first, |
_InputIterator | __last, | ||
_Function | __f | ||
) |
Apply a function to every sequential pair of elements of a sequence.
__first | An input iterator. |
__last | An input iterator. |
__f | A unary function object. |
Applies the function object __f
to each sequential pair of elements in the range [first,last).
__f
must not modify the order of the sequence. If __f
has a return value it is ignored.
Definition at line 61 of file kicad_algo.h.
T alg::clamp | ( | T | min, |
T | value, | ||
T | max | ||
) |
Definition at line 204 of file kicad_algo.h.
Referenced by BOX2< Vec >::ClosestPointTo(), BOARD_ADAPTER::createTrack(), KIGFX::COLOR4D::FromCSSRGBA(), COMMON_TOOLS::GridPreset(), EDA_DRAW_FRAME::OnUpdateSelectGrid(), PCB_PARSER::parseDIMENSION(), KIGFX::PREVIEW::MULTISTEP_GEOM_MANAGER::performStep(), PAD::SetChamferRectRatio(), PAD::SetRoundRectRadiusRatio(), EDA_TEXT::SetTextHeight(), EDA_TEXT::SetTextSize(), EDA_TEXT::SetTextWidth(), SPICE_VALUE_FORMAT::ToString(), DIALOG_SIM_FORMAT_VALUE::TransferDataFromWindow(), and DIALOG_DRC::updateUI().
bool alg::contains | ( | const _Container & | __container, |
_Value | __value | ||
) |
Returns true if the container contains the given value.
Definition at line 99 of file kicad_algo.h.
Referenced by PROJECT_TREE_PANE::addItemToProjectTree(), SYMBOL_TREE_MODEL_ADAPTER::AddLibraries(), FP_TREE_MODEL_ADAPTER::AddLibraries(), BOARD::AddListener(), SCHEMATIC::AddListener(), TEARDROP_MANAGER::AddTeardropsOnTracks(), CVPCB_MAINFRAME::BuildLibrariesList(), FOOTPRINT::CheckShortingPads(), CN_CLUSTER::Contains(), PNS::ITEM_SET::Contains(), PNS::LINK_HOLDER::ContainsLink(), LTSPICE_SCH_PARSER::CreateKicadSYMBOLs(), DIALOG_SYMBOL_REMAP::createProjectSymbolLibTable(), SCH_EDIT_TOOL::DoDelete(), TITLE_BLOCK::GetContextualTextVars(), SCH_SHEET::GetContextualTextVars(), SCHEMATIC::GetContextualTextVars(), BOARD::GetContextualTextVars(), DRC_ITEMS_PROVIDER::GetCount(), PANEL_SETUP_LAYERS::getNonRemovableLayers(), PANEL_SETUP_LAYERS::getRemovedLayersWithItems(), WX_GRID::GetUnitValue(), SYMBOL_EDIT_FRAME::HardRedraw(), DIALOG_EXPORT_SVG::initDialog(), TOOL_MANAGER::isActive(), CONNECTIVITY_DATA::IsConnectedOnLayer(), isKeyModifierOnly(), isKeySpecialCode(), CADSTAR_SCH_ARCHIVE_LOADER::loadNets(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::OnAddLayer(), WX_GRID::onCellEditorHidden(), WX_GRID::onCellEditorShown(), DIALOG_UPDATE_SYMBOL_FIELDS::onOkButtonClicked(), PANEL_SYMBOL_CHOOSER::PANEL_SYMBOL_CHOOSER(), PCB_PARSER::parseSetup(), PNS::TOOL_BASE::pickSingleItem(), PROJECT::PinLibrary(), PCB_CONTROL::placeBoardItems(), DIALOG_CHANGE_SYMBOLS::processSymbols(), SYMBOL_VIEWER_FRAME::ReCreateLibList(), FOOTPRINT_VIEWER_FRAME::ReCreateLibraryList(), SELECTION_TOOL::RemoveItemsFromSel(), TEARDROP_MANAGER::RemoveTeardrops(), SAVE_AS_DIALOG::SAVE_AS_DIALOG(), EDA_DRAW_FRAME::saveCanvasTypeSetting(), PCB_BASE_FRAME::SelectLibrary(), SCH_BASE_FRAME::SelectLibraryFromList(), DRC_ITEMS_PROVIDER::SetSeverities(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::Sync(), FP_TREE_SYNCHRONIZING_ADAPTER::Sync(), DRC_TEST_PROVIDER_ZONE_CONNECTIONS::testZoneLayer(), DIALOG_TRACK_VIA_PROPERTIES::TransferDataFromWindow(), DRC_INTERACTIVE_COURTYARD_CLEARANCE::UpdateConflicts(), LIB_TREE::updateRecentSearchMenu(), and TEARDROP_MANAGER::UpdateTeardrops().
void alg::delete_if | ( | _Container & | __c, |
_Function && | __f | ||
) |
Deletes all values from __c for which __f returns true.
Definition at line 173 of file kicad_algo.h.
Referenced by AddSymbolToHistory(), CONNECTION_GRAPH::buildConnectionGraph(), FABMASTER::detectType(), PNS::DP_GATEWAYS::FilterByOrientation(), FABMASTER::getColFromName(), LTSPICE_SCHEMATIC::Load(), PANEL_SYMBOL_CHOOSER::onFootprintSelected(), APPEARANCE_CONTROLS_3D::onLayerPresetChanged(), SCH_BASE_FRAME::PickSymbolFromLibrary(), and COLLECTOR::Remove().
void alg::delete_matching | ( | _Container & | __c, |
_Value | __value | ||
) |
Covers for the horrifically named std::remove and std::remove_if (neither of which remove anything).
Deletes all values from __c which match __value.
Definition at line 164 of file kicad_algo.h.
Referenced by DIALOG_NET_INSPECTOR::buildNetsList(), CONNECTION_GRAPH::ExtractAffectedItems(), SCH_LABEL_BASE::GetIntersheetRefs(), CONNECTION_GRAPH::processSubGraphs(), CONNECTION_GRAPH::recacheSubgraphName(), BOARD::Remove(), KIGFX::VIEW_GROUP::Remove(), SCH_GLOBALLABEL::ResolveTextVar(), PROJECT::UnpinLibrary(), and LIB_TREE::updateRecentSearchMenu().
void alg::for_all_pairs | ( | _InputIterator | __first, |
_InputIterator | __last, | ||
_Function | __f | ||
) |
Apply a function to every possible pair of elements of a sequence.
__first | An input iterator. |
__last | An input iterator. |
__f | A unary function object. |
Applies the function object __f
to every possible pair of elements in the range [first,last).
__f
must not modify the order of the sequence. If __f
has a return value it is ignored.
Definition at line 83 of file kicad_algo.h.
Referenced by SCH_EDIT_FRAME::DeleteJunction(), and SCH_EDIT_FRAME::SchematicCleanUp().
bool alg::pair_contains | ( | const std::pair< _Type, _Type > | __pair, |
_Value | __value | ||
) |
Returns true if either of the elements in an std::pair contains the given value.
__value
is contained in __pair
Definition at line 112 of file kicad_algo.h.
Referenced by SHAPE_LINE_CHAIN::NextShape().
void alg::remove_duplicates | ( | _Container & | __c | ) |
Deletes all duplicate values from __c.
Definition at line 182 of file kicad_algo.h.
Referenced by NETLIST_EXPORTER_ALLEGRO::extractComponentsInfo(), SCH_REFERENCE_LIST::GetRefsInUse(), SCH_REFERENCE_LIST::GetUnitsMatchingRef(), NETLIST_EXPORTER_XML::makeListOfNets(), CONNECTION_GRAPH::updateItemConnectivity(), and TUNER_SLIDER::updateValueText().
void alg::remove_duplicates | ( | _Container & | __c, |
_Function && | __f | ||
) |
Definition at line 188 of file kicad_algo.h.
void alg::run_on_pair | ( | std::pair< _Type, _Type > & | __pair, |
_Function | __f | ||
) |
Apply a function to the first and second element of a std::pair.
__pair | A pair of elements (both elements must be the same type). |
__f | A unary function object. |
Applies the function object __f
to __pair.first
and __pair.second
If __f
has a return value it is ignored.
Definition at line 44 of file kicad_algo.h.
Referenced by SHAPE_LINE_CHAIN::Append(), SHAPE_LINE_CHAIN::convertArc(), SHAPE_LINE_CHAIN::Insert(), SHAPE_LINE_CHAIN::Remove(), SHAPE_LINE_CHAIN::Replace(), SHAPE_LINE_CHAIN::Reverse(), SHAPE_LINE_CHAIN::SetPoint(), and SHAPE_LINE_CHAIN::splitArc().
bool alg::signbit | ( | T | v | ) |
Integral version of std::signbit that works all compilers.
Definition at line 197 of file kicad_algo.h.
Referenced by SCH_LINE_WIRE_BUS_TOOL::computeBreakPoint(), and SCH_MOVE_TOOL::doMoveSelection().
bool alg::within_wrapped_range | ( | T | __val, |
T | __minval, | ||
T | __maxval, | ||
T | __wrap | ||
) |
Test if __val lies within __minval and __maxval in a wrapped range.
__val | A value to test |
__minval | Lowest permissible value within the wrapped range |
__maxval | Highest permissible value within the wrapped range |
__wrap | Value at which the range wraps around itself (must be positive) |
__val
lies in the wrapped range Definition at line 128 of file kicad_algo.h.
Referenced by SHAPE_ARC::sliceContainsPoint().