<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Feb 7, 2013 at 11:11 PM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div id=":4m5"> You need to know the right approach to everything you are going to do down to the last detail before you start a project?<br>
</div></blockquote><div><br></div><div style>I'd like to have a reason to believe it's not doomed from the start. </div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div id=":4m5">
<br>
   Hell when I start a project I just enter my editor and start typing :-)<br>
<br>
<br>
   Maybe instead of having a PetscOptionsBegin macro the entire XXXSetFromOptions() function is called multiple times by its caller to get the same effect. We don't need exact mappings from the current constructs to the new constructs so long as we have the same positive user experience. We are too quick to come up with CPP hacks to do something that we don't even contemplate other possibilities.</div>
</blockquote></div><br>Sure, you can do this by creating a function that implements the "inner" part of a PetscOptions block, packing all local variables you'd like to register up into a struct that will be forwarded to the "inner" thing, and passing them to the dispatcher. I don't think it adds any particular value to do this.</div>
</div>