#pragma once #include #include namespace linked { struct entry { std::shared_ptr previous; std::shared_ptr next; std::shared_ptr child_head; uint64_t parent_id; uint64_t entry_id; uint64_t previous_id; bool fully_linked = false; bool modified = false; }; inline std::shared_ptr create_entry(uint64_t parent_id, uint64_t entry_id, uint64_t previous_id) { auto result = std::make_shared(); result->parent_id = parent_id; result->entry_id = entry_id; result->previous_id = previous_id; return result; } extern std::shared_ptr build_chain(const std::deque>& /* entried */, std::deque& /* error log */); }