22 #ifndef jtie_tconv_impl_hpp
23 #define jtie_tconv_impl_hpp
27 #include "helpers.hpp"
54 template <
typename J,
typename C >
struct is_supported_type_mapping;
64 template<
typename J,
typename C >
88 convert(cstatus & s, J j, JNIEnv * env) {
89 TRACE(
"C Param.convert(cstatus &, J, JNIEnv *)");
92 static_assert(
false,
"missing specialization of parameter conversion");
121 release(C c, J j, JNIEnv * env) {
122 TRACE(
"void Param.release(C, J, JNIEnv *)");
123 (void)c; (void)j; (void)env;
124 static_assert(
false,
"missing specialization of parameter conversion");
127 #endif // only document class template, to be defined by specialization
143 template<
typename J,
typename C >
154 convert(cstatus & s, J j, JNIEnv * env) {
155 TRACE(
"C & Target.convert(cstatus &, J, JNIEnv *)");
158 static_assert(
false,
"missing specialization of target conversion");
168 release(C & c, J j, JNIEnv * env) {
169 TRACE(
"void Target.release(C &, J, JNIEnv *)");
170 (void)c; (void)j; (void)env;
171 static_assert(
false,
"missing specialization of target conversion");
174 #endif // only document class template, to be defined by specialization
185 template<
typename J,
typename C >
203 convert(C c, JNIEnv * env) {
204 TRACE(
"J Result.convert(C, JNIEnv *)");
206 static_assert(
false,
"missing specialization of result conversion");
210 #endif // only document class template, to be defined by specialization
244 template<
typename J,
typename C >
247 template<
typename J,
typename C >
257 template<
typename T,
typename S >
261 return static_cast< T
>(s);
273 #endif // jtie_tconv_impl_hpp