A Haxe library providing parametrized, cross-platform data structures optimized for game development.
Polygonal/ds is a Haxe library containing a collection of parametrized data structure classes designed for game development and other performance-sensitive applications. It provides implementations of common structures like linked lists, queues, stacks, hash tables, graphs, and multi-dimensional arrays, with a focus on cross-platform compatibility and optimization.
Game developers and programmers using Haxe who need efficient, reusable data structures that work across multiple compilation targets like Flash, JavaScript, C++, and others.
Developers choose polygonal/ds for its blend of C++ STL-like performance and Java Collections-like usability, tailored for Haxe's cross-platform ecosystem. It offers specialized structures for games, memory management tools, and conditional compilation flags for platform-specific optimizations.
A Haxe library containing data structures for games.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports all major Haxe targets like Flash, JS, C++, and experimental ones like Java and C#, enabling consistent code across diverse runtimes, as listed in the README.
Includes conditional compilation flags like -D generic for static platforms and -D alchemy for Flash, plus structures like BitVector and Graph algorithms tailored for game development scenarios.
Provides MemoryManager and ObjectPool classes for manual memory management and object recycling, crucial for reducing garbage collection overhead in performance-sensitive games.
Offers a wide range from basic lists to specialized hash tables and multi-dimensional arrays, covering most game development needs as highlighted in the key features.
Key targets like Java, C#, and HL are marked as experimental in the README, which can lead to instability and limited testing, making them risky for production use.
Requires Haxe installation, haxelib usage, and conditional compilation flags for optimal performance, adding overhead compared to built-in libraries in other languages.
Major version updates, such as dropping Haxe 3.x support in version 2.1.1, force migrations and potential code breaks, as noted in the changelog.
API documentation and introductory slides are from 2012, not reflecting recent changes like Haxe 4 support, making onboarding difficult for new users.