mirror of
https://github.com/YimMenu/RDR-Classes.git
synced 2024-12-22 14:37:30 +08:00
parent
a2a74e151a
commit
6bf009fae7
@ -7,6 +7,7 @@
|
|||||||
#include "network/rlGamerInfoBase.hpp"
|
#include "network/rlGamerInfoBase.hpp"
|
||||||
#include "network/rlGamerInfo.hpp"
|
#include "network/rlGamerInfo.hpp"
|
||||||
#include "player/CPlayerInfo.hpp"
|
#include "player/CPlayerInfo.hpp"
|
||||||
|
#include "rage/atArray.hpp"
|
||||||
#include "rage/joaat.hpp"
|
#include "rage/joaat.hpp"
|
||||||
#include "rage/vector.hpp"
|
#include "rage/vector.hpp"
|
||||||
#include "script/scriptHandlerNetComponent.hpp"
|
#include "script/scriptHandlerNetComponent.hpp"
|
||||||
|
71
rage/atArray.hpp
Normal file
71
rage/atArray.hpp
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
#pragma once
|
||||||
|
#include <cstdint>
|
||||||
|
#include <initializer_list>
|
||||||
|
#include <ostream>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
namespace rage
|
||||||
|
{
|
||||||
|
#pragma pack(push, 8)
|
||||||
|
template <typename T>
|
||||||
|
class atArray
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
atArray() :
|
||||||
|
m_data(nullptr),
|
||||||
|
m_size(0),
|
||||||
|
m_count(0)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
T* begin() const
|
||||||
|
{
|
||||||
|
return &m_data[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
T* end() const
|
||||||
|
{
|
||||||
|
return &m_data[m_size];
|
||||||
|
}
|
||||||
|
|
||||||
|
T* data() const
|
||||||
|
{
|
||||||
|
return m_data;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::uint16_t size() const
|
||||||
|
{
|
||||||
|
return m_size;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::uint16_t count() const
|
||||||
|
{
|
||||||
|
return m_count;
|
||||||
|
}
|
||||||
|
|
||||||
|
T& operator[](std::uint16_t index) const
|
||||||
|
{
|
||||||
|
return m_data[index];
|
||||||
|
}
|
||||||
|
|
||||||
|
bool contains(T comparator)
|
||||||
|
{
|
||||||
|
for (auto iter_value : this)
|
||||||
|
{
|
||||||
|
if (iter_value == comparator)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
T* m_data;
|
||||||
|
std::uint16_t m_size;
|
||||||
|
std::uint16_t m_count;
|
||||||
|
};
|
||||||
|
static_assert(sizeof(rage::atArray<std::uint32_t>) == 0x10, "rage::atArray is not properly sized");
|
||||||
|
#pragma pack(pop)
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user