[ox/std] Add initializer_list constructor to Vector
This commit is contained in:
parent
99d342b8b3
commit
24ca5623e8
17
deps/ox/src/ox/std/vector.hpp
vendored
17
deps/ox/src/ox/std/vector.hpp
vendored
@ -8,6 +8,10 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#if __has_include(<initializer_list>)
|
||||
#include <initializer_list>
|
||||
#endif
|
||||
|
||||
#include "bit.hpp"
|
||||
#include "iterator.hpp"
|
||||
#include "math.hpp"
|
||||
@ -186,6 +190,10 @@ class Vector: detail::SmallVector<T, SmallVectorSize> {
|
||||
|
||||
explicit Vector(std::size_t size) noexcept;
|
||||
|
||||
#if __has_include(<initializer_list>)
|
||||
Vector(std::initializer_list<T> list) noexcept;
|
||||
#endif
|
||||
|
||||
Vector(const Vector &other);
|
||||
|
||||
Vector(Vector &&other) noexcept;
|
||||
@ -304,6 +312,15 @@ Vector<T, SmallVectorSize>::Vector(std::size_t size) noexcept {
|
||||
}
|
||||
}
|
||||
|
||||
#if __has_include(<initializer_list>)
|
||||
template<typename T, std::size_t SmallVectorSize>
|
||||
Vector<T, SmallVectorSize>::Vector(std::initializer_list<T> list) noexcept {
|
||||
for (auto &item : list) {
|
||||
emplace_back(item);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
template<typename T, std::size_t SmallVectorSize>
|
||||
Vector<T, SmallVectorSize>::Vector(const Vector &other) {
|
||||
m_size = other.m_size;
|
||||
|
Loading…
Reference in New Issue
Block a user