docs: add plugin setup guide
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
#pragma once
|
||||
|
||||
#include "RE/B/BSIntrusiveRefCounted.h"
|
||||
#include "RE/B/BSScript_TypeInfo.h"
|
||||
#include "RE/B/BSScript_Variable.h"
|
||||
#include "RE/B/BSSpinLock.h"
|
||||
#include "RE/B/BSTArray.h"
|
||||
|
||||
namespace RE
|
||||
{
|
||||
namespace BSScript
|
||||
{
|
||||
class Array :
|
||||
public BSIntrusiveRefCounted // 00
|
||||
{
|
||||
private:
|
||||
// Array * ctor(const TypeInfo *type_info, std::uint32_t initial_size = 0);
|
||||
|
||||
public:
|
||||
using value_type = Variable;
|
||||
using size_type = std::uint32_t;
|
||||
using difference_type = std::int32_t;
|
||||
using reference = value_type&;
|
||||
using const_reference = const value_type&;
|
||||
using pointer = value_type*;
|
||||
using const_pointer = const value_type*;
|
||||
using iterator = value_type*;
|
||||
using const_iterator = const value_type*;
|
||||
using reverse_iterator = std::reverse_iterator<iterator>;
|
||||
using const_reverse_iterator = std::reverse_iterator<const_iterator>;
|
||||
|
||||
// Array(const TypeInfo *type_info, std::uint32_t initial_size = 0);
|
||||
~Array();
|
||||
|
||||
[[nodiscard]] reference operator[](size_type a_pos);
|
||||
[[nodiscard]] const_reference operator[](size_type a_pos) const;
|
||||
|
||||
[[nodiscard]] reference front();
|
||||
[[nodiscard]] const_reference front() const;
|
||||
|
||||
[[nodiscard]] reference back();
|
||||
[[nodiscard]] const_reference back() const;
|
||||
|
||||
[[nodiscard]] pointer data() noexcept;
|
||||
[[nodiscard]] const_pointer data() const noexcept;
|
||||
|
||||
[[nodiscard]] iterator begin() noexcept;
|
||||
[[nodiscard]] const_iterator begin() const noexcept;
|
||||
[[nodiscard]] const_iterator cbegin() const noexcept;
|
||||
|
||||
[[nodiscard]] iterator end() noexcept;
|
||||
[[nodiscard]] const_iterator end() const noexcept;
|
||||
[[nodiscard]] const_iterator cend() const noexcept;
|
||||
|
||||
[[nodiscard]] reverse_iterator rbegin() noexcept;
|
||||
[[nodiscard]] const_reverse_iterator rbegin() const noexcept;
|
||||
[[nodiscard]] const_reverse_iterator crbegin() const noexcept;
|
||||
|
||||
[[nodiscard]] reverse_iterator rend() noexcept;
|
||||
[[nodiscard]] const_reverse_iterator rend() const noexcept;
|
||||
[[nodiscard]] const_reverse_iterator crend() const noexcept;
|
||||
|
||||
[[nodiscard]] bool empty() const noexcept;
|
||||
|
||||
[[nodiscard]] size_type size() const noexcept;
|
||||
|
||||
[[nodiscard]] size_type max_size() const noexcept;
|
||||
|
||||
[[nodiscard]] TypeInfo& type_info();
|
||||
[[nodiscard]] const TypeInfo& type_info() const;
|
||||
|
||||
[[nodiscard]] TypeInfo::RawType type() const;
|
||||
|
||||
// members
|
||||
TypeInfo elementType; // 08
|
||||
BSSpinLock elementsLock; // 10
|
||||
BSTArray<Variable> elements; // 18
|
||||
};
|
||||
static_assert(sizeof(Array) == 0x30);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user