File diff r23537:f6a6d4ce4bd5 → r23538:8df50944b27a
src/core/smallvec_type.hpp
Show inline comments
 
@@ -34,22 +34,6 @@ inline bool include(std::vector<T>& vec,
 
	return is_member;
 
}
 

	
 

	
 
/**
 
 * Simple vector template class.
 
 *
 
 * @note There are no asserts in the class so you have
 
 *       to care about that you grab an item which is
 
 *       inside the list.
 
 *
 
 * @tparam T The type of the items stored
 
 * @tparam S The steps of allocation
 
 */
 

	
 

	
 
template <typename T, uint S>
 
using SmallVector = std::vector<T>;
 

	
 
/**
 
 * Helper function to get the index of an item
 
 * Consider using std::set, std::unordered_set or std::flat_set in new code
 
@@ -73,19 +57,18 @@ int find_index(std::vector<T> const& vec
 
 * Consider using std::back_inserter in new code
 
 *
 
 * @param vec A reference to the vector to be extended
 
 * @param num The number of elements to default-construct
 
 * @param num Number of elements to be default-constructed
 
 *
 
 * @return Pointer to the first new element
 
 */
 
template <typename T>
 
inline T* grow(std::vector<T>& vec, std::size_t num)
 
T* grow(std::vector<T>& vec, std::size_t num)
 
{
 
	const std::size_t pos = vec.size();
 
	std::size_t const pos = vec.size();
 
	vec.resize(pos + num);
 
	return vec.data() + pos;
 
}
 

	
 

	
 
/**
 
 * Simple vector template class, with automatic free.
 
 *
 
@@ -97,7 +80,7 @@ inline T* grow(std::vector<T>& vec, std:
 
 * @param S The steps of allocation
 
 */
 
template <typename T, uint S>
 
class AutoFreeSmallVector : public SmallVector<T, S> {
 
class AutoFreeSmallVector : public std::vector<T> {
 
public:
 
	~AutoFreeSmallVector()
 
	{
 
@@ -128,7 +111,7 @@ public:
 
 * @param S The steps of allocation
 
 */
 
template <typename T, uint S>
 
class AutoDeleteSmallVector : public SmallVector<T, S> {
 
class AutoDeleteSmallVector : public std::vector<T> {
 
public:
 
	~AutoDeleteSmallVector()
 
	{