28 #ifndef __RTTR_CONSTRUCTOR_CONTAINER_BASE_H__
29 #define __RTTR_CONSTRUCTOR_CONTAINER_BASE_H__
52 class RTTR_API constructor_container_base :
public metadata_container
55 constructor_container_base(type decalaring_type);
56 constructor_container_base();
58 virtual ~constructor_container_base();
59 type get_declaring_type()
const;
60 std::string get_signature()
const;
61 virtual type get_instanciated_type()
const = 0;
62 virtual std::vector<type> get_parameter_types()
const = 0;
64 virtual std::vector<bool> get_is_reference()
const;
65 virtual std::vector<bool> get_is_const()
const;
67 virtual variant invoke()
const;
68 virtual variant invoke(detail::argument& arg1)
const;
69 virtual variant invoke(detail::argument& arg1, detail::argument& arg2)
const;
70 virtual variant invoke(detail::argument& arg1, detail::argument& arg2, detail::argument& arg3)
const;
71 virtual variant invoke(detail::argument& arg1, detail::argument& arg2, detail::argument& arg3, detail::argument& arg4)
const;
72 virtual variant invoke(detail::argument& arg1, detail::argument& arg2, detail::argument& arg3, detail::argument& arg4,
73 detail::argument& arg5)
const;
74 virtual variant invoke(detail::argument& arg1, detail::argument& arg2, detail::argument& arg3, detail::argument& arg4,
75 detail::argument& arg5, detail::argument& arg6)
const;
77 virtual variant invoke_variadic(std::vector<detail::argument>& args)
const = 0;
79 const type _decalaring_type;
85 #endif // __RTTR_CONSTRUCTOR_CONTAINER_BASE_H__
#define RTTR_API
Definition: core_prerequisites.h:124