-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
use Boost libraries #127
Comments
I'm strongly in favour of unit tests. Just, I've never liked Boost. Nothing wrong with writing simple tests without any fancy frameworks. Just that boilerplate and oft inconvenience. Some promising link(s): |
Boost seems nice since it has the functions we use. What's bad about it, exactly? |
I'll be the devil's advocate here then. It's a bad idea to use boost because most of the functionnality it would provide is either trivial to implement or complicated enough that you'd use a dedicated lib. That and C++ has some awesome unit testing frameworks which don't use boost. That said, you might want to cover core with tests because that's where the critical stuff happens, but that supposes having the API standardized. |
Because we totally have a way of directly finding out whether a function or feature in core works without probing it indirectly with a graphical application. Tests aren't hard to write, either. 100% coverage isn't the goal, and the core lib is simple as fuck now, so I would write tests for new features as they get written. If you were going to test them yourself you might as well write tests so that it can help everyone see whether it's behaving correctly without having to do some cumbersome dance over a GUI. Couldn't agree more with everything @IGI-111 brought up about boost. The only places I would involuntarily use boost is where libtorrent already uses it. |
I was thinking of using Boost.Filesystem which is non-trivial and should handle errors properly. As for not rewriting settings, do you have an alternative to Boost.Program_Options?
If it depends only on itself you're not stuck with it.
isn't that good?
If we do use it there's no reason to switch later.
Isn't it a bunch of separate libraries?
You can use clang++. Also, it's pretty hard to fuck up calling a function like |
You didn't understand what i mean because you haven't had to deal with boost in a big project.
That's short sighted, and being locked into using something is never a good thing.
I use LLVM already thank you very much.
You mean |
boost.program_options handles config files
Ok, but why is that bad?
Why would using boost lock us in anymore than any other library?
can't you add |
Well since we want text files and don't want to have to write yet another parser, why is boost relevant here? Might as well use a dedicated parser, that'll be more efficient.
Your compiler won't care though, and it conflicts with some other functions so you'd use Let's be clear here, even asio has a boost free version because most people don't want to have to deal with boost stuff when the STL is better and unfortunately since C++ is static and boost libs are written to be extensions of the language, once you import a boost lib, it almost always relies on other boost libs that you might have to import. In other words boost is a framework more than just a lib and sticking with separate libs and plain C++14 is a million times better than being stuck using boost. |
libtorrent-rasterbar already uses boost, so would you say we've already imported all of it? |
It uses its own types, unlike boost does internally. |
I've used boost filesystem, and have even examined the code. It's a bit on the complicated side, but overall, it seems to just be a lib that has abstraction you''ll have to write anyways. |
thank you for your contribution |
After looking through so far, in at least the core, I don't see anything that appears to really be benefited from using boost::filesystem. I'll check the curses and Qt client. |
the Platform_*.cpp files |
By the way, the Qt client has a lot of code so don't rush |
W-where's the Qt client? ;_; |
But... I mean, there's no actual client! |
wow rude |
parts of boost we might use:
some of this is part of TR2...how do the TRs work?
The text was updated successfully, but these errors were encountered: