dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #13387
Re: str(), disp()
On Fri, May 8, 2009 at 11:40 AM, Anders Logg <logg@xxxxxxxxx> 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
> DOLFIN-dev@xxxxxxxxxx
> http://www.fenics.org/mailman/listinfo/dolfin-dev
>
>
--
Ola Skavhaug
Follow ups
References