Tyepof regex
what is the type returned by regex function? I want to store a regex member because I need to reuse it multiple times. Can this be done? class A { protected SomeTypeName regexPattern; void load() { string str; // obtain a regex pattern and store it as str. regexPattern = regex( str ); } bool matches() { // use regexPattern } }
Re: Tyepof regex
On Monday, 13 January 2014 at 20:53:55 UTC, Tiberiu Gal wrote: what is the type returned by regex function? I want to store a regex member because I need to reuse it multiple times. Can this be done? class A { protected SomeTypeName regexPattern; void load() { string str; // obtain a regex pattern and store it as str. regexPattern = regex( str ); } bool matches() { // use regexPattern } } The type is a template called Regex that is templated on the character width. struct A { Regex!char re; this(string str) { re = regex(str); } } There is also std.traits.ReturnType you can use for more complex types or voldemort types.
Re: Tyepof regex
On Monday, 13 January 2014 at 20:53:55 UTC, Tiberiu Gal wrote: what is the type returned by regex function? I want to store a regex member because I need to reuse it multiple times. Can this be done? class A { protected SomeTypeName regexPattern; void load() { string str; // obtain a regex pattern and store it as str. regexPattern = regex( str ); } bool matches() { // use regexPattern } } It's Regex!char class A { protected Regex!char regexPattern; ...
Re: Tyepof regex
On Monday, 13 January 2014 at 20:59:28 UTC, Brad Anderson wrote: On Monday, 13 January 2014 at 20:53:55 UTC, Tiberiu Gal wrote: what is the type returned by regex function? I want to store a regex member because I need to reuse it multiple times. Can this be done? class A { protected SomeTypeName regexPattern; void load() { string str; // obtain a regex pattern and store it as str. regexPattern = regex( str ); } bool matches() { // use regexPattern } } The type is a template called Regex that is templated on the character width. struct A { Regex!char re; this(string str) { re = regex(str); } } There is also std.traits.ReturnType you can use for more complex types or voldemort types. thank you
Re: Tyepof regex
On Monday, 13 January 2014 at 20:59:28 UTC, Brad Anderson wrote: There is also std.traits.ReturnType you can use for more complex types or voldemort types. Or: typeof(regex()) BTW, how does ReturnType handle overloads? -- Nicolas