otland / forgottenserver

A free and open-source MMORPG server emulator written in C++
https://otland.net
GNU General Public License v2.0
1.58k stars 1.05k forks source link

Replace boost::variant and tagged unions with std::variant #4678

Closed ranisalt closed 4 months ago

ranisalt commented 4 months ago

Pull Request Prelude

Changes Proposed

An effort to reduce the amount of code in headers and remove a dependency, uses std::variant to hold values that can have varying types. This is used for item attributes.

Added a tfs::visitors helper class to avoid writing verbose classes when using std::visit

ranisalt commented 4 months ago

Apple Clang is too handicapped for this