/
BirdLeon
/
ROBLOX2016
Обзор
Документация
Войти
/
BirdLeon
/
ROBLOX2016
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
App/include/util/FixedArray.h
68 строк
1 KB
PatoFlamejanteTV
full source code
19 дек 2024, 19:11
19 дек 2024, 19:11
05db15d
Код
Авторство
О чём код?
/* Copyright 2003-2005 ROBLOX Corporation, All Rights Reserved */ #pragma once #include "boost/array.hpp" #include "rbx/Debug.h" namespace RBX { /* USAGE */ template<class T, std::size_t N> class FixedArray { private: boost::array<T, N> data; size_t num; public: FixedArray() : num(0) {} void push_back(const T& x) { RBXASSERT_VERY_FAST(num < N); data[num] = x; ++num; } void fastRemove(size_t i) { RBXASSERT_VERY_FAST(i < num); RBXASSERT_VERY_FAST(num <= N); data[i] = data[num - 1]; --num; } void replace(size_t i, const T& x) { RBXASSERT_VERY_FAST(i < num); RBXASSERT_VERY_FAST(num <= N); data[i] = x; } void fastClear() { num = 0; } T operator[](size_t i) { RBXASSERT_VERY_FAST(i < num); return data[i]; } const T operator[](size_t i) const { RBXASSERT_VERY_FAST(i < num); return data[i]; } size_t size() const { return num; } size_t capacity() const { return N; } }; }// namespace