From Marco Jez, updates to osgIntrospection.

This commit is contained in:
Robert Osfield
2005-04-04 13:50:07 +00:00
parent 21a69b5317
commit 5f75f765f0
30 changed files with 7591 additions and 3213 deletions

View File

@@ -37,6 +37,22 @@ namespace osgIntrospection
{
}
};
struct ConstructorNotFoundException: public ReflectionException
{
ConstructorNotFoundException(const std::type_info &ti)
: ReflectionException("could not find a suitable constructor in type `" + std::string(ti.name()) + "'")
{
}
};
struct InvokeNotImplementedException: public ReflectionException
{
InvokeNotImplementedException()
: ReflectionException("invoke() not implemented")
{
}
};
struct InvalidFunctionPointerException: public ReflectionException
{
@@ -148,6 +164,7 @@ namespace osgIntrospection
AGET,
ASET,
ADD,
REMOVE,
COUNT
};
@@ -169,6 +186,7 @@ namespace osgIntrospection
case AGET: msg = "retrieved with array index"; break;
case ASET: msg = "set with array index"; break;
case ADD: msg = "added"; break;
case REMOVE: msg = "removed"; break;
case COUNT: msg = "counted"; break;
default: msg = "?";
}
@@ -183,6 +201,22 @@ namespace osgIntrospection
{
}
};
struct ComparisonNotPermittedException: ReflectionException
{
ComparisonNotPermittedException(const std::type_info &ti)
: ReflectionException("comparison not permitted on type `" + std::string(ti.name()) + "'")
{
}
};
struct ComparisonOperatorNotSupportedException: ReflectionException
{
ComparisonOperatorNotSupportedException(const std::type_info &ti, const std::string &op)
: ReflectionException("comparison operator `" + op + "' is not supported on type `" + std::string(ti.name()) + "'")
{
}
};
}