stdx::FormattedPageOstream Class Reference
This class helps a user easily format console output. It provides facilities for left hand margins, indentation, vertical separators, fixed width wrap around, and hanging indents. Note that arbitrary flushes (ie using flush instead of endl) can cause weird formatting results when mixed with a non-zero fixed width.
vector<int> intVec(100); stdx::generate( iseq(intVec), genSeq<int>(0,1) ); stdx::AlignedNameValuePairs pairSeq; pairSeq.addPair( "name", "test-list" ); pairSeq.addPair( "int-list", stdx::iseq(intVec) ); stdx::FormattedPageOstream fpout(cout); fpout.setLeftMargin(1); fpout.enableOpenCloseSep(); fpout.setFixedWidth(40); fpout.setIndentUnit(2); fpout.setHangingIndentChars(":"); fpout << separator('='); fpout << "Section Three" << stdx::nl; fpout << separator('-') << separator(); fpout << inc_indent; fpout << separator() << iseq(intVec) << stdx::nl << separator(); fpout << separator() << pairSeq << separator(); fpout << dec_indent; fpout << separator('-');
This code produces the following output:
=======================================
Section Three
---------------------------------------
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 13, 14, 15, 16, 17, 18, 19,
20, 21, 22, 23, 24, 25, 26, 27, 28,
29, 30, 31, 32, 33, 34, 35, 36, 37,
38, 39, 40, 41, 42, 43, 44, 45, 46,
47, 48, 49, 50, 51, 52, 53, 54, 55,
56, 57, 58, 59, 60, 61, 62, 63, 64,
65, 66, 67, 68, 69, 70, 71, 72, 73,
74, 75, 76, 77, 78, 79, 80, 81, 82,
83, 84, 85, 86, 87, 88, 89, 90, 91,
92, 93, 94, 95, 96, 97, 98, 99
name : test-list
int-list : 0, 1, 2, 3, 4, 5, 6, 7,
8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20,
21, 22, 23, 24, 25, 26,
27, 28, 29, 30, 31, 32,
33, 34, 35, 36, 37, 38,
39, 40, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50,
51, 52, 53, 54, 55, 56,
57, 58, 59, 60, 61, 62,
63, 64, 65, 66, 67, 68,
69, 70, 71, 72, 73, 74,
75, 76, 77, 78, 79, 80,
81, 82, 83, 84, 85, 86,
87, 88, 89, 90, 91, 92,
93, 94, 95, 96, 97, 98,
99
---------------------------------------
Public Methods
- FormattedPageOstream (std::ostream &os)
- getWrappedStream () const
- rdbuf () const
- addSeparator (char c='\0')
- setIndentUnit (int numSpaces)
- setIndentLevel (int indentLevel)
- incIndent ()
- decIndent ()
- enableOpenCloseSep ()
- setLeftMargin (int leftMargin)
- setFixedWidth (int fixedWidth)
- setHangingIndentChars (const std::string &hangingIndentChars)