Re: Check whether string value represents a type

2017-07-24 Thread Timoses via Digitalmars-d-learn

On Monday, 24 July 2017 at 07:08:56 UTC, Basile B. wrote:

On Friday, 21 July 2017 at 14:21:37 UTC, Timoses wrote:
I'd love to check whether a string value is the name of a type 
at run-time.

[...]
The goal is to identify whether a string represents a custom 
type within a package. I'm also trying to iterate over all 
modules within the package to get the struct name. However, 
that seems like a struggle...


Any ideas?..


I used custom Runtime Type Infos for this:
https://github.com/BBasile/iz/blob/master/import/iz/rtti.d#L550
Each type for which that's interesting to have extra 
information is registered.
When a type is not registered than it can be considered as not 
a type.


Awesome, that's helping a lot : D.


Re: Check whether string value represents a type

2017-07-24 Thread Basile B. via Digitalmars-d-learn

On Friday, 21 July 2017 at 14:21:37 UTC, Timoses wrote:
I'd love to check whether a string value is the name of a type 
at run-time.

[...]
The goal is to identify whether a string represents a custom 
type within a package. I'm also trying to iterate over all 
modules within the package to get the struct name. However, 
that seems like a struggle...


Any ideas?..


I used custom Runtime Type Infos for this:
https://github.com/BBasile/iz/blob/master/import/iz/rtti.d#L550
Each type for which that's interesting to have extra information 
is registered.
When a type is not registered than it can be considered as not a 
type.


Re: Check whether string value represents a type

2017-07-24 Thread Timoses via Digitalmars-d-learn
On Friday, 21 July 2017 at 14:44:23 UTC, Steven Schveighoffer 
wrote:

On 7/21/17 10:21 AM, Timoses wrote:
I'd love to check whether a string value is the name of a type 
at run-time.


E.g.:


string a = "int";
string b = "im no type";
assert( isStringType(a) );
assert( !isStringType(b) );

or

struct TestStruct
{
 int test;
}

string t = "TestStruct";
assert( isStringType(t) );


Is anything like this possible?

The goal is to identify whether a string represents a custom 
type within a package. I'm also trying to iterate over all 
modules within the package to get the struct name. However, 
that seems like a struggle...


Any ideas?..


In order to do this, the list of types must be stored somewhere 
to compare with at runtime.


At this time, this is not done. You could potentially do this 
with the RTInfo template, but it would have to be part of a 
custom druntime.


-Steve


Thanks Steve!
That's sound too much of a strugge for a newbie like me : D. I'll 
probably evaluate and compare the type names as strings then and 
derive further processing from there.





Re: Check whether string value represents a type

2017-07-21 Thread Steven Schveighoffer via Digitalmars-d-learn

On 7/21/17 10:21 AM, Timoses wrote:

I'd love to check whether a string value is the name of a type at run-time.

E.g.:


string a = "int";
string b = "im no type";
assert( isStringType(a) );
assert( !isStringType(b) );

or

struct TestStruct
{
 int test;
}

string t = "TestStruct";
assert( isStringType(t) );


Is anything like this possible?

The goal is to identify whether a string represents a custom type within 
a package. I'm also trying to iterate over all modules within the 
package to get the struct name. However, that seems like a struggle...


Any ideas?..


In order to do this, the list of types must be stored somewhere to 
compare with at runtime.


At this time, this is not done. You could potentially do this with the 
RTInfo template, but it would have to be part of a custom druntime.


-Steve


Check whether string value represents a type

2017-07-21 Thread Timoses via Digitalmars-d-learn
I'd love to check whether a string value is the name of a type at 
run-time.


E.g.:


string a = "int";
string b = "im no type";
assert( isStringType(a) );
assert( !isStringType(b) );

or

struct TestStruct
{
int test;
}

string t = "TestStruct";
assert( isStringType(t) );


Is anything like this possible?

The goal is to identify whether a string represents a custom type 
within a package. I'm also trying to iterate over all modules 
within the package to get the struct name. However, that seems 
like a struggle...


Any ideas?..