Glossary: Difference between revisions
(Add top-level sections R and N.) |
(→R: Add RVO.) |
||
Line 80: | Line 80: | ||
= R = | = R = | ||
== RVO == | |||
Return-Value Optimization | |||
In contrast to [[#NRVO]], the direct construction of a ''temporary'' argument of the <tt>return</tt> expression into the caller-allocated return value object. | |||
[[#QoI]] up to C++14, mandated from C++17 onwards. | |||
See https://en.wikipedia.org/wiki/Copy_elision#RVO | |||
= S = | = S = |
Revision as of 10:15, 3 September 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.
A
ABI
Application Binary Interface
The part of the Qt libraries that the linker sees. The ABI is what affects #BC.
Contrast with #API.
API
Application Programming Interface
The part of the Qt libraries that the compiler sees. The API is what affects #SC.
Contrast with #ABI.
B
BC
Binary compatible or binary compatibility
Meaning the stability of #ABI.
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.
F
FF
Feature Freeze
A step in the Qt release cycle. See Qt Feature Freeze.
Used as a hashtag (#ff) on Gerrit to indicate that the change should be reviewed before the next FF.
N
P
Pit Of Success
(Falling into the Pit Of Success)
Here: designing APIs such that users do the right thing without thinking
See https://english.stackexchange.com/questions/77535/what-does-falling-into-the-pit-of-success-mean
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
R
RVO
Return-Value Optimization
In contrast to #NRVO, the direct construction of a temporary argument of the return expression into the caller-allocated return value object.
#QoI up to C++14, mandated from C++17 onwards.
See https://en.wikipedia.org/wiki/Copy_elision#RVO
S
SC
Source compatible or source compatibility
Meaning the stability of the #API.
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
- https://en.cppreference.com/w/cpp/language/sfinae
- https://quuxplusone.github.io/blog/2019/08/02/the-tough-guide-to-cpp-acronyms/#sfinae
SMF
Special Member Functions
See https://en.cppreference.com/w/cpp/language/member_functions#Special_member_functions
T
TLC
Tender Loving Care (https://www.oxfordlearnersdictionaries.com/definition/english/tlc?q=TLC)
Used to group a set of smaller unrelated changes to a piece of code together in order to bring it up to current (Qt) standards.
Examples: https://codereview.qt-project.org/q/message:TLC
TQTC
The Qt Company