Specify interface requirements as an C++ concept

PR #19440.
This commit is contained in:
Chocobo1 2023-08-12 20:53:03 +08:00 committed by GitHub
parent 850da9dd83
commit 69d60b5f1c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 144 additions and 28 deletions

View file

@ -51,9 +51,9 @@ private slots:
// Utils::Version<2, 0>();
using TwoDigits = Utils::Version<2, 1>;
TwoDigits(0);
TwoDigits(50);
TwoDigits(0, 1);
QCOMPARE(TwoDigits(0), TwoDigits(u"0"_s));
QCOMPARE(TwoDigits(50), TwoDigits(u"50"_s));
QCOMPARE(TwoDigits(0, 1), TwoDigits(u"0.1"_s));
using ThreeDigits = Utils::Version<3, 3>;
// should not compile:
@ -61,7 +61,7 @@ private slots:
// ThreeDigits(1, 2);
// ThreeDigits(1.0, 2, 3);
// ThreeDigits(1, 2, 3, 4);
ThreeDigits(1, 2, 3);
QCOMPARE(ThreeDigits(1, 2, 3), ThreeDigits(u"1.2.3"_s));
}
void testIsValid() const