mirror of
https://github.com/wichtounet/thor-os.git
synced 2025-09-17 16:51:33 -04:00
Improve emplace_back to return reference
This is done in C++17
This commit is contained in:
parent
c01d9b799a
commit
823b946a08
@ -196,17 +196,21 @@ public:
|
|||||||
++_size;
|
++_size;
|
||||||
}
|
}
|
||||||
|
|
||||||
void emplace_back(){
|
value_type& emplace_back(){
|
||||||
ensure_capacity(_size + 1);
|
ensure_capacity(_size + 1);
|
||||||
|
|
||||||
new (&data[_size++]) T();
|
new (&data[_size++]) T();
|
||||||
|
|
||||||
|
return back();
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename... Args>
|
template<typename... Args>
|
||||||
void emplace_back(Args... args){
|
value_type& emplace_back(Args... args){
|
||||||
ensure_capacity(_size + 1);
|
ensure_capacity(_size + 1);
|
||||||
|
|
||||||
new (&data[_size++]) T{std::forward<Args>(args)...};
|
new (&data[_size++]) T{std::forward<Args>(args)...};
|
||||||
|
|
||||||
|
return back();
|
||||||
}
|
}
|
||||||
|
|
||||||
void pop_back(){
|
void pop_back(){
|
||||||
|
Loading…
x
Reference in New Issue
Block a user