Linq: Leistungsstarke Listenverarbeitungsbibliothek für modernes C++
Zusammenfassung
In diesem Artikel erkläre ich, wie man linq zur Datenverarbeitung verwendet. Mit dieser Bibliothek können Sie Filterung, Auswahl, Aggregation, Gruppierung und vieles mehr verwenden. Für volle Unterstützung werden clang oder gcc sowie boost benötigt.
Wie man verwendet
Diese Bibliothek ist eine Header-only-Bibliothek. Sie müssen nur den C++-header in Ihre Projektumgebung integrieren. Wenn Sie fertig sind, können Sie die linq-Funktionen nutzen.
Select
std::vector<int> v = { 1, 2, 4 };
// linq-Form
auto q = LINQ(from(x, v) select(x * 3));
// q -> Ergebnis {3,6,12}
// Erweiterungsform
auto r = v | linq::select([](int x) { return x * 3; });
OrderBy
std::vector<int> v = { 4, 2, 8 };
// linq-Form
auto q = LINQ(from(x, v) orderby(descending x) select(x));
// q -> Ergebnis {8,4,2}
Where
vector<int> v = { 1, 3, 4, 5 };
auto q = LINQ(from(i, v) where(i % 2));
// q -> Ergebnis {4}
// Erweiterungsform
auto r = v | linq::where([](int x){ return x % 2 }) | linq::select([](int x) { return x; });
Weitere Informationen
Wenn Sie an weiteren Informationen zu linq interessiert sind, können Sie folgende Links prüfen:
- GitHub: https://github.com/pfultz2/Linq
- Website: https://pfultz2.github.io/Linq/
Lizenz
Die Bibliothek wird unter der Boost Software License 1.0 veröffentlicht.
Industrietechnik
- Ist Blockchain die ideale Lösung für Supply Chain Management?
- US-Lieferketten-Unabhängigkeit aufbauen: Lehren aus COVID-19
- COVID-19 als Chance: US-Fertigung für Resilienz stärken
- Werden Fabriken vollautomatisiert? Der Wandel weg von menschlichen Arbeitern untersucht
- Warum die Revitalisierung der US-Fertigung für Jobs & Nachhaltigkeit essenziell ist
- Weihnachts-Lieferkettensicherheit stärken: Best Practices & Insights
- Real-Time Commerce: Muss für 2021-Feiertagserfolg
- 15 Gabelstaplertypen erklärt: Umfassender Leitfaden
- Automationsethik: Die anhaltende Herausforderung für eine verantwortungsvolle Zukunft
- 7 wesentliche Prinzipien für Spitzen‑Zerspanungsleistung