I got a greate little breakthrough for my RTTI implementation! I was able to get rid of runtime-generated typeID integers and replacing with something different - that's a little secret I won't reveal until I released it, but in essence it defines each class by how you construct and destruct it. Anyway, that should be enough to guess. My new implementation also enables me to delete objects from their typeID and calling the correct constructors even it's was casted to a totally different object. I'll also implement further features like a dynamic sizeof operator giving the actual size of the object. The only drawback of this method is that you can also pass random pointers to completely different data structures. I also found a way to give atleast partial safety since it'd very rare to see random data having the same typeID of my classes (it's not a simple integer anymore). I'm thinking about more things I could implement besides typeID and a sizeOf clone. Maybe class names? I don't know. I guess a lot can change in the current implementation, so let's see where this is going. All in all I prepared this otherwise limited RTTI to enable fully functional garbage collectors. I'll implement two versions: one that works for only one datatype and no RTTI (or only if you define it's template parameter with an RTTI object) and one that's completely RTTI-based and thus more flexible. I'm a happy programmer now! I'm really, really glad I solved this problem. I stop developing further cause I didn't like the idea of my previous garbage collector design (the one limited to only one data type). Every other solution was just messy and didn't work so nicely as the new concept. And holy fuck, it's even faster and equally ressource-consuming than before.
So yes, this is a good day! I found a good, fully automatic solution while also expanding it's features by atleast 300%. If that's not a good day, I don't know!