Wrappers and iterators examples =============================== Build and run: ``` make ``` `raw_ptr.cc` ------------ Simply raw pointer wrapper. Shows how we can do an object abilities extension in the runtime. Useful for iterators. `smart_ptr.cc` -------------- Similar example, but holds the shared pointer. `iterable.cc` ------------- Finally, the iterable with traversing algorithm compile-time instantiated. The template method returns an iterable object, which iterates over IShape's with its `.get_next()`/`.get_prev()`.