FuncDoodle
Loading...
Searching...
No Matches
DynArr.h
Go to the documentation of this file.
1
19
20#pragma once
21
29
30#include "Project/Frame.h"
31
32namespace FuncDoodle {
45 public:
56 int width, int height, Col bgCol, uint64_t initialcap = 10);
58
65 void PushBack(const Frame* value);
70 void PushBackEmpty();
77 void InsertAfterEmpty(uint64_t index);
84 void InsertBeforeEmpty(uint64_t index);
91 void InsertAfter(uint64_t index, const Frame* value);
98 void InsertAfter(uint64_t index, Frame val);
105 void InsertBefore(uint64_t index, const Frame* value);
112 void InsertBefore(uint64_t index, Frame val);
119 void MoveBackward(uint64_t i);
126 void MoveForward(uint64_t i);
133 void Remove(uint64_t index);
134
137 Frame* operator[](uint64_t index);
140 const Frame* operator[](uint64_t index) const;
148 Frame* Get(uint64_t index);
149
156 [[nodiscard]] uint64_t Size() const { return size; }
163 [[nodiscard]] uint64_t Capacity() const { return m_Capacity; }
164
165 private:
166 std::vector<Frame> m_Data;
167 uint64_t m_Capacity;
168 uint64_t size = 0;
172
173 void Resize(uint64_t newCap);
174 };
175} // namespace FuncDoodle
Defines pixel color structures and frame/image data containers.
Wraps an ImageArray with higher-level frame editing operations.
Definition Frame.h:248
int m_Height
Definition DynArr.h:170
void PushBack(const Frame *value)
Appends a copy of a frame.
Definition DynArr.cc:20
uint64_t Size() const
Returns the number of stored frames.
Definition DynArr.h:156
Frame * Get(uint64_t index)
Returns mutable frame access by index.
Definition DynArr.cc:181
uint64_t Capacity() const
Returns the reserved frame capacity.
Definition DynArr.h:163
void MoveBackward(uint64_t i)
Moves a frame one slot toward the beginning.
Definition DynArr.cc:139
void InsertAfterEmpty(uint64_t index)
Inserts an empty frame after an index.
Definition DynArr.cc:43
Col m_BG
Definition DynArr.h:171
void InsertBeforeEmpty(uint64_t index)
Inserts an empty frame before an index.
Definition DynArr.cc:58
void InsertBefore(uint64_t index, const Frame *value)
Inserts a frame copy before an index.
Definition DynArr.cc:106
LongIndexArray(int width, int height, Col bgCol, uint64_t initialcap=10)
Creates a frame array with default empty frames.
Definition DynArr.cc:8
void MoveForward(uint64_t i)
Moves a frame one slot toward the end.
Definition DynArr.cc:147
uint64_t size
Definition DynArr.h:168
void Resize(uint64_t newCap)
Definition DynArr.cc:189
Frame * operator[](uint64_t index)
Returns mutable frame access by index.
Definition DynArr.cc:165
void PushBackEmpty()
Appends a newly created empty frame.
Definition DynArr.cc:34
void InsertAfter(uint64_t index, const Frame *value)
Inserts a frame copy after an index.
Definition DynArr.cc:73
void Remove(uint64_t index)
Removes a frame at an index.
Definition DynArr.cc:155
std::vector< Frame > m_Data
Definition DynArr.h:166
int m_Width
Definition DynArr.h:169
uint64_t m_Capacity
Definition DynArr.h:167
The FuncDoodle C++ namespace.
Definition Common.h:12
A struct holding an RGB8 color.
Definition Frame.h:47