27 #ifndef __RTTR_CONSTRUCTOR_H__
28 #define __RTTR_CONSTRUCTOR_H__
32 #include <initializer_list>
44 class constructor_container_base;
98 bool is_valid()
const;
105 operator bool()
const;
112 type get_instanciated_type()
const;
122 type get_declaring_type()
const;
129 std::string get_signature()
const;
137 std::vector<type> get_parameter_types()
const;
147 variant get_metadata(
int key)
const;
157 variant get_metadata(
const std::string& key)
const;
179 variant invoke(detail::argument arg1)
const;
190 variant invoke(detail::argument arg1, detail::argument arg2)
const;
201 variant invoke(detail::argument arg1, detail::argument arg2, detail::argument arg3)
const;
212 variant invoke(detail::argument arg1, detail::argument arg2, detail::argument arg3, detail::argument arg4)
const;
223 variant invoke(detail::argument arg1, detail::argument arg2, detail::argument arg3, detail::argument arg4,
224 detail::argument arg5)
const;
235 variant invoke(detail::argument arg1, detail::argument arg2, detail::argument arg3, detail::argument arg4,
236 detail::argument arg5, detail::argument arg6)
const;
249 variant invoke_variadic(std::vector<detail::argument> args)
const;
267 constructor(
const detail::constructor_container_base* container =
nullptr);
269 const detail::constructor_container_base* _container;
274 #endif // __RTTR_CONSTRUCTOR_H__
This class holds the type information for any arbitrary object.
Definition: type.h:165
The variant class allows to store data of any type and convert between these types transparently...
Definition: variant.h:125
The constructor class provides several meta information about a constructor and can be invoked...
Definition: constructor.h:90
#define RTTR_API
Definition: core_prerequisites.h:124