Skip to content
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

Discuss non-framework libraries #13

Open
Morwenn opened this issue Jan 27, 2016 · 17 comments
Open

Discuss non-framework libraries #13

Morwenn opened this issue Jan 27, 2016 · 17 comments

Comments

@Morwenn
Copy link
Member

Morwenn commented Jan 27, 2016

We still don't have any discussion for libraries too small to be considered frameworks. The kind of utility libraries that are often small, header-only, and dedicated to solving specific tasks. Without too much thought about it, I would nominate cppformat which seems more than decent.

@nabijaczleweli nabijaczleweli changed the title Discuss small libraries Discuss non-framework libraries Jan 27, 2016
@nabijaczleweli
Copy link
Member

👍 for cppformat

@ghost
Copy link

ghost commented Jan 27, 2016

butt boost::format?

@nabijaczleweli
Copy link
Member

@ghost ghost mentioned this issue Jan 27, 2016
@nabijaczleweli
Copy link
Member

I also propose CPR - a C++14-isation of libcurl

@ghost
Copy link

ghost commented Jan 27, 2016

I agree with CPR - it looks nice. Let's decide whether we put CPR or casablanca - obviously we won't just put two competing libraries into the list

@nabijaczleweli
Copy link
Member

They are not competing, looks like.

@ghost
Copy link

ghost commented Jan 27, 2016

Actually, it's not obvious. let's just say I'd rather not put two competing libraries, and that at some point we should decide which is awesomer. People look at this list to pick a library, so if you leave two of them, then they still have to continue searching. Just my 0.02$

@ghost
Copy link

ghost commented Jan 27, 2016

@nabijaczleweli ok, boost::format is slow, but we still need to agree that cppformat is better :)

@nabijaczleweli
Copy link
Member

Casablanca:

Features:

  • HTTP client/server, JSON, URI, asynchronous streams, WebSockets client, oAuth
  • PPL Tasks - A powerful model for composing asynchronous operations based on C++ 11 features
  • Support for Visual Studio 2012, 2013, and 2015 with debugger visualizers

A.k.a. it's (a) a framework, and (b) an all-container.

CPR, however is just a C++14 wrapper around libcurl.

@milleniumbug
Copy link

👍 for cppformat.

@milleniumbug
Copy link

I nominate Niebler's ranges library.

@Morwenn
Copy link
Member Author

Morwenn commented Jan 27, 2016

A list of the small yet cool libraries that I starred and that might be worthy of official awesomeness:

  • Howard Hinnant's date and time library based on <chrono>.
  • sqlpp11 which seems pretty cool. It implements a EDSL to manipulate databases and can even consider standard collections as temporary databases. Pretty powerful.
  • Eric Niebler's range-v3 as already mentioned.
  • I wish I could nominate boost-tree which isn't part of Boost but the subject of a standard proposal. It offers interesting abstractions and several kinds of generic tree data structures. IIRC it wasn't accepted in the standard library because it was too big without enough experience from users. I think it was proposed to Boost too but it overlapped with several Boost modules; I don't know what happened afterwise.
  • expected which is an implementation of the proposed std::expected error reporting utility.

All of them are "modern" C++ libraries and much thought was put in their design.

@nabijaczleweli
Copy link
Member

👍 the date library collection and sqlpp11
v0v expected
👎 Boost.Tree - old, unmaintained

@nabijaczleweli
Copy link
Member

@milleniumbug's seed11

@ghost
Copy link

ghost commented Mar 15, 2016

pugixml ?

@milleniumbug
Copy link

Posting here so I won't forget: docopt. Not yet nominating, I have to review it first.

@nabijaczleweli
Copy link
Member

I hereby propose:

  • jsonpp — excellent, yet simple API
  • cereal — all-round dope serialisation

@milleniumbug, how's docopt treating yeh?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants