C++ Repos Summary

overview of all C++ repository pages

These pages describe C++ repositories hosted on GitHub. Each is a self-contained package or application demonstrating a focused aspect of C++ programming. Repositories are organized below by category: Utils, Tools, Components, Libraries, Projects, and Demos.

Utils

Utility packages providing common services to many C++ programs.
Util Repositories Description
CppUtilities Simple services shared by many C++ programs; drop the CppUtilities folder into a project and include headers for the needed services.
FileUtilities Operations on file text common to multiple programs: adding line numbers, reading specified contiguous lines, and displaying parts of file text.
Testing Demonstrates a sequence of test cases covering construction, unit, regression, and performance testing for multi-package C++ projects.
Logger Logging helper functions for recording program activity to console or file within C++ applications.

Tools

Standalone executables for common development and file management tasks.
Tool Repositories Description
Duplicates Finds all files whose names match one or more files in other directories, using each file name and path only once to save space and CPU.
FileDates Reports all files matching specified patterns in a directory tree, sorted by file date.
FileSizes Reports all files matching specified patterns in a directory tree, sorted by file size.
FindFiles Locates files or directories whose names match a specified regular expression, with an option for recursive search.
CodeWebifier Converts source code text into an HTML fragment by escaping markup characters and wrapping in pre tags.
PrettyPrint WinForms application that prints text files in landscape mode with line numbers using HP's Printer Control Language (PCL).

Cmpnts

Reusable components providing infrastructure for concurrent and data-intensive applications.
Cmpnt Repositories Description
CppBlockingQueue Thread-safe message queue that blocks on dequeue when empty; designed for passing messages between threads in concurrent systems.
FileManager Five directory navigator implementations (Naive, Template, Inheritance, Events, Provider) that all perform the same DFS traversal in different ways.
CppProperties Implements property-like encapsulated getter/setter access for C++ class members using templates and specialization.
ThreadPool A blocking queue accepting callable workitems dispatched and executed by a fixed set of worker threads.
CppNoSqlDb Key/value store modeled after noSQL databases, favoring flexibility, horizontal scalability, and performance with large datasets.
Process C++ classes for managing Windows processes, modeled after the .Net Process class, filling the gap left by the sparse standard library support.
CppConcurrentFileAccess Small library for opening, using, and closing files safely in a concurrent multi-reader/writer environment.
CppLexicalScanner Two packages — Tokenizer and SemiExp — that extract words and semi-expressions from a file or string stream for use in parsing.
RetryWrapper Attempts to open a resource (file stream, socket, etc.) that may fail; retries after a sleep interval and returns the result as an optional.

Libs

Platform and data-structure libraries for Windows-specific and general C++ use.
Lib Repositories Description
FileSystem-Windows File, FileInfo, Directory, and Path classes in the FileSystem namespace, modeled after C# System.IO classes, for managing Windows directory contents.
Sockets-Windows Wraps Windows TCP socket facilities for sending byte streams between processes or machines, handling buffer behavior for each receiver.
XmlDocument Class hierarchy for efficiently building, modifying, and interpreting XML models, filling the gap left by the sparse C++ standard libraries.
CppGraph Generic Graph<V,E> for capturing relationships such as package dependencies, with Vertex and Edge template parameters.

Projects

Larger applications combining multiple components into complete systems.
Project Repositories Description
CppTextFinder Recursive, regex-based file-content search tool written in C++17; walks a directory tree and prints every file whose content contains a match.
CppPageValidator Checks HTML files for structural correctness, reporting violations of eight structural rules with precise line and column locations.
CppParser Executes static rule-based code parsing on a specified directory tree and displays results as an Abstract Syntax Tree.
CppCodeAnalyzer Executes static type-based code analysis on a directory tree, evaluating metrics and building an Abstract Syntax Tree of results.
CppCommWithFileXfer Socket-based asynchronous message-passing channel where each message carries To/From endpoint attributes enabling conversational communication.
CppHttpClientServer Minimal HttpClient and HttpServer prototype, kept as small and simple as practical for easy use in distributed applications.

Demos

Focused demonstrations of C++ language features, patterns, and standard libraries.
Demo Repositories Description
CMakeDemo Basic demos for building C++ libraries and executables with CMake, the cross-platform script-driven build utility.
CppBasicDemos Basic C++ syntax demos including pointers, references, lambdas, callable objects, classes, and standard library use.
STR Illustrates how to build a value type by implementing default, copy, and move constructors, copy/move assignment, and a destructor.
CompoundObjects Composite structures built from the four C++ class relationships: Inheritance, Composition, Aggregation, and Using.
ObjectFactories Demonstrates binding to interface and factory abstractions so clients depend only on invariant interfaces, not varying implementations.
TemplateTechniques Template class syntax, specialization, and template template parameters with basic and advanced examples.
STL-Containers Simple demonstrations for each STL container: array, deque, list, map, queue, set, stack, string, unordered_map, unordered_set, and vector.
IOStreams Demonstrates the std::iostream library for reading and writing to console, files, and stringstreams, covering the ios class hierarchy.
CppThreads Thread usage demos and Task examples: concurrency, techniques, callbacks, async tasks, blocking queue, and lock performance.
ProcsAndThreads Demonstrations of collaborating processes that internally spawn threads to handle inter-process communication.
Interop Examples of interoperation between C++, C++/CLI, and C# components.
CppModels Complete runnable code examples used in C++ Models videos, covering class structure, relationships, templates, and helper code.
CppStory Twelve-chapter tutorial on C++ covering basics, classes, relationships, templates, and libraries with example code throughout.