Log In
Log In

Posts

Stay up to date with Boost and the C++ ecosystem with the latest news, videos, resources, and user-created content.

Filter

Latest Posts

  • Design Best Practices
    Guidelines are presented as recommendations drawn from prior experience with Boost library submissions. Emphasis is placed on clarity and correctness before optimization, while adherence to ISO Standard C++ and use of the Standard Library are encouraged. Source files are required to begin with descriptive comments, licensing information, and a reference to the library’s Boost webpage, and to follow conservative formatting such as fixed‑width fonts, spaces instead of tabs, and an 80‑character line limit. Naming conventions mirror those of the C++ Standard Library, using lowercase words separated by underscores, uppercase macro prefixes, and descriptive identifiers. Consistency is advocated through matching library names, directory structures, header locations, and namespaces, with singular nouns preferred and the library name capitalized within the Boost namespace.
    Blog #Container
  • Development Best Practices
    Guidance is provided for accelerating library development while maintaining quality and openness. Beneficial Boost dependencies such as Config, Core, Assert, ThrowException and Mp11 are identified for evaluation to simplify compliance and extend functionality. A disciplined GitHub workflow is advocated, requiring all changes to be submitted via pull requests and avoiding direct edits on the website. Linear history is emphasized through the exclusive use of rebasing instead of merging, configuring pulls to rebase, and performing interactive rebase squashes before integration. Fast‑forward‑only merges are recommended and can be enforced via repository settings. Commit discipline is enforced by limiting commits to meaningful changes and refining them with amend or staged additions.
    Blog
  • Post for Waigtal
    Header files act as the interface between a library and user code and must be well‑behaved. Boost guidelines prescribe that header filenames use a lowercase .hpp extension. Include guards are required unless multiple inclusion is intended, using uppercase namespace‑prefixed identifiers separated by underscores. All declarations are placed inside a namespace, preferably boost, to avoid global namespace pollution. Headers must compile as standalone units and be placed in sub‑directories added to the include path, avoiding relative includes. Member ordering is advised as public, protected, then private, and boost/config.hpp is included when compiler or platform configuration is required. Examples illustrate nested guard naming for libraries such as Boost.Beast, showing progressive prefixes for subfolders and implementations.
    Blog #Align
  • JS Disabled blog
    Boost library submission rules are listed. Licenses must follow Boost policy; GPL/LGPL are excluded. Copyright ownership must be clearly stated. Libraries must be useful and portable. Organization guidelines and design best practices are encouraged.
    Blog #CallableTraits
  • Learn C++
    It is a beginner‑level, self‑paced Codecademy course introducing the C++ programming language and its applications in software, games, databases, and scientific computing. The curriculum is comprised of 13 lessons, 14 hands‑on projects, and eight quizzes, requiring roughly eleven hours to complete and covering core programming concepts, pointers, memory management, and project development. Practical assignments are provided, such as creating ASCII block letters, solving quadratic equations, and converting currencies. Completion yields a certificate that may be displayed on professional profiles. Learner feedback highlights clear explanations, interactive exercises, and a well‑organized interface. Frequently asked questions supply background on C++’s evolution and its performance advantages.
    Link #Function
  • Libraries
    The section outlines the criteria that a library must satisfy to be accepted by Boost. It states that the license must conform to Boost’s license requirements, excluding restricted licenses such as GPL or LGPL. Clear copyright ownership must be demonstrated, and the library should be of general interest and portable across platforms. Compliance with Boost’s organization standards is expected after acceptance, while adherence to design best practices and documentation guidelines is required beforehand. Contributors are expected to engage in mailing‑list discussions and refine the library as needed. A tip notes that submissions beginning with a claim of just having started to read the mailing list often fail. Prospective submitters are reminded to verify ownership, include copyright notices in all files, and obtain employer releases when necessary.
    News
  • Design Best Practices- Blog
    Guidelines are presented for creating Boost libraries, emphasizing clarity and correctness before optimization and adherence to ISO‑standard C++. Headers are required to be well‑behaved neighbors, to follow consistent naming and to include introductory comment blocks describing contents, licensing and the library URL. Source files must use fixed‑width fonts, spaces instead of tabs and be limited to 80 characters per line, while documentation files end with copyright and licensing notices. Naming conventions follow the C++ standard library: identifiers are lowercase with underscores, template parameters start with an uppercase letter, macros are uppercase prefixed by BOOST_, and file and directory names are restricted to portable ASCII characters and length limits.
    Blog

Create an account


Advance your career, learn from experts, and help shape the future of Boost and C++.