GithubHelp home page GithubHelp logo

doytsujin / kdtoolbox Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kdab/kdtoolbox

0.0 0.0 0.0 732 KB

KDAB's collection of miscellaneous useful C++ classes and stuff

C++ 96.83% QMake 1.82% QML 1.11% Shell 0.24%

kdtoolbox's Introduction

KDToolBox

KDAB's collection of miscellaneous useful C++ classes and stuff.

C++ Tools

  • future-backports Backports of future C++ library components to C++11:
    • k20::erase/k20::erase_if - C++20's uniform container erasure
  • DuplicateTracker A helper class to keep track of "seen" elements, e.g. to avoid processing duplicate elements in a collection. It transparently uses std::pmr::monotonic_buffer_resource to improve its memory usage (compared to a 'plain' set implementation).
  • toContainer Helper functions to convert a container to another container, using a convenient pipeline style.

Qt Tools

  • Ui Watchdog A header-only tool to break the program when the main-thread event loop is blocked for more than 300ms.
  • Qml Stacktrace Helper A function for retrieving a QML backtrace with gdb.
  • Qml PropertySelector A QML Item to easily set property values based on a combination of conditions
  • Model/View ModelIterator A set of (template) classes to allow iteratating over QAbstractItemModels using std algorithms
  • Model/View SortProxyModel A QSortFilterProxyModel replacement that just does sorting, but properly signals moves due to sorts.
  • Model/View UpdateableModel A template class to make defining a model that sends proper update signals easy
  • Model/View Table to List Proxy A proxy model flattening a table model into a list model (mainly for Qt Quick 2).
  • Functional Sort/Filter Proxy A QSortFilterProxyModel convenience subclass that allows to set filtering/sorting functions, removing the need for subclassing.
  • TabWindow widget A tab widget that allows extracting a tab to a new window, like modern web browsers.
  • EventFilter A way for "connecting" a QEvent to lambda with two lines of code.
  • MessageHandler An API to help you intercept the output going through qDebug()/qWarning()/etc.
  • QStringTokenizer A universal, safe, zero-allocation string splitter.
  • Signal/Slot Connection Throttlers An implementation of throttler/debouncer classes for signal/slot connections.
  • Single Shot Connect A header only version of QObject::connect, that establishes a single shot connection.
  • Qt Hasher A header-only hasher object for using Qt types together with unordered_map, unordered_set, etc.
  • NotifyGuard A RAII guard object to make sure object notification signals are properly emitted.

Other code snippets

Licensing

KDToolBox is (C) 2019-2021, Klarälvdalens Datakonsult AB, and is available under the terms of the MIT license (see the LICENSE.MIT.txt file in this repository [1]).

For the "Other code snippets", which are hosted outside of this repo, please consult their own license.

Contact KDAB at [email protected] if you need different licensing options.

[1] [License file] (https://github.com/KDAB/KDToolBox/blob/master/LICENSE.MIT.txt)

Get Involved

KDAB will happily accept external contributions; however, all contributions will require a signed Contributor License Agreement (see docs/KDToolBox-CopyrightAssignmentForm.pdf).

Contact [email protected] for more information.

Please submit your contributions or issue reports from our GitHub space at https://github.com/KDAB/KDToolBox

About KDAB

KDToolBox is supported and maintained by Klarälvdalens Datakonsult AB (KDAB).

The KDAB Group is the global No.1 software consultancy for Qt, C++ and OpenGL applications across desktop, embedded and mobile platforms.

The KDAB Group provides consulting and mentoring for developing Qt applications from scratch and in porting from all popular and legacy frameworks to Qt. We continue to help develop parts of Qt and are one of the major contributors to the Qt Project. We can give advanced or standard trainings anywhere around the globe on Qt as well as C++, OpenGL, 3D and more.

Please visit https://www.kdab.com to meet the people who write code like this.

kdtoolbox's People

Contributors

amantia avatar dangelog avatar dfaure-kdab avatar frankosterfeld avatar iamsergio avatar jcelerier avatar marc-kdab avatar narnaud avatar sengels avatar winterz avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.