Tyepof regex

2014-01-13 Thread Tiberiu Gal

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

2014-01-13 Thread Brad Anderson

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

2014-01-13 Thread Tiberiu Gal

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

2014-01-13 Thread Tiberiu Gal

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

2014-01-13 Thread Nicolas Sicard

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