{"action":"created","issue":{"url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/issues/494","labels_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/issues/494/labels{/name}","comments_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/issues/494/comments","events_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/issues/494/events","html_url":"https://github.com/isocpp/CppCoreGuidelines/issues/494","id":125817705,"number":494,"title":"SL.3: Prefer the Boost libraries over other non-STL libraries","user":{"login":"richelbilderbeek","id":2098230,"avatar_url":"https://avatars.githubusercontent.com/u/2098230?v=3","gravatar_id":"","url":"https://api.github.com/users/richelbilderbeek","html_url":"https://github.com/richelbilderbeek","followers_url":"https://api.github.com/users/richelbilderbeek/followers","following_url":"https://api.github.com/users/richelbilderbeek/following{/other_user}","gists_url":"https://api.github.com/users/richelbilderbeek/gists{/gist_id}","starred_url":"https://api.github.com/users/richelbilderbeek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/richelbilderbeek/subscriptions","organizations_url":"https://api.github.com/users/richelbilderbeek/orgs","repos_url":"https://api.github.com/users/richelbilderbeek/repos","events_url":"https://api.github.com/users/richelbilderbeek/events{/privacy}","received_events_url":"https://api.github.com/users/richelbilderbeek/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/labels/open","name":"open","color":"5319e7"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":12,"created_at":"2016-01-10T12:50:10Z","updated_at":"2016-01-13T05:02:35Z","closed_at":null,"body":"Edit: Thanks to @nadiasvertex: added exceptions\r\n\r\n# SL.3: Prefer the Boost libraries over other non-STL libraries\r\n\r\n**Reason**: \r\n\r\nThe Boost libraries are praised for being well-designed by, among others, Alexandrescu, Stroustrup, and Sutter. The Boost libraries have a history of being the pre-STL libraries, as some Boost libraries have made it into the STL. For example, the boost::shared_ptr became the std::shared_ptr. \r\n\r\nSo when the STL lacks what you need, look in the Boost libraries first.\r\n\r\n**Example**s:\r\n\r\n * Graphs: Boost.Graph\r\n * Signal-slot: Boost.Signals2\r\n * many more\r\n\r\n**Alternative**s: \r\n\r\n**Exception**s: \r\n\r\n * Not everything (e.g. 3D graphics) is in Boost\r\n * Some Boost libraries may feel too over-engineered and have a too steep learning curve to suit your needs\r\n\r\n**Enforcement**: \r\n\r\n**See also**s: \r\n\r\n**Note**s: \r\n\r\n**Discussion**: "},"comment":{"url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/issues/comments/171168400","html_url":"https://github.com/isocpp/CppCoreGuidelines/issues/494#issuecomment-171168400","issue_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/issues/494","id":171168400,"user":{"login":"cbsmith","id":418385,"avatar_url":"https://avatars.githubusercontent.com/u/418385?v=3","gravatar_id":"","url":"https://api.github.com/users/cbsmith","html_url":"https://github.com/cbsmith","followers_url":"https://api.github.com/users/cbsmith/followers","following_url":"https://api.github.com/users/cbsmith/following{/other_user}","gists_url":"https://api.github.com/users/cbsmith/gists{/gist_id}","starred_url":"https://api.github.com/users/cbsmith/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cbsmith/subscriptions","organizations_url":"https://api.github.com/users/cbsmith/orgs","repos_url":"https://api.github.com/users/cbsmith/repos","events_url":"https://api.github.com/users/cbsmith/events{/privacy}","received_events_url":"https://api.github.com/users/cbsmith/received_events","type":"User","site_admin":false},"created_at":"2016-01-13T05:02:35Z","updated_at":"2016-01-13T05:02:35Z","body":"A rule of thumb doesn't trump all other rational thought. It's there for\nwhen all other rational thought doesn't provide a clear signal.\n\nFor all is failings, Boost has been where the C++ community has come\ntogether to build solutions. I don't even understand the comment about\nC++11/14 because much of what is in those newer updates was built on Boost.\nThat's seems reason enough for ties to go to Boost.\n\nAll else being equal, saying stdlib > Boost > others doesn't strike me as a\nterribly controversial practice.\nOn Jan 12, 2016 6:36 PM, \"Joseph Thomson\" <notifications@github.com> wrote:\n\n> While I do like to use Boost wherever possible, as it follows the style of\n> the STL, there is nothing that makes the Boost libraries inherently better\n> than other libraries. Following this advice may result in the use of a less\n> than ideal library, so I don't think this is a good fit for the guidelines.\n>\n> —\n> Reply to this email directly or view it on GitHub\n> <https://github.com/isocpp/CppCoreGuidelines/issues/494#issuecomment-171138886>\n> .\n>\n"}}