Synesis Software Training Courses

FastFormat, Advanced (part 2 of 2)

FastFormat is the world's fastest, most robust and most flexible C++ formatting library. Incorporating it into your software systems will increase their reliability, and, depending on the application area, has the potential to significantly improve their performance.

This course is an example-based guide to getting started with FastFormat.

It builds on the material from the "FastFormat, Beginners" training course.


Intermediate. Assumes prior experience of C++.


Presentation, with tutorial activities.


2 days: lecture + tutorial work

Material Covered (for the 2-day variant of the course)

  • Brief refresher on assumed knowledge (covered in "FastFormat, Beginners" course)
    • Architecture
    • FastFormat.Format API
    • FastFormat.Write API
    • Sinks
    • Arguments
      • Inserters
    • Format Bundles
  • Customising the FastFormat distribution
    • Regenerating the application layer function templates
    • Suppressing namespace
    • Reducing compile-time costs
      • Suppressing inclusion of adaptors for third-party components
      • Suppressing/Selecting parameter ranges
  • Understanding and Controlling Library Initialisation
    • The FastFormat Initialisation Life-cycle
    • Automatic Initialisation
    • Manual Initialisation
    • Suppressing/Forcing Automatic Initialisation
  • Adapting application types
    • Custom Inserters
    • Defining efficient String Access Shims
      • Avoiding the Heap
      • Robustness
  • Format-specification Defect Handling
    • Scoping
    • Diagnostic Logging
  • Custom Sinks
  • High-performance Techniques
  • Testing
  • Gotchas & Miscellaneous Valuable Facts
  • Non-trivial Use case examples & implementations