When using different libraries, I always found that each have a custom type for the same "real word entity".
Say I have a project using points in 3 dimensions, I just use algorithms from OpenCv and PCL(Point Cloud Library). I found myself with these types for a point :
- Point3_ for OpenCv
- PointXYZ for PCL
- Point3d my custom type
Now I have algorithms I wrote for my Point3d, but I also want to use algorithms from these libraries. Converting each point in a big set from one type to another, back and forth, takes memory and time.
What would be the best way to have some kind of abstraction around this ?