This folder, attic, contains code fragments. Like most attics, this attic needs a good cleaning. Some fragments are from the usual places on the web, cplusplus.com, stackoverflow, etc. Some fragments are DIY code written in class. Some fragments are as-is as found on the web while others are heavily modified to make work or add functionality. Some fragments are useful, some are not. Most fragments work, some don't. Notable Useful Fragments ======================== fastforward.cpp - a summary of OOP345. funcptr.cpp - examples of the many ways of passing function names to other functions: direct call, c-style function pointer, c++-style function pointer, function object (functor), lambda, bind examples of intersting functions to pass function to: thread, async, packaged_task sp?.cpp - smart pointer resources mi-*.cpp - multiple inheritance resources, clone+diamond problem theading?01?.cpp - threading101?.cpp - basic threading, mutexes - threading201?.cpp - futires and promises - threading301?.cpp - async, packaged_task - threading401?.cpp - how things were done before async + packaged task thread-*.cpp - cool thread code, such as thread pools ll*.cpp - linked list code moveSimple.cpp - move semantics stl-calc-*.cpp - postfix calculator using stl stack, list, vector, deque containers vectorchar*.cpp - how to make a string class mased on std::vector<char> dp-composite*.cpp - composite (tree) design pattern code alarmsetjmp.cpp + setjmp*.cpp - use alarm and setjmp to do interesting things swap.cpp - swapping data in place (without using a temporary) using xor and add operators. asmlist.cpp - how to generate an in-line assembler listing of the code generated by the compiler popen.cpp - how to start up a pipe to a program and read the output from the program folder threading-concurrency_in_action - pdf and sample code from Concurancy in Action book