Skip to content

Latest commit

 

History

History
52 lines (45 loc) · 2.22 KB

File metadata and controls

52 lines (45 loc) · 2.22 KB

Future Work - C++ Snippets Punch List

Recent Reorganization ✅

  • Repository restructuring - Moved from "odds-and-ends" to organized categories:
    • language-features/cpp20/ - C++20 specific features
    • language-features/cpp23/ - C++23 specific features
    • language-features/core/ - Core language features
    • system-programming/ - Low-level system code
    • examples/ - Educational/demo code
  • Naming standardization - Consistent kebab-case naming
  • Documentation updates - Updated README and tooling

Algorithm Additions

  • Graph algorithms (dijkstra, A*, BFS/DFS, topological sort)
  • String algorithms (KMP, Rabin-Karp, suffix trees/arrays)
  • Dynamic programming (knapsack, longest common subsequence, edit distance)
  • Sorting variations (heap sort, radix sort, counting sort)
  • Geometric algorithms (convex hull, line intersection, closest pair)

Concurrency Enhancements

  • Atomic operations examples with memory ordering
  • Lock-free data structures (queue, stack, linked list)
  • Coroutines with async I/O patterns
  • Work-stealing scheduler implementation
  • Memory models demonstration (acquire/release semantics)

Data Structure Expansions

  • Trie/Radix tree implementations
  • B-trees and B+ trees
  • Red-black or AVL trees
  • Heap variations (fibonacci heap, binomial heap)
  • Graph representations (adjacency list/matrix)

Modern C++ Features

  • C++23 features (std::mdspan, stacktrace, flat containers)
  • Template metaprogramming advanced techniques
  • SFINAE and type traits examples
  • Perfect forwarding patterns
  • Custom allocators implementation

System Programming

  • Memory mapping (mmap examples)
  • Inter-process communication (shared memory, pipes, message queues)
  • Network programming (raw sockets, TCP/UDP servers)
  • File system operations (directory traversal, file watching)

Performance & Optimization

  • SIMD programming examples
  • Cache-friendly algorithms
  • Profiling and benchmarking utilities
  • Memory pool allocators
  • Branch prediction optimization examples