28 #ifndef __RTTR_METHOD_H__
29 #define __RTTR_METHOD_H__
44 class method_container_base;
120 bool is_valid()
const;
127 operator bool()
const;
134 std::string get_name()
const;
144 bool is_static()
const;
151 type get_return_type()
const;
161 type get_declaring_type()
const;
168 std::vector<type> get_parameter_types()
const;
175 std::string get_signature()
const;
185 variant get_metadata(
int key)
const;
195 variant get_metadata(
const std::string& key)
const;
204 variant invoke(detail::instance
object)
const;
213 variant invoke(detail::instance
object, detail::argument arg1)
const;
222 variant invoke(detail::instance
object, detail::argument arg1, detail::argument arg2)
const;
231 variant invoke(detail::instance
object, detail::argument arg1, detail::argument arg2, detail::argument arg3)
const;
240 variant invoke(detail::instance
object, detail::argument arg1, detail::argument arg2, detail::argument arg3, detail::argument arg4)
const;
249 variant invoke(detail::instance
object, detail::argument arg1, detail::argument arg2, detail::argument arg3, detail::argument arg4,
250 detail::argument arg5)
const;
259 variant invoke(detail::instance
object, detail::argument arg1, detail::argument arg2, detail::argument arg3, detail::argument arg4,
260 detail::argument arg5, detail::argument arg6)
const;
271 variant invoke_variadic(detail::instance
object, std::vector<detail::argument> args)
const;
278 bool operator==(
const method& other)
const;
285 bool operator!=(
const method& other)
const;
289 method(
const detail::method_container_base* container =
nullptr);
291 const detail::method_container_base* _container;
296 #endif // __RTTR_METHOD_H__
This class holds the type information for any arbitrary object.
Definition: type.h:165
The method class provides several meta information about a method and can be invoked.
Definition: method.h:112
The variant class allows to store data of any type and convert between these types transparently...
Definition: variant.h:125
#define RTTR_API
Definition: core_prerequisites.h:124