On Fri, May 8, 2009 at 11:40 AM, Anders Logg <[email protected]> wrote: > On Fri, May 08, 2009 at 11:19:35AM +0200, Anders Logg wrote: >> We currently have two ways to print object data to the screen in >> DOLFIN: >> >> cout << foo << endl; >> >> foo.disp() >> >> The first of these prints a nicely-formatted one-liner: >> >> [Mesh of topological dimension 2 with 121 vertices and 200 cells] >> >> The second prints more detailed information: >> >> Mesh data >> --------- >> >> Mesh topology >> ------------- >> >> Topological dimension: 2 >> >> Number of entities: >> >> dim = 0: 121 >> dim = 1: 0 >> dim = 2: 200 >> >> ... >> >> Connectivity: >> >> 0 1 2 >> 0 - - - >> 1 - - - >> 2 x - - >> >> Connectivity 2 -- 0: >> >> 0: 0 1 12 >> 1: 0 11 12 >> 2: 1 2 13 >> 3: 1 12 13 >> >> I'm thinking we could add a method named str() to all classes and then >> call str() both from LogStream<< and from __str__ in Python. >> >> Should the disp() method remain as it is today or should it be renamed >> to something else? Maybe print()? > > Or maybe info() is more logical, since calling foo.info() will result > in a string being sent to the info() function. >
I like this idea. Will all dolfin classes inherit a pure virtual base class defining the str() method? If that's the case, we can, optionally, provide a stream to which the info is written, e.g., cerr, cout, or a stringstream from Python. Ola > -- > Anders > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.9 (GNU/Linux) > > iEYEARECAAYFAkoD/gwACgkQTuwUCDsYZdGgBACfTFed2EaWzhyWy2i0PX/hsALz > sPgAn1399kkwXnp7jyp2R9cTarJn0vUZ > =qi/J > -----END PGP SIGNATURE----- > > _______________________________________________ > DOLFIN-dev mailing list > [email protected] > http://www.fenics.org/mailman/listinfo/dolfin-dev > > -- Ola Skavhaug _______________________________________________ DOLFIN-dev mailing list [email protected] http://www.fenics.org/mailman/listinfo/dolfin-dev
