You can develop the template files iteratively using SNlP's user interface. Once you are satisfied with the code pattern that is created by the template, you can add the command form of Cleanscape Sourcemill into makefiles for use in non-interactive builds. Whenever you have a contained pointer, it is important for the code in the class containing the pointer to manage the dynamically allocated object correctly. First, I'll define what it means to manage an object via a contained pointer. The destructor deletes the object if it is owned.
Pointers are simply copied in shared object cases.
Listing One shows how these rules are expressed in the SNlP-template file format. Secondly, there are only a few constructs used in Cleanscape Sourcemill templates. Once you know them, readability isn't an issue. Cleanscape Sourcemill's template statements draw information from an object model and generate code based on that information. Before you can make sense of template statements, you need to see what they are referring to.