Currently the best solution (provided by toddm):
Hallo All,
Using UltraEdit 10.00c i have found, that C++ functions which uses namespace-decorated arguments or return values are not displayed correctly in function list.
void a(x::x_s *p)
{ return; }
void b(y::y_s *p)
{ return; }
x::x_s *aptr(void)
{ return 0; }
y::y_s *bptr(void)
{ return 0; }
First, i was intended to write my own new "/Function string", but unfortunately all 6 possible was already busy with predefined functon strings for C++:
/Function String = "%^([a-zA-Z_0-9^[^]*]+^)[ ^t]+([^p*&, ^t^[^]a-zA-Z_0-9.!]++)[~;]"
/Function String 1 = "%[a-zA-Z_0-9*]*::^([a-zA-Z_0-9^~]+^)[ ^t^p]++([^p*&, ^t^[^]/*=:&a-zA-Z_0-9./(!]++)[~;]"
/Function String 2 = "%[a-zA-Z_0-9^][a-zA-Z_0-9^[^]]+[ ^t*]+^([a-zA-Z_0-9]+^)[ ^t]++([^p*&, ^t^[^]a-zA-Z_0-9./(!]++)[~;]"
/Function String 3 = "%[a-zA-Z_0-9*&$^[^]*]+[ ^t]+[a-zA-Z_0-9*&$^[^]]+[ ^t*]+^([a-zA-Z_0-9]+^)[ ^t]++([^p*&, ^t^[^]a-zA-Z_0-9./(!]++)[~;]"
/Function String 4 = "%[a-z_0-9^[^]*]++ [a-z_0-9*^[^]]+[ ^t]++[a-z_0-9*^[^]]+[ ^t]++^([*a-z_0-9]+^)[ ^t]++([^p*&, ^t^[^]a-z_0-9./(!]++)[~;]"
/Function String 5 = "%^([a-zA-Z_0-9^[^]*]+^)[ ^t]++([^p*&, ^t^[^]a-zA-Z_0-9./()!]++)[~;]"
Modification of existing strings is relatively hard for me, because i'm not very familiar with regular expressions. Therefore i have tryed to use pattern like this:
/Function String 5 = "%^([~(]+^)(*++^$FORCE_ULTRAEDIT_FUNCTION^$"
to find any function wich is not compliant with predefined regular expressions (of course, in place of one of the existing patterns, so i probably loose some function recognition which was o.k before). But this task is more complicated, as i thought
May be some regular expression Guru can say me which way is easier ? Modification of one of existing pattern to match my syntax or writting universal handler (and always use manual marker like $FORCE_ULTRAEDIT_FUNCTION$ for functions not displayed correctly) ? Some another ways to see functions a(), b(), aptr(), bptr() ?
Thanks a lot for any help
------------------ the question --------------------------// Handles the case where Class:: is the type
// type function name ( parameters or none
/Function String = "[a-zA-Z_0-9*&]+[:]+^([a-zA-Z_0-9*&=<^~]+[ ^t]++[(]+[~;{]++)[~;{:]++^)[{=]+"
//
// Handles the case where type on same line as function
// type function name ( parameters or none
/Function String 2 = "%[~(){} ^t^p#/]+[a-zA-Z_0-9*&<>: ^t]+[ ^t]+^([a-zA-Z_0-9*&=<>^~]+[ ^t]++([~(=;]+)[~()=;{]+^)[{=]+"
//
// Handles the case where type on different line as function
// type function name ( parameters or none
/Function String 3 = "[a-zA-Z_0-9*&<>]+[ ^t]++[^p]+^([a-zA-Z_0-9*&=<^~]+[ ^t]++[(]+[a-zA-Z_0-9<>&* ^t,^p:/^[^]]++[)]+[ ^t^pa-zA-Z/]++^)[{=]+"
//
Hallo All,
Using UltraEdit 10.00c i have found, that C++ functions which uses namespace-decorated arguments or return values are not displayed correctly in function list.
void a(x::x_s *p)
{ return; }
void b(y::y_s *p)
{ return; }
x::x_s *aptr(void)
{ return 0; }
y::y_s *bptr(void)
{ return 0; }
First, i was intended to write my own new "/Function string", but unfortunately all 6 possible was already busy with predefined functon strings for C++:
/Function String = "%^([a-zA-Z_0-9^[^]*]+^)[ ^t]+([^p*&, ^t^[^]a-zA-Z_0-9.!]++)[~;]"
/Function String 1 = "%[a-zA-Z_0-9*]*::^([a-zA-Z_0-9^~]+^)[ ^t^p]++([^p*&, ^t^[^]/*=:&a-zA-Z_0-9./(!]++)[~;]"
/Function String 2 = "%[a-zA-Z_0-9^][a-zA-Z_0-9^[^]]+[ ^t*]+^([a-zA-Z_0-9]+^)[ ^t]++([^p*&, ^t^[^]a-zA-Z_0-9./(!]++)[~;]"
/Function String 3 = "%[a-zA-Z_0-9*&$^[^]*]+[ ^t]+[a-zA-Z_0-9*&$^[^]]+[ ^t*]+^([a-zA-Z_0-9]+^)[ ^t]++([^p*&, ^t^[^]a-zA-Z_0-9./(!]++)[~;]"
/Function String 4 = "%[a-z_0-9^[^]*]++ [a-z_0-9*^[^]]+[ ^t]++[a-z_0-9*^[^]]+[ ^t]++^([*a-z_0-9]+^)[ ^t]++([^p*&, ^t^[^]a-z_0-9./(!]++)[~;]"
/Function String 5 = "%^([a-zA-Z_0-9^[^]*]+^)[ ^t]++([^p*&, ^t^[^]a-zA-Z_0-9./()!]++)[~;]"
Modification of existing strings is relatively hard for me, because i'm not very familiar with regular expressions. Therefore i have tryed to use pattern like this:
/Function String 5 = "%^([~(]+^)(*++^$FORCE_ULTRAEDIT_FUNCTION^$"
to find any function wich is not compliant with predefined regular expressions (of course, in place of one of the existing patterns, so i probably loose some function recognition which was o.k before). But this task is more complicated, as i thought
May be some regular expression Guru can say me which way is easier ? Modification of one of existing pattern to match my syntax or writting universal handler (and always use manual marker like $FORCE_ULTRAEDIT_FUNCTION$ for functions not displayed correctly) ? Some another ways to see functions a(), b(), aptr(), bptr() ?
Thanks a lot for any help