Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add doubly LinkedList implementation to expose to scripting #12

Merged
merged 25 commits into from
Sep 17, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
d836349
Initial implementation of `List` for scripting purposes
Xrayez Sep 10, 2020
937da92
Teach `Variant` to convert `VariantListElement`
Xrayez Sep 10, 2020
7463b9e
Rename `VariantList` to `LinkedList`
Xrayez Sep 10, 2020
c375b62
Convert `LinkedList` to `Reference`
Xrayez Sep 10, 2020
c819582
Implement basic methods
Xrayez Sep 10, 2020
79f43ee
Move oneline implementations to declaration in linked list
Xrayez Sep 11, 2020
0250e51
Move linked list implementation to `types` directory
Xrayez Sep 11, 2020
fae8809
Port `List` move to back, front, before methods
Xrayez Sep 11, 2020
4a38bc3
Port and fix linked list `swap`, add `invert` methods
Xrayez Sep 13, 2020
39625a6
Add properties for linked list `front`, `back`, `next`, `prev`
Xrayez Sep 13, 2020
b7285ae
Fix missing rename for `front()` in linked list
Xrayez Sep 13, 2020
9168397
Do not print error on `List::remove()` if can't find a value
Xrayez Sep 13, 2020
7e8e536
Port linked list `insert_after` and `insert_before`
Xrayez Sep 13, 2020
02571aa
Fix missing argument names for linked list methods
Xrayez Sep 13, 2020
bb1f94e
Implement custom iterators for `LinkedList`
Xrayez Sep 13, 2020
128c4c3
Add `LinkedList.get_elements()`
Xrayez Sep 14, 2020
5a1c7a5
Fix warnings in linked list test cases
Xrayez Sep 14, 2020
a905a67
Rename `ListElement` to `ListNode`
Xrayez Sep 14, 2020
ad118a4
Expose linked list `sort` method
Xrayez Sep 14, 2020
71e5b21
Stringify linked list and list nodes for printing
Xrayez Sep 15, 2020
d8c1795
Add `LinkedList::create_from` method
Xrayez Sep 15, 2020
a11b6ec
Add editor icons for `LinkedList` and `ListNode`
Xrayez Sep 15, 2020
54754d6
Document `ListNode`
Xrayez Sep 16, 2020
da4df2a
Fix ternary operator compilation error for erasing list node
Xrayez Sep 16, 2020
2c8b4e4
Document `LinkedList`
Xrayez Sep 16, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions core/SCsub
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,4 @@ if env["goost_math_enabled"]:
SConscript("math/SCsub", exports="env_goost")

env_goost.add_source_files(env.modules_sources, "*.cpp")
env_goost.add_source_files(env.modules_sources, "types/*.cpp")
3 changes: 3 additions & 0 deletions core/register_core_types.cpp
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
#include "register_core_types.h"

#include "types/list.h"
#include "image/register_image_types.h"
#include "math/register_math_types.h"

namespace goost {

void register_core_types() {
ClassDB::register_class<ListNode>();
ClassDB::register_class<LinkedList>();
#ifdef GOOST_IMAGE_ENABLED
register_image_types();
#endif
Expand Down
Loading