#631 Construct non-app-framework output
While the code seems sufficient for now, there are some higher level things to discuss I think.
-
I opted for splitting the output streams, so you don't have to handle all streams if the code has no use for it. This also allows some interface re-use which is nice.
-
As the split causes the code to have an instance for a particular output stream, the suffix idea
dout,out,ioutbecame less useful, and I changed it toOld function New function warn(">%s<", x)warn.line(">%s<", x);iout()out.inc()ddbg()dbg.dec()dowarn()warn.isEnabled()Where
warn,out, anddbgrepresent the output stream object with the new function. -
I haven't changed the
plcgenWarnOutputclass yet. -
Does it make sense to keep the old
OutputProviderfunctions for anything else besides backward compatibility? (that is, should they be marked deprecated?) -
Should the interface be changed more than the above (now is the time if we want to make more adjustments if so desired).
- Not sure where I did it, but one time I add a count to the output primitive that functioned as pre- increment or decrement, eg
dbg.line(1, "text);which is equivalent todbg.inc(); dbg,out("text"); - Add a count to increment and decrement?
- Not sure where I did it, but one time I add a count to the output primitive that functioned as pre- increment or decrement, eg
-
Is there still value in specifying 4 space indent steps? Afaik we use the default everywhere so the feature seems unused.
I'll change the DSM clustering code to use these new functions as an example soon.
Closes #631 (closed)