Do not "roll your own". The only reason to ever do so, is if you want to learn how to do it.
Boost is:
- Very well tested, by thousands of people using it in production code
- Licensed with a very permissible license
So there really is
no reason not to use it. The most frequent "reason" people don't use it, is because they don't understand how all the "template magic" and "preprocessor tricks" work. Almost as bad as people who don't use the C++ standard libraries, for those "reasons"...
There are alternatives though, as in other libraries which you can use. For example there is POCO (
http://pocoproject.org/) which, to many, looks a little "friendlier" than boost. The licensing is similar (actually... it's exactly the same
).
Specifically for filesystems for games, there is also PhysicsFS (
http://icculus.org/physfs), which provides a full virtual filesystem. Sadly, it uses a C API, and the internals often use integers (with a *specified* size of 32 bits) for storing pointers, and pointer differences, which makes the whole thing 64-bit incompatible. Guys... do use size_t and ptrdiff_t,
please they are there for a reason!