本文整理汇总了C++中QCache::take方法的典型用法代码示例。如果您正苦于以下问题:C++ QCache::take方法的具体用法?C++ QCache::take怎么用?C++ QCache::take使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QCache
的用法示例。
在下文中一共展示了QCache::take方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: take
void tst_QCache::take()
{
QCache<QString, Foo> cache;
QCOMPARE(cache.take(QString()), (Foo*)0);
QCOMPARE(cache.take("alpha"), (Foo*)0);
QVERIFY(cache.isEmpty());
Foo *f1 = new Foo;
cache.insert("alpha", f1, 10);
QCOMPARE(cache.size(), 1);
QVERIFY(cache["alpha"] == f1);
cache.insert("beta", new Foo, 20);
QCOMPARE(cache.size(), 2);
QCOMPARE(cache.take("alpha"), f1);
QCOMPARE(cache.size(), 1);
QCOMPARE(cache.totalCost(), 20);
QCOMPARE(Foo::count, 2);
delete f1;
QCOMPARE(Foo::count, 1);
QCOMPARE(cache.take("alpha"), (Foo*)0);
QCOMPARE(Foo::count, 1);
QCOMPARE(cache.size(), 1);
QCOMPARE(cache.totalCost(), 20);
cache.setMaxCost(1);
QCOMPARE(cache.size(), 0);
QCOMPARE(cache.take("beta"), (Foo*)0);
QCOMPARE(cache.size(), 0);
}
示例2: axioms_on_key_type
void tst_QCache::axioms_on_key_type()
{
QCache<KeyType, ValueType> foo;
foo.setMaxCost(1);
foo.clear();
foo.insert(KeyType(123), new ValueType(123));
foo.object(KeyType(123));
foo.contains(KeyType(456));
foo[KeyType(456)];
foo.remove(KeyType(456));
foo.remove(KeyType(123));
foo.take(KeyType(789));
// If this fails, contact the maintaner
QVERIFY(sizeof(QHash<int, int>) == sizeof(void *));
}
示例3:
QGLBlurTextureInfo *QGLBlurTextureCache::takeBlurTextureInfo(const QPixmap &pixmap)
{
return cache.take(pixmap.cacheKey());
}