This adds support for building on C++20 and adds a static library target to make this easily vcpkg-able and consumed downstream.
the thing that gave me the most trouble was the r/l-value changes in C++20; the tricks used to pipe stuff into ostream/ostringstream broke pretty badly. I attempted to fix it by using double references, but it often doesn’t work, so there’s a lot of "AsString()" scattered around the code now when writing. I’m not sure how to fix this properly, so if you have any ideas, let me know.
this also addresses the issues with the previous PR.
This adds support for building on C++20 and adds a static library target to make this easily vcpkg-able and consumed downstream.
the thing that gave me the most trouble was the r/l-value changes in C++20; the tricks used to pipe stuff into ostream/ostringstream broke pretty badly. I attempted to fix it by using double references, but it often doesn’t work, so there’s a lot of "AsString()" scattered around the code now when writing. I’m not sure how to fix this properly, so if you have any ideas, let me know.
this also addresses the issues with the previous PR.