I know how to deal with the struct declarations, bools, and function overloading, but I'm not sure how big a problem operator overloading will be.
I'm assuming that it will be used to do math operations(+, -, *, /) on structs, if that's the case then I'm guessing I could just create functions to perform the math and use
1 | StructMathFunction(StructA, StructB, StructC); |
instead of
1 | StructC = StructA + StructB; |
Or is it going to be used for a different purpose that would be more difficult to rewrite in C?