Add more documentation to no_readonly C++ example
#include <no_readonly.h>
#include <iostream>
+// When an application calls world.progress(), the world is put in readonly mode.
+// This ensures that systems (on multiple threads) can safely iterate
+// components, without having to worry about components moving around while
+// they're being read. This has as side effect that any operations (like adding
+// or removing components) are not visible until the end of the frame (see the
+// sync_point example for more details).
+// Sometimes this is not what you want, and you need a change to be visible
+// immediately. For these use cases, applications can use a no_readonly system.
+// This temporarily takes the world out of readonly mode, so a system can make
+// changes that are directly visible.
+// Because they mutate the world directly, no_readonly systems are never ran on
+// more than one thread, and no other systems are ran at the same time.
+
struct Waiter { };
struct Plate { };
