class
IOFormatStores a set of parameters controlling the way matrices are printed.
Contents
List of available parameters:
- precision number of digits for floating point values, or one of the special constants
StreamPrecision
andFullPrecision
. The default is the special valueStreamPrecision
which means to use the stream's own precision setting, as set for instance usingcout.precision(3)
. The other special valueFullPrecision
means that the number of digits will be computed to match the full precision of each floating-point type. - flags an OR-ed combination of flags, the default value is 0, the only currently available flag is
DontAlignCols
which allows to disable the alignment of columns, resulting in faster code. - coeffSeparator string printed between two coefficients of the same row
- rowSeparator string printed between two rows
- rowPrefix string printed at the beginning of each row
- rowSuffix string printed at the end of each row
- matPrefix string printed at the beginning of the matrix
- matSuffix string printed at the end of the matrix
- fill character printed to fill the empty space in aligned columns
Example:
std::string sep = "\n----------------------------------------\n"; Matrix3d m1; m1 << 1.111111, 2, 3.33333, 4, 5, 6, 7, 8.888888, 9; IOFormat CommaInitFmt(StreamPrecision, DontAlignCols, ", ", ", ", "", "", " << ", ";"); IOFormat CleanFmt(4, 0, ", ", "\n", "[", "]"); IOFormat OctaveFmt(StreamPrecision, 0, ", ", ";\n", "", "", "[", "]"); IOFormat HeavyFmt(FullPrecision, 0, ", ", ";\n", "[", "]", "[", "]"); std::cout << m1 << sep; std::cout << m1.format(CommaInitFmt) << sep; std::cout << m1.format(CleanFmt) << sep; std::cout << m1.format(OctaveFmt) << sep; std::cout << m1.format(HeavyFmt) << sep;
Output:
1.11 2 3.33 4 5 6 7 8.89 9 ---------------------------------------- << 1.11, 2, 3.33, 4, 5, 6, 7, 8.89, 9; ---------------------------------------- [1.111, 2, 3.333] [ 4, 5, 6] [ 7, 8.889, 9] ---------------------------------------- [1.11, 2, 3.33; 4, 5, 6; 7, 8.89, 9] ---------------------------------------- [[1.111111, 2, 3.33333]; [ 4, 5, 6]; [ 7, 8.888888, 9]] ----------------------------------------
Constructors, destructors, conversion operators
- IOFormat(int _precision = StreamPrecision, int _flags = 0, const std::string& _coeffSeparator = " ", const std::string& _rowSeparator = "\n", const std::string& _rowPrefix = "", const std::string& _rowSuffix = "", const std::string& _matPrefix = "", const std::string& _matSuffix = "", const char _fill = ' ')
Function documentation
Eigen:: IOFormat:: IOFormat(int _precision = StreamPrecision,
int _flags = 0,
const std::string& _coeffSeparator = " ",
const std::string& _rowSeparator = "\n",
const std::string& _rowPrefix = "",
const std::string& _rowSuffix = "",
const std::string& _matPrefix = "",
const std::string& _matSuffix = "",
const char _fill = ' ')
Default constructor, see class IOFormat for the meaning of the parameters