I'm writing a library that needs a lot of fixed length integer values such as uint32_t and uint64_t defined as standard in the cstdint header.
For convinience I wanted to write a redefinition header "commons.h" that redefines unsigend int and unsigned long to this types and include this header in all headers.
Drawback: I force the user of my lib to live with this redefinitions when including one of the lib's headers.
What do you think of that approch? Is there a way to elimitnate the drawback while still getting to use the redefined builtins?
Why not just use the fixed length integer types directly? Is there some reason you absolutely have to use "unsigned int" to mean, say, "uint32_t" instead of simply using "uint32_t"?
If you must, you should put your library code in namespaces so when you do typedefs like that they will be local to your library namespace.