Skip to content

djnavarro/learning-cpp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

My notes-to-self while working through Professional C++ (5th edition) by Marc Gregoire

Directory structure:

  • src: C++ source code, where each chapter is a subfolder
  • notes: Markdown files, where each chapter is one document
  • docs: HTML output and other files needed to publish the site
  • static: Static files that are copied directly to docs
  • build: Source files etc used when building HTML from markdown

Top-level files have their usual meaning:

  • Makefile: Handles C++ compilation and builds docs
  • pyproject.toml: Specifies Python dependencies (...but it's just codebraid)
  • .gitignore: Avoid committing unwanted things, as always
  • LICENCE.md: Does what it says on the tin
  • README.md: This file, obvs

Files/directories not committed:

  • bin: Executables built from C++ source, one subfolder per chapter
  • _codebraid: Code execution results, when building markdown to HTML
  • poetry.lock: Lock file for the poetry project specified in pyproject.toml

Note-to-self regarding poetry:

Seems like it's easy to run afoul of the keyring issue. When trying to install dependencies on a fresh machine using poetry install, it stalls at the "Resolving dependencies" step and then fails. The fix appears to be a mildly annoying hack where you install the keyring package and then explicitly disable it. Anyways, solution appears to be this:

poetry run python -m pip install keyring
poetry run python -m keyring --disable

It's not pretty, but once that's done poetry seems to work properly. Sigh.

Releases

No releases published

Packages

No packages published