Glossary: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
(Added PMF)
(→‎SFINAE: don't describe (we don't use it differently from other C++ projects), so just link to explanations)
Line 64: Line 64:
== SFINAE ==
== SFINAE ==


Substitution Failure is not an Error, a rule in the way templates work that makes it possible to limit what one is applied to by how it uses its parameters.  For example, if one of your template parameters is a <kbd>typename T<kbd> and you exercise a <kbd>T::foo()</kbd> method in the body, types which lack a <kbd>foo()</kbd> method don't qualify as candidates for this template's <kbd>T</kbd> parameter.
Substitution Failure Is Not An Error
 
For details, see
# https://en.cppreference.com/w/cpp/language/sfinae
# https://quuxplusone.github.io/blog/2019/08/02/the-tough-guide-to-cpp-acronyms/#sfinae


== SMF ==
== SMF ==

Revision as of 08:27, 26 August 2024

This is a glossary of terms used in Qt discussions, code comments or commit messages. Feel free to add a stub entry if you run into one you can't make sense of, in hopes of someone else filling it in here.

For terms and concept names in documentation and messaging, see Qt Terms and Concepts.

B

BC

Binary compatible or binary compatibility

See also #SC

Build System

The set of project files and tools that are used to build Qt.

There's a separate Qt Build System Glossary.

D

DRY

Don't Repeat Yourself. Cf. https://en.wikipedia.org/wiki/Don%27t_repeat_yourself

See also #SCARY.

P

PMF

Pointer-to-Member Function, e.g. &foo::bar where foo is a class and bar() a member function.

Q

qsb

Qt Shader Baker https://doc.qt.io/qt-6/qtshadertools-qsb.html

QtCS

Qt Contributors' Summit

S

SC

Source compatible or source compatibility

See also #BC

SCARY

No-one can remember what the acronym stands for, not without googling, and even then it doesn't tell you much. Making a class or function template SCARY means to separate all that depends on the template arguments from all that doesn't depend on (some) template arguments, ensuring that identical code doesn't get recompiled over and over again for every instantiation of the template.

Cf. https://quuxplusone.github.io/blog/2019/08/02/the-tough-guide-to-cpp-acronyms/#scary-iterators

Originally merely coined for nested types like std::vector<T, A>::iterator (which never depends on A), it has come into use for other in-kind transformations, too, often being a special case of Extract Method or Extract Baseclass.

See also #DRY.

SEP

Someone else's problem. From Douglas Adam's Hitchhiker's Guide.

Cf. https://en.wikipedia.org/wiki/Somebody_else%27s_problem

SFINAE

Substitution Failure Is Not An Error

For details, see

  1. https://en.cppreference.com/w/cpp/language/sfinae
  2. https://quuxplusone.github.io/blog/2019/08/02/the-tough-guide-to-cpp-acronyms/#sfinae

SMF

Special Member Functions ({default,copy,move} constructors, {copy,move}-assignment, destructor).

T

TQTC

The Qt Company

TTLOFIR

Things To Look Out For In Reviews