On 2021-03-31 13:32, John Peterson wrote:
Hi Edgar,
Yes, clearly something like this will work:
libmesh_example_requires_fun(bool (0),
"TESTME",
__FILE__,
__LINE__);
but you then force the user to manually pass __FILE__ and __LINE__ to
every
invocation of the "libmesh_error_msg_fun" function. To me this makes it
not
very desirable/useful.
There is also the issue of not being able to "stream" messages into a
function the same way that is possible with macros, for example we
often
write code like:
libmesh_error_msg("Invalid shape function index i = " << i);
which is very convenient. If I understand correctly, your original
issue
with the macros was that you could not properly "namespace" them, e.g.
libMesh::libmesh_error_msg() does not work, but I think this is a
relatively minor price to pay for the other conveniences that using a
macro
provides.
--
John
Thank you for your answer. Yes, indeed. My initial situation was that I
thought of the convenience of having a =namespace=, but as I mentioned
(and I know the previous e-mail was long), there are some times when one
needs an actual function. Fortunately, libMesh is a kitchen and anyone
can prepare their own recipe :) . Thanks.
_______________________________________________
Libmesh-users mailing list
Libmesh-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-users