Sign in to follow this  
coderWalker

Boost

Recommended Posts

It seems I am hearing more and more about boost.

I just would like to hear some opinions about it.

Is Boost free for Commercial products?

Should I replace fStream and SDL with Boost Librarys?

Should I use Boost for Multithreading?

Is Boost something thats been out for a while or new?

Is Boost widely used?

Are all parts of Boost CrossPlatform? (My game has to work on Linux, Windows, and MAC)

I want to sell my game I am making, if I switch over to Boost will I have to buy anything, should I do this?

I just want to make sure I don't start using another terrible library for beginners like the DarkGDK library which is a joke.

Thanks

Share this post


Link to post
Share on other sites
[quote]Is Boost free for Commercial products?[/quote]
Yes.

[quote]Should I replace fStream and SDL with Boost Librarys?[/quote]
The FileSystem library has a drop-in replacement for fstream that (I think) just improves interoperability with FileSystem and with other parts of the standard library (such as std::string). If you're using FileSystem, you might as well use its fstream class, but you don't necessarily have to.

The problem domain that SDL addresses is somewhat orthogonal to those addressed by Boost, so no, you wouldn't replace SDL with a library from Boost, generally speaking. (There may be a bit of overlap here and there, but Boost isn't really geared towards media in the way SDL is.)

[quote]Should I use Boost for Multithreading?[/quote]
I'll let someone else handle that.

[quote]Is Boost something thats been out for a while or new?[/quote]
It's been available for quite a while.

[quote]Is Boost widely used?[/quote]
Generally speaking, yes. (Although more so on some platforms and in some fields than others.)

[quote]Are all parts of Boost CrossPlatform? (My game has to work on Linux, Windows, and MAC)[/quote]
That shouldn't be a problem (generally speaking).

[quote]I want to sell my game I am making, if I switch over to Boost will I have to buy anything, should I do this?[/quote]
Boost is free (and free for commercial use), so there shouldn't be anything to worry about there.

Share this post


Link to post
Share on other sites
A lot of your questions could have been answered by Google.

Use the parts of boost that make sense. If your file streams are working fine, there is no reason to switch. But using boost's smart pointers or pointer containers rather than rolling your own would certainly be advised. Start with some of the popular ones, they are usually superior to the alternatives.

Share this post


Link to post
Share on other sites
We used boost for a PS3 PSN game. It works across most C++ platforms I believe. Most (all?) of it is implemented purely through C++ include files. In our particular case I used it mostly for shared/weak pointers, which were pretty invaluable for allowing us to do some simple multi-threading. I've seen several people shudder when I mention boost, but rolling your own implementation is not always worth the effort and it is nice to be able to take what you want and ignore what you don't want. C++ is really showing it's age at this point and it's nice to get a quick "boost" (sorry) to overcome some of these deficiencies.

Share this post


Link to post
Share on other sites
[quote name='JustinD67' timestamp='1301628461' post='4792860']
Also a good deal of Boost will be added to the C++ standard so I would advise getting used to it.
[/quote]

I tend to describe it as the inofficial extended C++ standard library. Though I might also advice that it helps to be familiar with C++ (as opposed to pure C) to appreciate it. For more extensive multithreading I prefer tbb (would have saved me a week of rolling my own task system). The focus on being "data parallel" helps to forget the silly concept of having one thread per "engine module" (ai, physics, rendering).

Share this post


Link to post
Share on other sites
I prefer not to use Boost myself, but hearing from people that use it, its reputation isn't exaggerated.

I see Boost as an attempt to modernize an aged programming language with new features that other, more modern languages (such as C#) have had for a long time.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this