I have an enum and a struct
enum STORE_ENUM { A_DATA, B_DATA, C_DATA, D_DATA }; struct Store { int a; char b; long c; bool d; }
and I want to access its members with a specialized get function that basically looks like this
T get(STORE_ENUM,store s);
and it returns the appropriate type and hopefully statically type checks. is this possible in C++?
Yes it's possible. The boost PFR library allows something very similar to how you've envisaged it, e.g.:
auto& x = boost::pfr::get<B_DATA>(s);
See the tutorial here.
1.4m articles
1.4m replys
5 comments
57.0k users