TextLayoutSampler
Utility to display text via multiple Windows API's simultaneously (D2D, DWrite, GDI, GDI+). (by fdwr)
reflecxx
A static reflection framework for C++, using libclang. (by jimmyorourke)
TextLayoutSampler | reflecxx | |
---|---|---|
4 | 5 | |
31 | 55 | |
- | - | |
3.7 | 10.0 | |
10 days ago | about 2 years ago | |
C++ | Python | |
MIT License | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
TextLayoutSampler
Posts with mentions or reviews of TextLayoutSampler.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-02-16.
-
C++/C# interop for Windows (desktop) applications using WinRT
All of them :b (TextLayoutSampler, FontSetViewer, Onnx2Text, LunaSvgSampleTest, BiNums). With the exception of multicolor fonts (e.g. Segoe UI Emoji) and more robust vertical text support for Japanese text, there just haven't been any new APIs since Windows 7 that warrant moving forward for me 🤷♂️. Note all of those are fully C++ based, but I'm also working on a pixel format viewer for which I want C# interop to potentially utilize existing Paint.NET imaging/effect plugins.
-
figcone - Read JSON, YAML, TOML, XML or INI configuration by declaring a struct
I appreciate that you support multiple libraries/file types for the backing serialized text tree representation, for I always thought it silly that configuration tools would often support only a single file type - interop matters! (I had something similar for one of my apps, a general text tree class where the input/output can be JSON/XML/INI)
-
Modules support in visual studio
I can identify with that pain. I first started modularizing one of my projects in 2017, and after reporting another bug, I'd try every new VS release, only to make it another 20% further in the build and encounter another internal compiler issue. Though, it did finally build 100% in VS 2019, consuming Windows.h, some DirectX headers, and various std headers. Boost though, that might still be a beast of complexity beyond.
-
Stability of modules in Visual Studio?
Well I haven't seen that one, but I've gotten other ICE's and linker errors while incrementally modularizing this app over the years. e.g. Common.Variant.ixx(106,1): fatal error C1001: Internal compiler error. I definitely want to file bugs, and have been, but it's tedious to narrow down the ~20'000 line program for a repro 😑, as often times the change is due to elsewhere rather than the reported line itself. I did though get another program of mine (~15'000 lines) completely modularized successfully yesterday with VS2019 16.10.0 Preview 2, after applying the work-around for one linker error and disabling PCH's with modules. 😊 So it's definitely improving.
reflecxx
Posts with mentions or reviews of reflecxx.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-01-19.
- I implement a fast, macro-based namedtuple works under C++11
- reflecxx: A static reflection library framework and tooling. Auto serialization and more.
-
Unable to use asio.hpp when using conan
I haven't used the cmake_find_package generator much myself. People like it because it lets you write your cmake in a mostly conan agnostic way. If you don't care about that, I find the plain cmake generator much easier to use. You can inspect the generated conanbuildinfo.cmake file to see the targets, and call conan_basic_setup(TARGETS ). Then you link against targets that look like CONAN_PKG::boost or similar. I usually wrap conan setup in a cmake utility file like this: https://github.com/jimmyorourke/reflecxx/blob/main/test/cmake/ConanSetup.cmake
-
Is there any good binary serializer & deserializer for C / C++?
I have a library and tooling that using code generation will allow you to automatically generate serialization/deserialization to your custom binary format. It uses the visitor pattern and code generation for static reflection (eg iterating over fields of a struct). Check it out at https://github.com/jimmyorourke/reflecxx. Particularly it includes an automatic to/from json, which you could use as a starting point for how to write your own visitor.
-
figcone - Read JSON, YAML, TOML, XML or INI configuration by declaring a struct
You might be interested in a project I've put together that uses libclang to generate static reflection metadata that can then be used for generic parsing or serialization: https://github.com/jimmyorourke/reflecxx. It has examples of automatic to/from json.
What are some alternatives?
When comparing TextLayoutSampler and reflecxx you can also consider the following projects:
cppwinrt - C++/WinRT
metacpp - Meta C++ Library and Tool
AStarDemo - A basic A* example ported to C++/WinRT
miroir - C++20 compile-time reflection library.
figcone - Read JSON, YAML, TOML, XML or INI configuration by declaring a struct
namedtuple - Implementation of super-fast C++-styled namedtuple, for compile-time reflection.
STL - MSVC's implementation of the C++ Standard Library.
metapp - C++ runtime reflection library
conway - conway's game of life
Protobuf - Protocol Buffers - Google's data interchange format
Bitsery - Your binary serialization library
Kaitai Struct - Kaitai Struct: declarative language to generate binary data parsers in C++ / C# / Go / Java / JavaScript / Lua / Nim / Perl / PHP / Python / Ruby