Sorry, I know it violated rule 1 in that it
can be done as a plugin, but by that logic ALL find/replace could be done as a plugin. The current plugin is just a proof-of-concept, as stated in the plugin thread, it is not fleshed out or easily usable. If it is a built-in function then it can be easily used.
As for how many people have used their own functions in Calibre... that's hard/impossible to tell unless you monitor everyone's use of Calibre Editor
There are several examples in Calibre's documentation on how to do different functions, and I think there is/was a thread for people to share any creative functions they thought of. I don't know that we would need to provide more than a couple default functions...but it seems that this is a much easier/simpler way for someone to create/use a plugin-light function. I know people who have a great idea on something that they would use regularly but get scared away when told they need to create a whole plugin...they may be able/willing to create a simple function instead. We could even add these shared functions to a thread/sticky (like regex-examples) so others could use them.
Yes, it is possible to save the ePub, close Sigil, Open Editor, open the ePub, find/run the replace function, save the file, close Editor, Open Sigil, open the ePub, find where you were last editing and continue....oh, wait, There is another function I was supposed to do....
I honestly don't know all the particulars about C++, can it not import/run a python module? Doesn't the existing proof-of-concept Sigil plugin already show how to implement it in Sigil?