|
Voxia OS v0.0.1
Hobby Project Operating System Targeting x86-64
|
#include <vector.hpp>
Public Member Functions | |
| Vector () | |
| ~Vector () | |
| Vector (const Vector &)=delete | |
| Vector & | operator= (const Vector &)=delete |
| Vector (Vector &&other) noexcept | |
| Move constructor. | |
| Vector & | operator= (Vector &&other) noexcept |
| Move assignment. | |
| T & | operator[] (size_t index) |
| Akses elemen by index (tanpa bounds check). | |
| const T & | operator[] (size_t index) const |
| Akses elemen by index — const overload. | |
| T & | front () |
| Elemen pertama. | |
| T & | back () |
| Elemen terakhir. | |
| T * | data () |
| Pointer raw ke data internal. | |
| const T * | data () const |
| Pointer raw ke data internal — const. | |
| size_t | size () const |
| Jumlah elemen aktif. | |
| size_t | capacity () const |
| Kapasitas buffer saat ini. | |
| bool | empty () const |
| True jika tidak ada elemen. | |
| void | push_back (const T &val) |
| Tambah elemen ke akhir (copy). | |
| void | push_back (T &&val) |
| Tambah elemen ke akhir (move). | |
| T * | pop_back () |
| Hapus elemen terakhir dan kembalikan nilainya. | |
| void | clear () |
| Reset ukuran ke 0 tanpa membebaskan memori. | |
| void | reserve (size_t new_cap) |
Pastikan kapasitas minimal new_cap elemen. | |
| T * | begin () |
| T * | end () |
| const T * | begin () const |
| const T * | end () const |
Private Member Functions | |
| void | expand_capacity () |
| Dobel kapasitas — menggantikan macro vector_expand_capacity(). | |
| void | destroy () |
| Bebaskan memori — menggantikan macro vector_destroy(). | |
Private Attributes | |
| T * | data_ |
| size_t | size_ |
| size_t | capacity_ |
Definition at line 10 of file vector.hpp.
Definition at line 12 of file vector.hpp.
References capacity_, data_, nullptr, reserve(), size_, and VECTOR_MINIMUM_ITEM.
Referenced by operator=(), operator=(), Vector(), and Vector().
Definition at line 16 of file vector.hpp.
References destroy().
|
inline |
|
inline |
Definition at line 157 of file vector.hpp.
References data_.
|
inline |
Definition at line 164 of file vector.hpp.
References data_.
|
inline |
Reset ukuran ke 0 tanpa membebaskan memori.
Menggantikan macro vector_clear().
Definition at line 134 of file vector.hpp.
References size_.
|
inline |
|
inline |
|
inlineprivate |
Bebaskan memori — menggantikan macro vector_destroy().
Definition at line 187 of file vector.hpp.
References capacity_, data_, kfree(), and size_.
Referenced by operator=(), and ~Vector().
|
inline |
|
inline |
Definition at line 160 of file vector.hpp.
|
inline |
Definition at line 167 of file vector.hpp.
|
inlineprivate |
Dobel kapasitas — menggantikan macro vector_expand_capacity().
Definition at line 179 of file vector.hpp.
References capacity_, and reserve().
Referenced by push_back(), and push_back().
|
inline |
References Vector().
Akses elemen by index (tanpa bounds check).
Definition at line 52 of file vector.hpp.
References data_.
|
inline |
Hapus elemen terakhir dan kembalikan nilainya.
Menggantikan macro vector_pop_back() — versi ini TIDAK menggunakan return di dalam macro (yang berbahaya).
Definition at line 124 of file vector.hpp.
|
inline |
Tambah elemen ke akhir (copy).
Menggantikan macro vector_push_back().
Definition at line 100 of file vector.hpp.
References capacity_, data_, expand_capacity(), and size_.
|
inline |
Tambah elemen ke akhir (move).
Definition at line 109 of file vector.hpp.
References capacity_, data_, expand_capacity(), and size_.
Pastikan kapasitas minimal new_cap elemen.
Menggantikan vector_expand_capacity() dengan kontrol eksplisit.
Definition at line 142 of file vector.hpp.
References capacity_, data_, kalloc(), kfree(), and memcopy().
Referenced by expand_capacity(), and Vector().
Definition at line 174 of file vector.hpp.
Referenced by capacity(), destroy(), expand_capacity(), operator=(), push_back(), push_back(), reserve(), and Vector().
|
private |
Definition at line 172 of file vector.hpp.
Referenced by back(), begin(), begin(), data(), data(), destroy(), end(), end(), front(), operator=(), operator[](), operator[](), pop_back(), push_back(), push_back(), reserve(), and Vector().
Definition at line 173 of file vector.hpp.
Referenced by back(), clear(), destroy(), empty(), end(), end(), operator=(), pop_back(), push_back(), push_back(), size(), and Vector().