Namespace for GArSoft dumping utilities. More...
Namespaces | |
details | |
Classes | |
struct | ArrayDumper |
Dumps the first N elements of an array. More... | |
struct | ArrayDumper< T * > |
struct | VectorDumper |
Manipulator managing the dump of the vector content into a stream. More... | |
struct | VectorDumper< T * > |
struct | VectorDumper< T[3]> |
Functions | |
template<size_t N, typename Array > | |
auto | array (Array const &a) |
Returns a manipulator which will print the specified array. More... | |
template<typename Vector > | |
auto | vector (Vector const &v) |
Returns a manipulator which will print the specified array. More... | |
template<typename Vector3D > | |
auto | vector3D (Vector3D const &v) |
Returns a manipulator which will print the specified vector. More... | |
template<typename Stream , typename Array > | |
Stream & | operator<< (Stream &&out, ArrayDumper< Array > &&manip) |
Dumps the array contained in the manipulator into a stream. More... | |
template<typename Stream , typename Vector > | |
Stream & | operator<< (Stream &&out, VectorDumper< Vector > &&manip) |
Dumps the vector contained in the manipulator into a stream. More... | |
template<typename String , typename Vector > | |
String | operator+ (String const &s, VectorDumper< Vector > const &manip) |
Concatenates a vector to the specified string. More... | |
template<typename Vector > | |
std::string | operator+ (const char *s, VectorDumper< Vector > const &manip) |
Creates a string with s concatenated to the rendered vector. More... | |
template<typename String , typename Vector > | |
String | operator+ (VectorDumper< Vector > const &manip, String const &s) |
template<typename Vector > | |
std::string | operator+ (VectorDumper< Vector > const &manip, const char *s) |
Creates a string with the rendered vector concatenated to s. More... | |
template<typename String , typename Vector > | |
String & | operator+= (String &s, VectorDumper< Vector > const &manip) |
Appends a string rendering of a vector to the specified string. More... | |
Namespace for GArSoft dumping utilities.
auto gar::dump::array | ( | Array const & | a | ) |
Returns a manipulator which will print the specified array.
N | the number of entries to be printed |
Array | the type of array to be printed |
a | the array to be printed |
Example of usage:
will produce an output like:
Addition of specific classes can be achieved via specialization of the class ArrayDumper
.
Array
is required to respond to a global function cbegin()
(like std::cbegin()
) with a forward iteratorArray
method must have its insertion operator into a stream defineda
must not fall out of scope until the insertion into the stream happens Definition at line 228 of file DumpUtils.h.
String gar::dump::operator+ | ( | String const & | s, |
VectorDumper< Vector > const & | manip | ||
) |
Concatenates a vector to the specified string.
String | a string type that can handle "addition" to std::string |
Vector3D | the type of 3D vector to be printed |
s | the string |
manip | the manipulator containing the vector to be printed |
Example of usage:
will produce an output like:
Vector3D
is required to provide constant accessor methods returning the vector components, called X()
, Y()
and Z()
Vector3D
methods must have their insertion operator into Stream defined Definition at line 404 of file DumpUtils.h.
std::string gar::dump::operator+ | ( | const char * | s, |
VectorDumper< Vector > const & | manip | ||
) |
Creates a string with s concatenated to the rendered vector.
Definition at line 409 of file DumpUtils.h.
String gar::dump::operator+ | ( | VectorDumper< Vector > const & | manip, |
String const & | s | ||
) |
Definition at line 414 of file DumpUtils.h.
std::string gar::dump::operator+ | ( | VectorDumper< Vector > const & | manip, |
const char * | s | ||
) |
Creates a string with the rendered vector concatenated to s.
Definition at line 419 of file DumpUtils.h.
String& gar::dump::operator+= | ( | String & | s, |
VectorDumper< Vector > const & | manip | ||
) |
Appends a string rendering of a vector to the specified string.
Definition at line 424 of file DumpUtils.h.
Stream& gar::dump::operator<< | ( | Stream && | out, |
ArrayDumper< Array > && | manip | ||
) |
Dumps the array contained in the manipulator into a stream.
Stream | the type of output stream |
Array | the type of array to be printed |
NPrint | the number of element of the array to be printed |
out | the output stream |
manip | the manipulator containing the array to be printed |
Example of usage:
will produce an output like:
Vector3D
is required to provide constant accessor methods returning the vector components, called X()
, Y()
and Z()
Vector3D
methods must have their insertion operator into Stream
defined Definition at line 336 of file DumpUtils.h.
Stream& gar::dump::operator<< | ( | Stream && | out, |
VectorDumper< Vector > && | manip | ||
) |
Dumps the vector contained in the manipulator into a stream.
Stream | the type of output stream |
Vector3D | the type of 3D vector to be printed |
out | the output stream |
manip | the manipulator containing the vector to be printed |
Example of usage:
will produce an output like:
Vector3D
is required to provide constant accessor methods returning the vector components, called X()
, Y()
and Z()
Vector3D
methods must have their insertion operator into Stream defined Definition at line 370 of file DumpUtils.h.
auto gar::dump::vector | ( | Vector const & | v | ) |
Returns a manipulator which will print the specified array.
Vector | type of vector to be printed |
v | the vector to be printed |
Example of usage:
will produce an output like:
Addition of specific classes can be achieved via specialization of the class ArrayDumper
.
Vector::size() const
must be available returning the number of elements in the vectorVector
is required to respond to a global function cbegin()
(like std::cbegin()
) with a forward iteratorVector
method must have its insertion operator into a stream definedv
must not fall out of scope until the insertion into the stream happens Definition at line 265 of file DumpUtils.h.
auto gar::dump::vector3D | ( | Vector3D const & | v | ) |
Returns a manipulator which will print the specified vector.
Vector3D | the type of 3D vector to be printed |
v | the vector to be printed |
Example of usage:
will produce an output like:
Addition of specific classes can be achieved via specialization of the class VectorDumper
.
Vector3D
is required to provide constant accessor methods returning the vector components, called X()
, Y()
and Z()
Vector3D
methods must have their insertion operator into a stream definedv
must not fall out of scope until the insertion into the stream happens Definition at line 301 of file DumpUtils.h.