forked from qt-creator/qt-creator
Introduce static_container_cast
Casting all elements of a container, similar to qobject_container_cast. Change-Id: Ib455fe8c7fa0d4acda7e29685c3100638a0152f8 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
@@ -626,6 +626,20 @@ Container<T> qobject_container_cast(const Container<Base> &container)
|
||||
return result;
|
||||
}
|
||||
|
||||
//////////////////
|
||||
// static_container_cast
|
||||
/////////////////
|
||||
template <class T, template<typename> class Container, typename Base>
|
||||
Container<T> static_container_cast(const Container<Base> &container)
|
||||
{
|
||||
Container<T> result;
|
||||
reserve(result, container.size());
|
||||
auto ins = inserter(result);
|
||||
for (Base val : container)
|
||||
ins = static_cast<T>(val);
|
||||
return result;
|
||||
}
|
||||
|
||||
//////////////////
|
||||
// sort
|
||||
/////////////////
|
||||
|
||||
Reference in New Issue
Block a user