1 """Class method and static method instantiators.""" 3 from typing
import Iterable
7 instantiate_return_type)
12 Instantiate method with template parameters. 21 original: parser.Method,
22 instantiations: Iterable[parser.Typename] = ()):
41 def construct(cls, original, typenames, class_instantiations,
42 method_instantiations, instantiated_args, parent):
43 """Class method to construct object as required by InstantiationHelper.""" 44 method = parser.Method(
45 template=original.template,
48 original.return_type, typenames,
49 class_instantiations + method_instantiations,
50 parent.cpp_typename()),
51 args=parser.ArgumentList(instantiated_args),
52 is_const=original.is_const,
58 """Generate the C++ code for wrapping.""" 64 ",".join(instantiation_list))
75 Instantiate static method with template parameters. 78 original: parser.StaticMethod,
79 instantiations: Iterable[parser.Typename] = ()):
93 def construct(cls, original, typenames, class_instantiations,
94 method_instantiations, instantiated_args, parent):
95 """Class method to construct object as required by InstantiationHelper.""" 96 method = parser.StaticMethod(
100 class_instantiations +
101 method_instantiations,
102 parent.cpp_typename(),
103 instantiated_class=parent),
104 args=parser.ArgumentList(instantiated_args),
105 template=original.template,
109 instantiations=method_instantiations)
112 """Generate the C++ code for wrapping.""" 118 ",".join(instantiation_list))
def construct(cls, original, typenames, class_instantiations, method_instantiations, instantiated_args, parent)
def construct(cls, original, typenames, class_instantiations, method_instantiations, instantiated_args, parent)
std::string format(const std::string &str, const std::vector< std::string > &find, const std::vector< std::string > &replace)
def instantiate_return_type