1! wrapfsidre.F 2! This file is generated by Shroud 0.12.2. Do not edit. 3! 4! Copyright (c) 2017-2021, Lawrence Livermore National Security, LLC and 5! other Axom Project Developers. See the top-level LICENSE file for details. 6! 7! SPDX-License-Identifier: (BSD-3-Clause) 8!> 9!! \file wrapfsidre.F 10!! \brief Shroud generated wrapper for sidre namespace 11!< 12! splicer begin file_top 13#include "axom/config.hpp" 14! splicer end file_top 15module axom_sidre 16 use iso_c_binding, only : C_INT, C_NULL_PTR, C_PTR 17 ! splicer begin module_use 18 ! map conduit type names to sidre type names 19 use conduit, only : & 20 SIDRE_NO_TYPE_ID => CONDUIT_EMPTY_ID, & 21 SIDRE_INT8_ID => CONDUIT_INT8_ID, & 22 SIDRE_INT16_ID => CONDUIT_INT16_ID, & 23 SIDRE_INT32_ID => CONDUIT_INT32_ID, & 24 SIDRE_INT64_ID => CONDUIT_INT64_ID, & 25 SIDRE_UINT8_ID => CONDUIT_UINT8_ID, & 26 SIDRE_UINT16_ID => CONDUIT_UINT16_ID, & 27 SIDRE_UINT32_ID => CONDUIT_UINT32_ID, & 28 SIDRE_UINT64_ID => CONDUIT_UINT64_ID, & 29 SIDRE_FLOAT32_ID => CONDUIT_FLOAT32_ID, & 30 SIDRE_FLOAT64_ID => CONDUIT_FLOAT64_ID, & 31 SIDRE_CHAR8_STR_ID => CONDUIT_CHAR8_STR_ID, & 32 SIDRE_INT_ID => CONDUIT_INT_ID, & 33 SIDRE_UINT_ID => CONDUIT_UINT_ID, & 34 SIDRE_LONG_ID => CONDUIT_LONG_ID, & 35 SIDRE_ULONG_ID => CONDUIT_ULONG_ID, & 36 SIDRE_FLOAT_ID => CONDUIT_FLOAT_ID, & 37 SIDRE_DOUBLE_ID => CONDUIT_DOUBLE_ID 38 use, intrinsic :: iso_c_binding, only : C_INT64_T 39 ! splicer end module_use 40 implicit none 41 42 ! splicer begin module_top 43 integer, parameter :: MAXNAMESIZE = 128 44 45 integer, parameter :: SIDRE_IndexType = C_INT64_T 46 47 integer, parameter :: invalid_index = -1_SIDRE_IndexType 48 ! splicer end module_top 49 50 type, bind(C) :: SIDRE_SHROUD_buffer_capsule 51 type(C_PTR) :: addr = C_NULL_PTR ! address of C++ memory 52 integer(C_INT) :: idtor = 0 ! index of destructor 53 end type SIDRE_SHROUD_buffer_capsule 54 55 type SidreBuffer 56 type(SIDRE_SHROUD_buffer_capsule) :: cxxmem 57 ! splicer begin class.Buffer.component_part 58 ! splicer end class.Buffer.component_part 59 contains 60 procedure :: get_index => buffer_get_index 61 procedure :: get_num_views => buffer_get_num_views 62 procedure :: get_void_ptr => buffer_get_void_ptr 63 procedure :: get_type_id => buffer_get_type_id 64 procedure :: get_num_elements => buffer_get_num_elements 65 procedure :: get_total_bytes => buffer_get_total_bytes 66 procedure :: get_bytes_per_element => buffer_get_bytes_per_element 67 procedure :: describe_int32_t => buffer_describe_int32_t 68 procedure :: describe_int64_t => buffer_describe_int64_t 69 procedure :: allocate_existing => buffer_allocate_existing 70 procedure :: allocate_from_type_int32_t => buffer_allocate_from_type_int32_t 71 procedure :: allocate_from_type_int64_t => buffer_allocate_from_type_int64_t 72 procedure :: reallocate_int32_t => buffer_reallocate_int32_t 73 procedure :: reallocate_int64_t => buffer_reallocate_int64_t 74 procedure :: print => buffer_print 75 procedure :: get_instance => buffer_get_instance 76 procedure :: set_instance => buffer_set_instance 77 procedure :: associated => buffer_associated 78 generic :: allocate => allocate_existing, & 79 allocate_from_type_int32_t, allocate_from_type_int64_t 80 generic :: describe => describe_int32_t, describe_int64_t 81 generic :: reallocate => reallocate_int32_t, reallocate_int64_t 82 ! splicer begin class.Buffer.type_bound_procedure_part 83 ! splicer end class.Buffer.type_bound_procedure_part 84 end type SidreBuffer 85 86 type, bind(C) :: SIDRE_SHROUD_group_capsule 87 type(C_PTR) :: addr = C_NULL_PTR ! address of C++ memory 88 integer(C_INT) :: idtor = 0 ! index of destructor 89 end type SIDRE_SHROUD_group_capsule 90 91 type SidreGroup 92 type(SIDRE_SHROUD_group_capsule) :: cxxmem 93 ! splicer begin class.Group.component_part 94 ! splicer end class.Group.component_part 95 contains 96 procedure :: get_index => group_get_index 97 procedure :: get_name => group_get_name 98 procedure :: get_path => group_get_path 99 procedure :: get_path_name => group_get_path_name 100 procedure :: get_parent => group_get_parent 101 procedure :: get_num_groups => group_get_num_groups 102 procedure :: get_num_views => group_get_num_views 103 procedure :: get_data_store => group_get_data_store 104 procedure :: has_view => group_has_view 105 procedure :: has_child_view => group_has_child_view 106 procedure :: get_view_index => group_get_view_index 107 procedure :: get_view_name_int32_t => group_get_view_name_int32_t 108 procedure :: get_view_name_int64_t => group_get_view_name_int64_t 109 procedure :: get_view_from_name => group_get_view_from_name 110 procedure :: get_view_from_index_int32_t => group_get_view_from_index_int32_t 111 procedure :: get_view_from_index_int64_t => group_get_view_from_index_int64_t 112 procedure :: get_first_valid_view_index => group_get_first_valid_view_index 113 procedure :: get_next_valid_view_index_int32_t => group_get_next_valid_view_index_int32_t 114 procedure :: get_next_valid_view_index_int64_t => group_get_next_valid_view_index_int64_t 115 procedure :: create_view_empty => group_create_view_empty 116 procedure :: create_view_from_type_int32_t => group_create_view_from_type_int32_t 117 procedure :: create_view_from_type_int64_t => group_create_view_from_type_int64_t 118 procedure :: create_view_from_shape => group_create_view_from_shape 119 procedure :: create_view_into_buffer => group_create_view_into_buffer 120 procedure :: create_view_from_type_and_buffer_int32_t => group_create_view_from_type_and_buffer_int32_t 121 procedure :: create_view_from_type_and_buffer_int64_t => group_create_view_from_type_and_buffer_int64_t 122 procedure :: create_view_from_shape_and_buffer => group_create_view_from_shape_and_buffer 123 procedure :: create_view_external => group_create_view_external 124 procedure :: create_view_from_type_external_int32_t => group_create_view_from_type_external_int32_t 125 procedure :: create_view_from_type_external_int64_t => group_create_view_from_type_external_int64_t 126 procedure :: create_view_from_shape_external => group_create_view_from_shape_external 127 procedure :: create_view_and_allocate_nelems_int32_t => group_create_view_and_allocate_nelems_int32_t 128 procedure :: create_view_and_allocate_nelems_int64_t => group_create_view_and_allocate_nelems_int64_t 129 procedure :: create_view_and_allocate_shape => group_create_view_and_allocate_shape 130 procedure :: create_view_scalar_int => group_create_view_scalar_int 131 procedure :: create_view_scalar_long => group_create_view_scalar_long 132 procedure :: create_view_scalar_float => group_create_view_scalar_float 133 procedure :: create_view_scalar_double => group_create_view_scalar_double 134 procedure :: create_view_string => group_create_view_string 135 procedure :: destroy_view => group_destroy_view 136 procedure :: destroy_view_and_data_name => group_destroy_view_and_data_name 137 procedure :: destroy_view_and_data_index_int32_t => group_destroy_view_and_data_index_int32_t 138 procedure :: destroy_view_and_data_index_int64_t => group_destroy_view_and_data_index_int64_t 139 procedure :: move_view => group_move_view 140 procedure :: copy_view => group_copy_view 141 procedure :: has_group => group_has_group 142 procedure :: has_child_group => group_has_child_group 143 procedure :: get_group_index => group_get_group_index 144 procedure :: get_group_name_int32_t => group_get_group_name_int32_t 145 procedure :: get_group_name_int64_t => group_get_group_name_int64_t 146 procedure :: get_group_from_name => group_get_group_from_name 147 procedure :: get_group_from_index_int32_t => group_get_group_from_index_int32_t 148 procedure :: get_group_from_index_int64_t => group_get_group_from_index_int64_t 149 procedure :: get_first_valid_group_index => group_get_first_valid_group_index 150 procedure :: get_next_valid_group_index_int32_t => group_get_next_valid_group_index_int32_t 151 procedure :: get_next_valid_group_index_int64_t => group_get_next_valid_group_index_int64_t 152 procedure :: create_group => group_create_group 153 procedure :: destroy_group_name => group_destroy_group_name 154 procedure :: destroy_group_index_int32_t => group_destroy_group_index_int32_t 155 procedure :: destroy_group_index_int64_t => group_destroy_group_index_int64_t 156 procedure :: move_group => group_move_group 157 procedure :: print => group_print 158 procedure :: is_equivalent_to => group_is_equivalent_to 159 procedure :: save => group_save 160 procedure :: load_0 => group_load_0 161 procedure :: load_1 => group_load_1 162 procedure :: load_external_data => group_load_external_data 163 procedure :: rename => group_rename 164 procedure :: get_instance => group_get_instance 165 procedure :: set_instance => group_set_instance 166 procedure :: associated => group_associated 167 generic :: create_view => create_view_empty, & 168 create_view_from_type_int32_t, create_view_from_type_int64_t & 169 , create_view_from_shape, create_view_into_buffer, & 170 create_view_from_type_and_buffer_int32_t, & 171 create_view_from_type_and_buffer_int64_t, & 172 create_view_from_shape_and_buffer, create_view_external, & 173 create_view_from_type_external_int32_t, & 174 create_view_from_type_external_int64_t, & 175 create_view_from_shape_external 176 generic :: create_view_and_allocate => & 177 create_view_and_allocate_nelems_int32_t, & 178 create_view_and_allocate_nelems_int64_t, & 179 create_view_and_allocate_shape 180 generic :: create_view_scalar => create_view_scalar_int, & 181 create_view_scalar_long, create_view_scalar_float, & 182 create_view_scalar_double 183 generic :: destroy_group => destroy_group_name, & 184 destroy_group_index_int32_t, destroy_group_index_int64_t 185 generic :: destroy_view_and_data => destroy_view_and_data_name, & 186 destroy_view_and_data_index_int32_t, & 187 destroy_view_and_data_index_int64_t 188 generic :: get_group => get_group_from_name, & 189 get_group_from_index_int32_t, get_group_from_index_int64_t 190 generic :: get_group_name => get_group_name_int32_t, & 191 get_group_name_int64_t 192 generic :: get_next_valid_group_index => & 193 get_next_valid_group_index_int32_t, & 194 get_next_valid_group_index_int64_t 195 generic :: get_next_valid_view_index => & 196 get_next_valid_view_index_int32_t, & 197 get_next_valid_view_index_int64_t 198 generic :: get_view => get_view_from_name, & 199 get_view_from_index_int32_t, get_view_from_index_int64_t 200 generic :: get_view_name => get_view_name_int32_t, & 201 get_view_name_int64_t 202 generic :: load => load_0, load_1 203 ! splicer begin class.Group.type_bound_procedure_part 204 procedure :: get_scalar_int => group_get_scalar_int 205 procedure :: get_scalar_long => group_get_scalar_long 206 procedure :: get_scalar_float => group_get_scalar_float 207 procedure :: get_scalar_double => group_get_scalar_double 208 generic :: get_scalar => & 209 get_scalar_int, & 210 get_scalar_long, & 211 get_scalar_float, & 212 get_scalar_double 213 procedure :: set_scalar_int => group_set_scalar_int 214 procedure :: set_scalar_long => group_set_scalar_long 215 procedure :: set_scalar_float => group_set_scalar_float 216 procedure :: set_scalar_double => group_set_scalar_double 217 generic :: set_scalar => & 218 set_scalar_int, & 219 set_scalar_long, & 220 set_scalar_float, & 221 set_scalar_double 222 procedure :: create_array_view_int_scalar => group_create_array_view_int_scalar 223 procedure :: create_array_view_int_1d => group_create_array_view_int_1d 224 procedure :: create_array_view_int_2d => group_create_array_view_int_2d 225 procedure :: create_array_view_int_3d => group_create_array_view_int_3d 226 procedure :: create_array_view_int_4d => group_create_array_view_int_4d 227 procedure :: create_array_view_long_scalar => group_create_array_view_long_scalar 228 procedure :: create_array_view_long_1d => group_create_array_view_long_1d 229 procedure :: create_array_view_long_2d => group_create_array_view_long_2d 230 procedure :: create_array_view_long_3d => group_create_array_view_long_3d 231 procedure :: create_array_view_long_4d => group_create_array_view_long_4d 232 procedure :: create_array_view_float_scalar => group_create_array_view_float_scalar 233 procedure :: create_array_view_float_1d => group_create_array_view_float_1d 234 procedure :: create_array_view_float_2d => group_create_array_view_float_2d 235 procedure :: create_array_view_float_3d => group_create_array_view_float_3d 236 procedure :: create_array_view_float_4d => group_create_array_view_float_4d 237 procedure :: create_array_view_double_scalar => group_create_array_view_double_scalar 238 procedure :: create_array_view_double_1d => group_create_array_view_double_1d 239 procedure :: create_array_view_double_2d => group_create_array_view_double_2d 240 procedure :: create_array_view_double_3d => group_create_array_view_double_3d 241 procedure :: create_array_view_double_4d => group_create_array_view_double_4d 242 generic :: create_array_view => & 243 create_array_view_int_scalar, & 244 create_array_view_int_1d, & 245 create_array_view_int_2d, & 246 create_array_view_int_3d, & 247 create_array_view_int_4d, & 248 create_array_view_long_scalar, & 249 create_array_view_long_1d, & 250 create_array_view_long_2d, & 251 create_array_view_long_3d, & 252 create_array_view_long_4d, & 253 create_array_view_float_scalar, & 254 create_array_view_float_1d, & 255 create_array_view_float_2d, & 256 create_array_view_float_3d, & 257 create_array_view_float_4d, & 258 create_array_view_double_scalar, & 259 create_array_view_double_1d, & 260 create_array_view_double_2d, & 261 create_array_view_double_3d, & 262 create_array_view_double_4d 263 procedure :: set_array_data_ptr_int_scalar => group_set_array_data_ptr_int_scalar 264 procedure :: set_array_data_ptr_int_1d => group_set_array_data_ptr_int_1d 265 procedure :: set_array_data_ptr_int_2d => group_set_array_data_ptr_int_2d 266 procedure :: set_array_data_ptr_int_3d => group_set_array_data_ptr_int_3d 267 procedure :: set_array_data_ptr_int_4d => group_set_array_data_ptr_int_4d 268 procedure :: set_array_data_ptr_long_scalar => group_set_array_data_ptr_long_scalar 269 procedure :: set_array_data_ptr_long_1d => group_set_array_data_ptr_long_1d 270 procedure :: set_array_data_ptr_long_2d => group_set_array_data_ptr_long_2d 271 procedure :: set_array_data_ptr_long_3d => group_set_array_data_ptr_long_3d 272 procedure :: set_array_data_ptr_long_4d => group_set_array_data_ptr_long_4d 273 procedure :: set_array_data_ptr_float_scalar => group_set_array_data_ptr_float_scalar 274 procedure :: set_array_data_ptr_float_1d => group_set_array_data_ptr_float_1d 275 procedure :: set_array_data_ptr_float_2d => group_set_array_data_ptr_float_2d 276 procedure :: set_array_data_ptr_float_3d => group_set_array_data_ptr_float_3d 277 procedure :: set_array_data_ptr_float_4d => group_set_array_data_ptr_float_4d 278 procedure :: set_array_data_ptr_double_scalar => group_set_array_data_ptr_double_scalar 279 procedure :: set_array_data_ptr_double_1d => group_set_array_data_ptr_double_1d 280 procedure :: set_array_data_ptr_double_2d => group_set_array_data_ptr_double_2d 281 procedure :: set_array_data_ptr_double_3d => group_set_array_data_ptr_double_3d 282 procedure :: set_array_data_ptr_double_4d => group_set_array_data_ptr_double_4d 283 generic :: set_array_data_ptr => & 284 set_array_data_ptr_int_scalar, & 285 set_array_data_ptr_int_1d, & 286 set_array_data_ptr_int_2d, & 287 set_array_data_ptr_int_3d, & 288 set_array_data_ptr_int_4d, & 289 set_array_data_ptr_long_scalar, & 290 set_array_data_ptr_long_1d, & 291 set_array_data_ptr_long_2d, & 292 set_array_data_ptr_long_3d, & 293 set_array_data_ptr_long_4d, & 294 set_array_data_ptr_float_scalar, & 295 set_array_data_ptr_float_1d, & 296 set_array_data_ptr_float_2d, & 297 set_array_data_ptr_float_3d, & 298 set_array_data_ptr_float_4d, & 299 set_array_data_ptr_double_scalar, & 300 set_array_data_ptr_double_1d, & 301 set_array_data_ptr_double_2d, & 302 set_array_data_ptr_double_3d, & 303 set_array_data_ptr_double_4d 304 procedure :: get_string => group_get_string 305 procedure :: set_string => group_set_string 306 ! splicer end class.Group.type_bound_procedure_part 307 end type SidreGroup 308 309 type, bind(C) :: SIDRE_SHROUD_view_capsule 310 type(C_PTR) :: addr = C_NULL_PTR ! address of C++ memory 311 integer(C_INT) :: idtor = 0 ! index of destructor 312 end type SIDRE_SHROUD_view_capsule 313 314 type SidreView 315 type(SIDRE_SHROUD_view_capsule) :: cxxmem 316 ! splicer begin class.View.component_part 317 ! splicer end class.View.component_part 318 contains 319 procedure :: get_index => view_get_index 320 procedure :: get_name => view_get_name 321 procedure :: get_path => view_get_path 322 procedure :: get_path_name => view_get_path_name 323 procedure :: get_owning_group => view_get_owning_group 324 procedure :: has_buffer => view_has_buffer 325 procedure :: get_buffer => view_get_buffer 326 procedure :: is_external => view_is_external 327 procedure :: is_allocated => view_is_allocated 328 procedure :: is_applied => view_is_applied 329 procedure :: is_described => view_is_described 330 procedure :: is_empty => view_is_empty 331 procedure :: is_opaque => view_is_opaque 332 procedure :: is_scalar => view_is_scalar 333 procedure :: is_string => view_is_string 334 procedure :: get_type_id => view_get_type_id 335 procedure :: get_total_bytes => view_get_total_bytes 336 procedure :: get_num_elements => view_get_num_elements 337 procedure :: get_bytes_per_element => view_get_bytes_per_element 338 procedure :: get_offset => view_get_offset 339 procedure :: get_stride => view_get_stride 340 procedure :: get_num_dimensions => view_get_num_dimensions 341 procedure :: get_shape => view_get_shape 342 procedure :: allocate_simple => view_allocate_simple 343 procedure :: allocate_from_type_int32_t => view_allocate_from_type_int32_t 344 procedure :: allocate_from_type_int64_t => view_allocate_from_type_int64_t 345 procedure :: reallocate_int32_t => view_reallocate_int32_t 346 procedure :: reallocate_int64_t => view_reallocate_int64_t 347 procedure :: attach_buffer_only => view_attach_buffer_only 348 procedure :: attach_buffer_type_int32_t => view_attach_buffer_type_int32_t 349 procedure :: attach_buffer_type_int64_t => view_attach_buffer_type_int64_t 350 procedure :: attach_buffer_shape => view_attach_buffer_shape 351 procedure :: clear => view_clear 352 procedure :: apply_0 => view_apply_0 353 procedure :: apply_nelems => view_apply_nelems 354 procedure :: apply_nelems_offset => view_apply_nelems_offset 355 procedure :: apply_nelems_offset_stride => view_apply_nelems_offset_stride 356 procedure :: apply_type_nelems => view_apply_type_nelems 357 procedure :: apply_type_nelems_offset => view_apply_type_nelems_offset 358 procedure :: apply_type_nelems_offset_stride => view_apply_type_nelems_offset_stride 359 procedure :: apply_type_shape => view_apply_type_shape 360 procedure :: set_scalar_int => view_set_scalar_int 361 procedure :: set_scalar_long => view_set_scalar_long 362 procedure :: set_scalar_float => view_set_scalar_float 363 procedure :: set_scalar_double => view_set_scalar_double 364 procedure :: set_string => view_set_string 365 procedure :: set_external_data_ptr_only => view_set_external_data_ptr_only 366 procedure :: set_external_data_ptr_type_int32_t => view_set_external_data_ptr_type_int32_t 367 procedure :: set_external_data_ptr_type_int64_t => view_set_external_data_ptr_type_int64_t 368 procedure :: set_external_data_ptr_shape => view_set_external_data_ptr_shape 369 procedure :: get_string => view_get_string 370 procedure :: get_data_int => view_get_data_int 371 procedure :: get_data_long => view_get_data_long 372 procedure :: get_data_float => view_get_data_float 373 procedure :: get_data_double => view_get_data_double 374 procedure :: get_void_ptr => view_get_void_ptr 375 procedure :: print => view_print 376 procedure :: rename => view_rename 377 procedure :: get_instance => view_get_instance 378 procedure :: set_instance => view_set_instance 379 procedure :: associated => view_associated 380 generic :: allocate => allocate_simple, & 381 allocate_from_type_int32_t, allocate_from_type_int64_t 382 generic :: apply => apply_0, apply_nelems, apply_nelems_offset, & 383 apply_nelems_offset_stride, apply_type_nelems, & 384 apply_type_nelems_offset, apply_type_nelems_offset_stride, & 385 apply_type_shape 386 generic :: attach_buffer => attach_buffer_only, & 387 attach_buffer_type_int32_t, attach_buffer_type_int64_t, & 388 attach_buffer_shape 389 generic :: reallocate => reallocate_int32_t, reallocate_int64_t 390 generic :: set_external_data_ptr => set_external_data_ptr_only, & 391 set_external_data_ptr_type_int32_t, & 392 set_external_data_ptr_type_int64_t, & 393 set_external_data_ptr_shape 394 generic :: set_scalar => set_scalar_int, set_scalar_long, & 395 set_scalar_float, set_scalar_double 396 ! splicer begin class.View.type_bound_procedure_part 397 procedure :: get_data_int_scalar_ptr => view_get_data_int_scalar_ptr 398 procedure :: get_data_int_1d_ptr => view_get_data_int_1d_ptr 399 procedure :: get_data_int_2d_ptr => view_get_data_int_2d_ptr 400 procedure :: get_data_int_3d_ptr => view_get_data_int_3d_ptr 401 procedure :: get_data_int_4d_ptr => view_get_data_int_4d_ptr 402 procedure :: get_data_long_scalar_ptr => view_get_data_long_scalar_ptr 403 procedure :: get_data_long_1d_ptr => view_get_data_long_1d_ptr 404 procedure :: get_data_long_2d_ptr => view_get_data_long_2d_ptr 405 procedure :: get_data_long_3d_ptr => view_get_data_long_3d_ptr 406 procedure :: get_data_long_4d_ptr => view_get_data_long_4d_ptr 407 procedure :: get_data_float_scalar_ptr => view_get_data_float_scalar_ptr 408 procedure :: get_data_float_1d_ptr => view_get_data_float_1d_ptr 409 procedure :: get_data_float_2d_ptr => view_get_data_float_2d_ptr 410 procedure :: get_data_float_3d_ptr => view_get_data_float_3d_ptr 411 procedure :: get_data_float_4d_ptr => view_get_data_float_4d_ptr 412 procedure :: get_data_double_scalar_ptr => view_get_data_double_scalar_ptr 413 procedure :: get_data_double_1d_ptr => view_get_data_double_1d_ptr 414 procedure :: get_data_double_2d_ptr => view_get_data_double_2d_ptr 415 procedure :: get_data_double_3d_ptr => view_get_data_double_3d_ptr 416 procedure :: get_data_double_4d_ptr => view_get_data_double_4d_ptr 417 generic :: get_data => & 418 get_data_int_scalar_ptr, & 419 get_data_int_1d_ptr, & 420 get_data_int_2d_ptr, & 421 get_data_int_3d_ptr, & 422 get_data_int_4d_ptr, & 423 get_data_long_scalar_ptr, & 424 get_data_long_1d_ptr, & 425 get_data_long_2d_ptr, & 426 get_data_long_3d_ptr, & 427 get_data_long_4d_ptr, & 428 get_data_float_scalar_ptr, & 429 get_data_float_1d_ptr, & 430 get_data_float_2d_ptr, & 431 get_data_float_3d_ptr, & 432 get_data_float_4d_ptr, & 433 get_data_double_scalar_ptr, & 434 get_data_double_1d_ptr, & 435 get_data_double_2d_ptr, & 436 get_data_double_3d_ptr, & 437 get_data_double_4d_ptr 438 procedure :: set_array_data_ptr_int_scalar => view_set_array_data_ptr_int_scalar 439 procedure :: set_array_data_ptr_int_1d => view_set_array_data_ptr_int_1d 440 procedure :: set_array_data_ptr_int_2d => view_set_array_data_ptr_int_2d 441 procedure :: set_array_data_ptr_int_3d => view_set_array_data_ptr_int_3d 442 procedure :: set_array_data_ptr_int_4d => view_set_array_data_ptr_int_4d 443 procedure :: set_array_data_ptr_long_scalar => view_set_array_data_ptr_long_scalar 444 procedure :: set_array_data_ptr_long_1d => view_set_array_data_ptr_long_1d 445 procedure :: set_array_data_ptr_long_2d => view_set_array_data_ptr_long_2d 446 procedure :: set_array_data_ptr_long_3d => view_set_array_data_ptr_long_3d 447 procedure :: set_array_data_ptr_long_4d => view_set_array_data_ptr_long_4d 448 procedure :: set_array_data_ptr_float_scalar => view_set_array_data_ptr_float_scalar 449 procedure :: set_array_data_ptr_float_1d => view_set_array_data_ptr_float_1d 450 procedure :: set_array_data_ptr_float_2d => view_set_array_data_ptr_float_2d 451 procedure :: set_array_data_ptr_float_3d => view_set_array_data_ptr_float_3d 452 procedure :: set_array_data_ptr_float_4d => view_set_array_data_ptr_float_4d 453 procedure :: set_array_data_ptr_double_scalar => view_set_array_data_ptr_double_scalar 454 procedure :: set_array_data_ptr_double_1d => view_set_array_data_ptr_double_1d 455 procedure :: set_array_data_ptr_double_2d => view_set_array_data_ptr_double_2d 456 procedure :: set_array_data_ptr_double_3d => view_set_array_data_ptr_double_3d 457 procedure :: set_array_data_ptr_double_4d => view_set_array_data_ptr_double_4d 458 generic :: set_array_data_ptr => & 459 set_array_data_ptr_int_scalar, & 460 set_array_data_ptr_int_1d, & 461 set_array_data_ptr_int_2d, & 462 set_array_data_ptr_int_3d, & 463 set_array_data_ptr_int_4d, & 464 set_array_data_ptr_long_scalar, & 465 set_array_data_ptr_long_1d, & 466 set_array_data_ptr_long_2d, & 467 set_array_data_ptr_long_3d, & 468 set_array_data_ptr_long_4d, & 469 set_array_data_ptr_float_scalar, & 470 set_array_data_ptr_float_1d, & 471 set_array_data_ptr_float_2d, & 472 set_array_data_ptr_float_3d, & 473 set_array_data_ptr_float_4d, & 474 set_array_data_ptr_double_scalar, & 475 set_array_data_ptr_double_1d, & 476 set_array_data_ptr_double_2d, & 477 set_array_data_ptr_double_3d, & 478 set_array_data_ptr_double_4d 479 ! splicer end class.View.type_bound_procedure_part 480 end type SidreView 481 482 type, bind(C) :: SIDRE_SHROUD_datastore_capsule 483 type(C_PTR) :: addr = C_NULL_PTR ! address of C++ memory 484 integer(C_INT) :: idtor = 0 ! index of destructor 485 end type SIDRE_SHROUD_datastore_capsule 486 487 type SidreDataStore 488 type(SIDRE_SHROUD_datastore_capsule) :: cxxmem 489 ! splicer begin class.DataStore.component_part 490 ! splicer end class.DataStore.component_part 491 contains 492 procedure :: delete => datastore_delete 493 procedure :: get_root => datastore_get_root 494 procedure :: get_num_buffers => datastore_get_num_buffers 495 procedure :: get_buffer_int32_t => datastore_get_buffer_int32_t 496 procedure :: get_buffer_int64_t => datastore_get_buffer_int64_t 497 procedure :: create_buffer_empty => datastore_create_buffer_empty 498 procedure :: create_buffer_from_type_int32_t => datastore_create_buffer_from_type_int32_t 499 procedure :: create_buffer_from_type_int64_t => datastore_create_buffer_from_type_int64_t 500 procedure :: destroy_buffer_int32_t => datastore_destroy_buffer_int32_t 501 procedure :: destroy_buffer_int64_t => datastore_destroy_buffer_int64_t 502 procedure :: generate_blueprint_index_0 => datastore_generate_blueprint_index_0 503#ifdef AXOM_USE_MPI 504 procedure :: generate_blueprint_index_1 => datastore_generate_blueprint_index_1 505#endif 506 procedure :: print => datastore_print 507 procedure :: get_instance => datastore_get_instance 508 procedure :: set_instance => datastore_set_instance 509 procedure :: associated => datastore_associated 510 generic :: create_buffer => create_buffer_empty, & 511 create_buffer_from_type_int32_t, & 512 create_buffer_from_type_int64_t 513 generic :: destroy_buffer => destroy_buffer_int32_t, & 514 destroy_buffer_int64_t 515 generic :: generate_blueprint_index => generate_blueprint_index_0 516#ifdef AXOM_USE_MPI 517 generic :: generate_blueprint_index => generate_blueprint_index_1 518#endif 519 generic :: get_buffer => get_buffer_int32_t, get_buffer_int64_t 520 ! splicer begin class.DataStore.type_bound_procedure_part 521 ! splicer end class.DataStore.type_bound_procedure_part 522 end type SidreDataStore 523 524 interface operator (.eq.) 525 module procedure buffer_eq 526 module procedure group_eq 527 module procedure view_eq 528 module procedure datastore_eq 529 end interface 530 531 interface operator (.ne.) 532 module procedure buffer_ne 533 module procedure group_ne 534 module procedure view_ne 535 module procedure datastore_ne 536 end interface 537 538 interface 539 540 pure function c_buffer_get_index(self) & 541 result(SHT_rv) & 542 bind(C, name="SIDRE_Buffer_get_index") 543 use iso_c_binding, only : C_INT64_T 544 import :: SIDRE_SHROUD_buffer_capsule 545 implicit none 546 type(SIDRE_SHROUD_buffer_capsule), intent(IN) :: self 547 integer(C_INT64_T) :: SHT_rv 548 end function c_buffer_get_index 549 550 pure function c_buffer_get_num_views(self) & 551 result(SHT_rv) & 552 bind(C, name="SIDRE_Buffer_get_num_views") 553 use iso_c_binding, only : C_SIZE_T 554 import :: SIDRE_SHROUD_buffer_capsule 555 implicit none 556 type(SIDRE_SHROUD_buffer_capsule), intent(IN) :: self 557 integer(C_SIZE_T) :: SHT_rv 558 end function c_buffer_get_num_views 559 560 function c_buffer_get_void_ptr(self) & 561 result(SHT_rv) & 562 bind(C, name="SIDRE_Buffer_get_void_ptr") 563 use iso_c_binding, only : C_PTR 564 import :: SIDRE_SHROUD_buffer_capsule 565 implicit none 566 type(SIDRE_SHROUD_buffer_capsule), intent(IN) :: self 567 type(C_PTR) :: SHT_rv 568 end function c_buffer_get_void_ptr 569 570 pure function c_buffer_get_type_id(self) & 571 result(SHT_rv) & 572 bind(C, name="SIDRE_Buffer_get_type_id") 573 use iso_c_binding, only : C_INT 574 import :: SIDRE_SHROUD_buffer_capsule 575 implicit none 576 type(SIDRE_SHROUD_buffer_capsule), intent(IN) :: self 577 integer(C_INT) :: SHT_rv 578 end function c_buffer_get_type_id 579 580 pure function c_buffer_get_num_elements(self) & 581 result(SHT_rv) & 582 bind(C, name="SIDRE_Buffer_get_num_elements") 583 use iso_c_binding, only : C_SIZE_T 584 import :: SIDRE_SHROUD_buffer_capsule 585 implicit none 586 type(SIDRE_SHROUD_buffer_capsule), intent(IN) :: self 587 integer(C_SIZE_T) :: SHT_rv 588 end function c_buffer_get_num_elements 589 590 pure function c_buffer_get_total_bytes(self) & 591 result(SHT_rv) & 592 bind(C, name="SIDRE_Buffer_get_total_bytes") 593 use iso_c_binding, only : C_SIZE_T 594 import :: SIDRE_SHROUD_buffer_capsule 595 implicit none 596 type(SIDRE_SHROUD_buffer_capsule), intent(IN) :: self 597 integer(C_SIZE_T) :: SHT_rv 598 end function c_buffer_get_total_bytes 599 600 pure function c_buffer_get_bytes_per_element(self) & 601 result(SHT_rv) & 602 bind(C, name="SIDRE_Buffer_get_bytes_per_element") 603 use iso_c_binding, only : C_SIZE_T 604 import :: SIDRE_SHROUD_buffer_capsule 605 implicit none 606 type(SIDRE_SHROUD_buffer_capsule), intent(IN) :: self 607 integer(C_SIZE_T) :: SHT_rv 608 end function c_buffer_get_bytes_per_element 609 610 subroutine c_buffer_describe(self, type, num_elems) & 611 bind(C, name="SIDRE_Buffer_describe") 612 use iso_c_binding, only : C_INT, C_INT64_T 613 import :: SIDRE_SHROUD_buffer_capsule 614 implicit none 615 type(SIDRE_SHROUD_buffer_capsule), intent(IN) :: self 616 integer(C_INT), value, intent(IN) :: type 617 integer(C_INT64_T), value, intent(IN) :: num_elems 618 end subroutine c_buffer_describe 619 620 subroutine c_buffer_allocate_existing(self) & 621 bind(C, name="SIDRE_Buffer_allocate_existing") 622 import :: SIDRE_SHROUD_buffer_capsule 623 implicit none 624 type(SIDRE_SHROUD_buffer_capsule), intent(IN) :: self 625 end subroutine c_buffer_allocate_existing 626 627 subroutine c_buffer_allocate_from_type(self, type, num_elems) & 628 bind(C, name="SIDRE_Buffer_allocate_from_type") 629 use iso_c_binding, only : C_INT, C_INT64_T 630 import :: SIDRE_SHROUD_buffer_capsule 631 implicit none 632 type(SIDRE_SHROUD_buffer_capsule), intent(IN) :: self 633 integer(C_INT), value, intent(IN) :: type 634 integer(C_INT64_T), value, intent(IN) :: num_elems 635 end subroutine c_buffer_allocate_from_type 636 637 subroutine c_buffer_reallocate(self, num_elems) & 638 bind(C, name="SIDRE_Buffer_reallocate") 639 use iso_c_binding, only : C_INT64_T 640 import :: SIDRE_SHROUD_buffer_capsule 641 implicit none 642 type(SIDRE_SHROUD_buffer_capsule), intent(IN) :: self 643 integer(C_INT64_T), value, intent(IN) :: num_elems 644 end subroutine c_buffer_reallocate 645 646 subroutine c_buffer_print(self) & 647 bind(C, name="SIDRE_Buffer_print") 648 import :: SIDRE_SHROUD_buffer_capsule 649 implicit none 650 type(SIDRE_SHROUD_buffer_capsule), intent(IN) :: self 651 end subroutine c_buffer_print 652 653 ! splicer begin class.Buffer.additional_interfaces 654 ! splicer end class.Buffer.additional_interfaces 655 656 function c_group_get_index(self) & 657 result(SHT_rv) & 658 bind(C, name="SIDRE_Group_get_index") 659 use iso_c_binding, only : C_INT64_T 660 import :: SIDRE_SHROUD_group_capsule 661 implicit none 662 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 663 integer(C_INT64_T) :: SHT_rv 664 end function c_group_get_index 665 666 pure function c_group_get_name(self) & 667 result(SHT_rv) & 668 bind(C, name="SIDRE_Group_get_name") 669 use iso_c_binding, only : C_PTR 670 import :: SIDRE_SHROUD_group_capsule 671 implicit none 672 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 673 type(C_PTR) SHT_rv 674 end function c_group_get_name 675 676 subroutine c_group_get_name_bufferify(self, SHF_rv, NSHF_rv) & 677 bind(C, name="SIDRE_Group_get_name_bufferify") 678 use iso_c_binding, only : C_CHAR, C_INT 679 import :: SIDRE_SHROUD_group_capsule 680 implicit none 681 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 682 character(kind=C_CHAR), intent(OUT) :: SHF_rv(*) 683 integer(C_INT), value, intent(IN) :: NSHF_rv 684 end subroutine c_group_get_name_bufferify 685 686 subroutine c_group_get_path_bufferify(self, SHF_rv, NSHF_rv) & 687 bind(C, name="SIDRE_Group_get_path_bufferify") 688 use iso_c_binding, only : C_CHAR, C_INT 689 import :: SIDRE_SHROUD_group_capsule 690 implicit none 691 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 692 character(kind=C_CHAR), intent(OUT) :: SHF_rv(*) 693 integer(C_INT), value, intent(IN) :: NSHF_rv 694 end subroutine c_group_get_path_bufferify 695 696 subroutine c_group_get_path_name_bufferify(self, SHF_rv, & 697 NSHF_rv) & 698 bind(C, name="SIDRE_Group_get_path_name_bufferify") 699 use iso_c_binding, only : C_CHAR, C_INT 700 import :: SIDRE_SHROUD_group_capsule 701 implicit none 702 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 703 character(kind=C_CHAR), intent(OUT) :: SHF_rv(*) 704 integer(C_INT), value, intent(IN) :: NSHF_rv 705 end subroutine c_group_get_path_name_bufferify 706 707 function c_group_get_parent(self, SHT_crv) & 708 result(SHT_rv) & 709 bind(C, name="SIDRE_Group_get_parent") 710 use iso_c_binding, only : C_PTR 711 import :: SIDRE_SHROUD_group_capsule 712 implicit none 713 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 714 type(SIDRE_SHROUD_group_capsule), intent(OUT) :: SHT_crv 715 type(C_PTR) SHT_rv 716 end function c_group_get_parent 717 718 pure function c_group_get_num_groups(self) & 719 result(SHT_rv) & 720 bind(C, name="SIDRE_Group_get_num_groups") 721 use iso_c_binding, only : C_SIZE_T 722 import :: SIDRE_SHROUD_group_capsule 723 implicit none 724 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 725 integer(C_SIZE_T) :: SHT_rv 726 end function c_group_get_num_groups 727 728 pure function c_group_get_num_views(self) & 729 result(SHT_rv) & 730 bind(C, name="SIDRE_Group_get_num_views") 731 use iso_c_binding, only : C_SIZE_T 732 import :: SIDRE_SHROUD_group_capsule 733 implicit none 734 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 735 integer(C_SIZE_T) :: SHT_rv 736 end function c_group_get_num_views 737 738 function c_group_get_data_store(self, SHT_crv) & 739 result(SHT_rv) & 740 bind(C, name="SIDRE_Group_get_data_store") 741 use iso_c_binding, only : C_PTR 742 import :: SIDRE_SHROUD_datastore_capsule, SIDRE_SHROUD_group_capsule 743 implicit none 744 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 745 type(SIDRE_SHROUD_datastore_capsule), intent(OUT) :: SHT_crv 746 type(C_PTR) SHT_rv 747 end function c_group_get_data_store 748 749 pure function c_group_has_view(self, path) & 750 result(SHT_rv) & 751 bind(C, name="SIDRE_Group_has_view") 752 use iso_c_binding, only : C_BOOL, C_CHAR 753 import :: SIDRE_SHROUD_group_capsule 754 implicit none 755 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 756 character(kind=C_CHAR), intent(IN) :: path(*) 757 logical(C_BOOL) :: SHT_rv 758 end function c_group_has_view 759 760 pure function c_group_has_view_bufferify(self, path, Lpath) & 761 result(SHT_rv) & 762 bind(C, name="SIDRE_Group_has_view_bufferify") 763 use iso_c_binding, only : C_BOOL, C_CHAR, C_INT 764 import :: SIDRE_SHROUD_group_capsule 765 implicit none 766 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 767 character(kind=C_CHAR), intent(IN) :: path(*) 768 integer(C_INT), value, intent(IN) :: Lpath 769 logical(C_BOOL) :: SHT_rv 770 end function c_group_has_view_bufferify 771 772 pure function c_group_has_child_view(self, name) & 773 result(SHT_rv) & 774 bind(C, name="SIDRE_Group_has_child_view") 775 use iso_c_binding, only : C_BOOL, C_CHAR 776 import :: SIDRE_SHROUD_group_capsule 777 implicit none 778 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 779 character(kind=C_CHAR), intent(IN) :: name(*) 780 logical(C_BOOL) :: SHT_rv 781 end function c_group_has_child_view 782 783 pure function c_group_has_child_view_bufferify(self, name, & 784 Lname) & 785 result(SHT_rv) & 786 bind(C, name="SIDRE_Group_has_child_view_bufferify") 787 use iso_c_binding, only : C_BOOL, C_CHAR, C_INT 788 import :: SIDRE_SHROUD_group_capsule 789 implicit none 790 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 791 character(kind=C_CHAR), intent(IN) :: name(*) 792 integer(C_INT), value, intent(IN) :: Lname 793 logical(C_BOOL) :: SHT_rv 794 end function c_group_has_child_view_bufferify 795 796 pure function c_group_get_view_index(self, name) & 797 result(SHT_rv) & 798 bind(C, name="SIDRE_Group_get_view_index") 799 use iso_c_binding, only : C_CHAR, C_INT64_T 800 import :: SIDRE_SHROUD_group_capsule 801 implicit none 802 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 803 character(kind=C_CHAR), intent(IN) :: name(*) 804 integer(C_INT64_T) :: SHT_rv 805 end function c_group_get_view_index 806 807 pure function c_group_get_view_index_bufferify(self, name, & 808 Lname) & 809 result(SHT_rv) & 810 bind(C, name="SIDRE_Group_get_view_index_bufferify") 811 use iso_c_binding, only : C_CHAR, C_INT, C_INT64_T 812 import :: SIDRE_SHROUD_group_capsule 813 implicit none 814 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 815 character(kind=C_CHAR), intent(IN) :: name(*) 816 integer(C_INT), value, intent(IN) :: Lname 817 integer(C_INT64_T) :: SHT_rv 818 end function c_group_get_view_index_bufferify 819 820 pure function c_group_get_view_name(self, idx) & 821 result(SHT_rv) & 822 bind(C, name="SIDRE_Group_get_view_name") 823 use iso_c_binding, only : C_INT64_T, C_PTR 824 import :: SIDRE_SHROUD_group_capsule 825 implicit none 826 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 827 integer(C_INT64_T), value, intent(IN) :: idx 828 type(C_PTR) SHT_rv 829 end function c_group_get_view_name 830 831 subroutine c_group_get_view_name_bufferify(self, idx, SHF_rv, & 832 NSHF_rv) & 833 bind(C, name="SIDRE_Group_get_view_name_bufferify") 834 use iso_c_binding, only : C_CHAR, C_INT, C_INT64_T 835 import :: SIDRE_SHROUD_group_capsule 836 implicit none 837 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 838 integer(C_INT64_T), value, intent(IN) :: idx 839 character(kind=C_CHAR), intent(OUT) :: SHF_rv(*) 840 integer(C_INT), value, intent(IN) :: NSHF_rv 841 end subroutine c_group_get_view_name_bufferify 842 843 function c_group_get_view_from_name(self, path, SHT_crv) & 844 result(SHT_rv) & 845 bind(C, name="SIDRE_Group_get_view_from_name") 846 use iso_c_binding, only : C_CHAR, C_PTR 847 import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule 848 implicit none 849 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 850 character(kind=C_CHAR), intent(IN) :: path(*) 851 type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv 852 type(C_PTR) SHT_rv 853 end function c_group_get_view_from_name 854 855 function c_group_get_view_from_name_bufferify(self, path, Lpath, & 856 SHT_crv) & 857 result(SHT_rv) & 858 bind(C, name="SIDRE_Group_get_view_from_name_bufferify") 859 use iso_c_binding, only : C_CHAR, C_INT, C_PTR 860 import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule 861 implicit none 862 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 863 character(kind=C_CHAR), intent(IN) :: path(*) 864 integer(C_INT), value, intent(IN) :: Lpath 865 type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv 866 type(C_PTR) SHT_rv 867 end function c_group_get_view_from_name_bufferify 868 869 function c_group_get_view_from_index(self, idx, SHT_crv) & 870 result(SHT_rv) & 871 bind(C, name="SIDRE_Group_get_view_from_index") 872 use iso_c_binding, only : C_INT64_T, C_PTR 873 import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule 874 implicit none 875 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 876 integer(C_INT64_T), value, intent(IN) :: idx 877 type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv 878 type(C_PTR) SHT_rv 879 end function c_group_get_view_from_index 880 881 pure function c_group_get_first_valid_view_index(self) & 882 result(SHT_rv) & 883 bind(C, name="SIDRE_Group_get_first_valid_view_index") 884 use iso_c_binding, only : C_INT64_T 885 import :: SIDRE_SHROUD_group_capsule 886 implicit none 887 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 888 integer(C_INT64_T) :: SHT_rv 889 end function c_group_get_first_valid_view_index 890 891 pure function c_group_get_next_valid_view_index(self, idx) & 892 result(SHT_rv) & 893 bind(C, name="SIDRE_Group_get_next_valid_view_index") 894 use iso_c_binding, only : C_INT64_T 895 import :: SIDRE_SHROUD_group_capsule 896 implicit none 897 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 898 integer(C_INT64_T), value, intent(IN) :: idx 899 integer(C_INT64_T) :: SHT_rv 900 end function c_group_get_next_valid_view_index 901 902 function c_group_create_view_empty(self, path, SHT_crv) & 903 result(SHT_rv) & 904 bind(C, name="SIDRE_Group_create_view_empty") 905 use iso_c_binding, only : C_CHAR, C_PTR 906 import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule 907 implicit none 908 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 909 character(kind=C_CHAR), intent(IN) :: path(*) 910 type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv 911 type(C_PTR) SHT_rv 912 end function c_group_create_view_empty 913 914 function c_group_create_view_empty_bufferify(self, path, Lpath, & 915 SHT_crv) & 916 result(SHT_rv) & 917 bind(C, name="SIDRE_Group_create_view_empty_bufferify") 918 use iso_c_binding, only : C_CHAR, C_INT, C_PTR 919 import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule 920 implicit none 921 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 922 character(kind=C_CHAR), intent(IN) :: path(*) 923 integer(C_INT), value, intent(IN) :: Lpath 924 type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv 925 type(C_PTR) SHT_rv 926 end function c_group_create_view_empty_bufferify 927 928 function c_group_create_view_from_type(self, path, type, & 929 num_elems, SHT_crv) & 930 result(SHT_rv) & 931 bind(C, name="SIDRE_Group_create_view_from_type") 932 use iso_c_binding, only : C_CHAR, C_INT, C_INT64_T, C_PTR 933 import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule 934 implicit none 935 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 936 character(kind=C_CHAR), intent(IN) :: path(*) 937 integer(C_INT), value, intent(IN) :: type 938 integer(C_INT64_T), value, intent(IN) :: num_elems 939 type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv 940 type(C_PTR) SHT_rv 941 end function c_group_create_view_from_type 942 943 function c_group_create_view_from_type_bufferify(self, path, & 944 Lpath, type, num_elems, SHT_crv) & 945 result(SHT_rv) & 946 bind(C, name="SIDRE_Group_create_view_from_type_bufferify") 947 use iso_c_binding, only : C_CHAR, C_INT, C_INT64_T, C_PTR 948 import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule 949 implicit none 950 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 951 character(kind=C_CHAR), intent(IN) :: path(*) 952 integer(C_INT), value, intent(IN) :: Lpath 953 integer(C_INT), value, intent(IN) :: type 954 integer(C_INT64_T), value, intent(IN) :: num_elems 955 type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv 956 type(C_PTR) SHT_rv 957 end function c_group_create_view_from_type_bufferify 958 959 function c_group_create_view_from_shape(self, path, type, ndims, & 960 shape, SHT_crv) & 961 result(SHT_rv) & 962 bind(C, name="SIDRE_Group_create_view_from_shape") 963 use iso_c_binding, only : C_CHAR, C_INT, C_INT64_T, C_PTR 964 import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule 965 implicit none 966 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 967 character(kind=C_CHAR), intent(IN) :: path(*) 968 integer(C_INT), value, intent(IN) :: type 969 integer(C_INT), value, intent(IN) :: ndims 970 integer(C_INT64_T), intent(IN) :: shape(*) 971 type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv 972 type(C_PTR) SHT_rv 973 end function c_group_create_view_from_shape 974 975 function c_group_create_view_from_shape_bufferify(self, path, & 976 Lpath, type, ndims, shape, SHT_crv) & 977 result(SHT_rv) & 978 bind(C, name="SIDRE_Group_create_view_from_shape_bufferify") 979 use iso_c_binding, only : C_CHAR, C_INT, C_INT64_T, C_PTR 980 import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule 981 implicit none 982 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 983 character(kind=C_CHAR), intent(IN) :: path(*) 984 integer(C_INT), value, intent(IN) :: Lpath 985 integer(C_INT), value, intent(IN) :: type 986 integer(C_INT), value, intent(IN) :: ndims 987 integer(C_INT64_T), intent(IN) :: shape(*) 988 type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv 989 type(C_PTR) SHT_rv 990 end function c_group_create_view_from_shape_bufferify 991 992 function c_group_create_view_into_buffer(self, path, buff, & 993 SHT_crv) & 994 result(SHT_rv) & 995 bind(C, name="SIDRE_Group_create_view_into_buffer") 996 use iso_c_binding, only : C_CHAR, C_PTR 997 import :: SIDRE_SHROUD_buffer_capsule, SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule 998 implicit none 999 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1000 character(kind=C_CHAR), intent(IN) :: path(*) 1001 type(SIDRE_SHROUD_buffer_capsule), intent(INOUT) :: buff 1002 type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv 1003 type(C_PTR) SHT_rv 1004 end function c_group_create_view_into_buffer 1005 1006 function c_group_create_view_into_buffer_bufferify(self, path, & 1007 Lpath, buff, SHT_crv) & 1008 result(SHT_rv) & 1009 bind(C, name="SIDRE_Group_create_view_into_buffer_bufferify") 1010 use iso_c_binding, only : C_CHAR, C_INT, C_PTR 1011 import :: SIDRE_SHROUD_buffer_capsule, SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule 1012 implicit none 1013 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1014 character(kind=C_CHAR), intent(IN) :: path(*) 1015 integer(C_INT), value, intent(IN) :: Lpath 1016 type(SIDRE_SHROUD_buffer_capsule), intent(INOUT) :: buff 1017 type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv 1018 type(C_PTR) SHT_rv 1019 end function c_group_create_view_into_buffer_bufferify 1020 1021 function c_group_create_view_from_type_and_buffer(self, path, & 1022 type, num_elems, buff, SHT_crv) & 1023 result(SHT_rv) & 1024 bind(C, name="SIDRE_Group_create_view_from_type_and_buffer") 1025 use iso_c_binding, only : C_CHAR, C_INT, C_INT64_T, C_PTR 1026 import :: SIDRE_SHROUD_buffer_capsule, SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule 1027 implicit none 1028 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1029 character(kind=C_CHAR), intent(IN) :: path(*) 1030 integer(C_INT), value, intent(IN) :: type 1031 integer(C_INT64_T), value, intent(IN) :: num_elems 1032 type(SIDRE_SHROUD_buffer_capsule), intent(INOUT) :: buff 1033 type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv 1034 type(C_PTR) SHT_rv 1035 end function c_group_create_view_from_type_and_buffer 1036 1037 function c_group_create_view_from_type_and_buffer_bufferify( & 1038 self, path, Lpath, type, num_elems, buff, SHT_crv) & 1039 result(SHT_rv) & 1040 bind(C, name="SIDRE_Group_create_view_from_type_and_buffer_bufferify") 1041 use iso_c_binding, only : C_CHAR, C_INT, C_INT64_T, C_PTR 1042 import :: SIDRE_SHROUD_buffer_capsule, SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule 1043 implicit none 1044 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1045 character(kind=C_CHAR), intent(IN) :: path(*) 1046 integer(C_INT), value, intent(IN) :: Lpath 1047 integer(C_INT), value, intent(IN) :: type 1048 integer(C_INT64_T), value, intent(IN) :: num_elems 1049 type(SIDRE_SHROUD_buffer_capsule), intent(INOUT) :: buff 1050 type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv 1051 type(C_PTR) SHT_rv 1052 end function c_group_create_view_from_type_and_buffer_bufferify 1053 1054 function c_group_create_view_from_shape_and_buffer(self, path, & 1055 type, ndims, shape, buff, SHT_crv) & 1056 result(SHT_rv) & 1057 bind(C, name="SIDRE_Group_create_view_from_shape_and_buffer") 1058 use iso_c_binding, only : C_CHAR, C_INT, C_INT64_T, C_PTR 1059 import :: SIDRE_SHROUD_buffer_capsule, SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule 1060 implicit none 1061 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1062 character(kind=C_CHAR), intent(IN) :: path(*) 1063 integer(C_INT), value, intent(IN) :: type 1064 integer(C_INT), value, intent(IN) :: ndims 1065 integer(C_INT64_T), intent(IN) :: shape(*) 1066 type(SIDRE_SHROUD_buffer_capsule), intent(INOUT) :: buff 1067 type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv 1068 type(C_PTR) SHT_rv 1069 end function c_group_create_view_from_shape_and_buffer 1070 1071 function c_group_create_view_from_shape_and_buffer_bufferify( & 1072 self, path, Lpath, type, ndims, shape, buff, SHT_crv) & 1073 result(SHT_rv) & 1074 bind(C, name="SIDRE_Group_create_view_from_shape_and_buffer_bufferify") 1075 use iso_c_binding, only : C_CHAR, C_INT, C_INT64_T, C_PTR 1076 import :: SIDRE_SHROUD_buffer_capsule, SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule 1077 implicit none 1078 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1079 character(kind=C_CHAR), intent(IN) :: path(*) 1080 integer(C_INT), value, intent(IN) :: Lpath 1081 integer(C_INT), value, intent(IN) :: type 1082 integer(C_INT), value, intent(IN) :: ndims 1083 integer(C_INT64_T), intent(IN) :: shape(*) 1084 type(SIDRE_SHROUD_buffer_capsule), intent(INOUT) :: buff 1085 type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv 1086 type(C_PTR) SHT_rv 1087 end function c_group_create_view_from_shape_and_buffer_bufferify 1088 1089 function c_group_create_view_external(self, path, external_ptr, & 1090 SHT_crv) & 1091 result(SHT_rv) & 1092 bind(C, name="SIDRE_Group_create_view_external") 1093 use iso_c_binding, only : C_CHAR, C_PTR 1094 import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule 1095 implicit none 1096 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1097 character(kind=C_CHAR), intent(IN) :: path(*) 1098 type(C_PTR), value, intent(IN) :: external_ptr 1099 type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv 1100 type(C_PTR) SHT_rv 1101 end function c_group_create_view_external 1102 1103 function c_group_create_view_external_bufferify(self, path, & 1104 Lpath, external_ptr, SHT_crv) & 1105 result(SHT_rv) & 1106 bind(C, name="SIDRE_Group_create_view_external_bufferify") 1107 use iso_c_binding, only : C_CHAR, C_INT, C_PTR 1108 import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule 1109 implicit none 1110 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1111 character(kind=C_CHAR), intent(IN) :: path(*) 1112 integer(C_INT), value, intent(IN) :: Lpath 1113 type(C_PTR), value, intent(IN) :: external_ptr 1114 type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv 1115 type(C_PTR) SHT_rv 1116 end function c_group_create_view_external_bufferify 1117 1118 function c_group_create_view_from_type_external(self, path, & 1119 type, num_elems, external_ptr, SHT_crv) & 1120 result(SHT_rv) & 1121 bind(C, name="SIDRE_Group_create_view_from_type_external") 1122 use iso_c_binding, only : C_CHAR, C_INT, C_INT64_T, C_PTR 1123 import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule 1124 implicit none 1125 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1126 character(kind=C_CHAR), intent(IN) :: path(*) 1127 integer(C_INT), value, intent(IN) :: type 1128 integer(C_INT64_T), value, intent(IN) :: num_elems 1129 type(C_PTR), value, intent(IN) :: external_ptr 1130 type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv 1131 type(C_PTR) SHT_rv 1132 end function c_group_create_view_from_type_external 1133 1134 function c_group_create_view_from_type_external_bufferify(self, & 1135 path, Lpath, type, num_elems, external_ptr, SHT_crv) & 1136 result(SHT_rv) & 1137 bind(C, name="SIDRE_Group_create_view_from_type_external_bufferify") 1138 use iso_c_binding, only : C_CHAR, C_INT, C_INT64_T, C_PTR 1139 import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule 1140 implicit none 1141 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1142 character(kind=C_CHAR), intent(IN) :: path(*) 1143 integer(C_INT), value, intent(IN) :: Lpath 1144 integer(C_INT), value, intent(IN) :: type 1145 integer(C_INT64_T), value, intent(IN) :: num_elems 1146 type(C_PTR), value, intent(IN) :: external_ptr 1147 type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv 1148 type(C_PTR) SHT_rv 1149 end function c_group_create_view_from_type_external_bufferify 1150 1151 function c_group_create_view_from_shape_external(self, path, & 1152 type, ndims, shape, external_ptr, SHT_crv) & 1153 result(SHT_rv) & 1154 bind(C, name="SIDRE_Group_create_view_from_shape_external") 1155 use iso_c_binding, only : C_CHAR, C_INT, C_INT64_T, C_PTR 1156 import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule 1157 implicit none 1158 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1159 character(kind=C_CHAR), intent(IN) :: path(*) 1160 integer(C_INT), value, intent(IN) :: type 1161 integer(C_INT), value, intent(IN) :: ndims 1162 integer(C_INT64_T), intent(IN) :: shape(*) 1163 type(C_PTR), value, intent(IN) :: external_ptr 1164 type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv 1165 type(C_PTR) SHT_rv 1166 end function c_group_create_view_from_shape_external 1167 1168 function c_group_create_view_from_shape_external_bufferify(self, & 1169 path, Lpath, type, ndims, shape, external_ptr, SHT_crv) & 1170 result(SHT_rv) & 1171 bind(C, name="SIDRE_Group_create_view_from_shape_external_bufferify") 1172 use iso_c_binding, only : C_CHAR, C_INT, C_INT64_T, C_PTR 1173 import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule 1174 implicit none 1175 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1176 character(kind=C_CHAR), intent(IN) :: path(*) 1177 integer(C_INT), value, intent(IN) :: Lpath 1178 integer(C_INT), value, intent(IN) :: type 1179 integer(C_INT), value, intent(IN) :: ndims 1180 integer(C_INT64_T), intent(IN) :: shape(*) 1181 type(C_PTR), value, intent(IN) :: external_ptr 1182 type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv 1183 type(C_PTR) SHT_rv 1184 end function c_group_create_view_from_shape_external_bufferify 1185 1186 function c_group_create_view_and_allocate_nelems(self, path, & 1187 type, num_elems, SHT_crv) & 1188 result(SHT_rv) & 1189 bind(C, name="SIDRE_Group_create_view_and_allocate_nelems") 1190 use iso_c_binding, only : C_CHAR, C_INT, C_INT64_T, C_PTR 1191 import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule 1192 implicit none 1193 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1194 character(kind=C_CHAR), intent(IN) :: path(*) 1195 integer(C_INT), value, intent(IN) :: type 1196 integer(C_INT64_T), value, intent(IN) :: num_elems 1197 type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv 1198 type(C_PTR) SHT_rv 1199 end function c_group_create_view_and_allocate_nelems 1200 1201 function c_group_create_view_and_allocate_nelems_bufferify(self, & 1202 path, Lpath, type, num_elems, SHT_crv) & 1203 result(SHT_rv) & 1204 bind(C, name="SIDRE_Group_create_view_and_allocate_nelems_bufferify") 1205 use iso_c_binding, only : C_CHAR, C_INT, C_INT64_T, C_PTR 1206 import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule 1207 implicit none 1208 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1209 character(kind=C_CHAR), intent(IN) :: path(*) 1210 integer(C_INT), value, intent(IN) :: Lpath 1211 integer(C_INT), value, intent(IN) :: type 1212 integer(C_INT64_T), value, intent(IN) :: num_elems 1213 type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv 1214 type(C_PTR) SHT_rv 1215 end function c_group_create_view_and_allocate_nelems_bufferify 1216 1217 function c_group_create_view_and_allocate_shape(self, path, & 1218 type, ndims, shape, SHT_crv) & 1219 result(SHT_rv) & 1220 bind(C, name="SIDRE_Group_create_view_and_allocate_shape") 1221 use iso_c_binding, only : C_CHAR, C_INT, C_INT64_T, C_PTR 1222 import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule 1223 implicit none 1224 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1225 character(kind=C_CHAR), intent(IN) :: path(*) 1226 integer(C_INT), value, intent(IN) :: type 1227 integer(C_INT), value, intent(IN) :: ndims 1228 integer(C_INT64_T), intent(IN) :: shape(*) 1229 type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv 1230 type(C_PTR) SHT_rv 1231 end function c_group_create_view_and_allocate_shape 1232 1233 function c_group_create_view_and_allocate_shape_bufferify(self, & 1234 path, Lpath, type, ndims, shape, SHT_crv) & 1235 result(SHT_rv) & 1236 bind(C, name="SIDRE_Group_create_view_and_allocate_shape_bufferify") 1237 use iso_c_binding, only : C_CHAR, C_INT, C_INT64_T, C_PTR 1238 import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule 1239 implicit none 1240 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1241 character(kind=C_CHAR), intent(IN) :: path(*) 1242 integer(C_INT), value, intent(IN) :: Lpath 1243 integer(C_INT), value, intent(IN) :: type 1244 integer(C_INT), value, intent(IN) :: ndims 1245 integer(C_INT64_T), intent(IN) :: shape(*) 1246 type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv 1247 type(C_PTR) SHT_rv 1248 end function c_group_create_view_and_allocate_shape_bufferify 1249 1250 function c_group_create_view_scalar_int(self, path, value, & 1251 SHT_crv) & 1252 result(SHT_rv) & 1253 bind(C, name="SIDRE_Group_create_view_scalar_int") 1254 use iso_c_binding, only : C_CHAR, C_INT, C_PTR 1255 import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule 1256 implicit none 1257 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1258 character(kind=C_CHAR), intent(IN) :: path(*) 1259 integer(C_INT), value, intent(IN) :: value 1260 type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv 1261 type(C_PTR) SHT_rv 1262 end function c_group_create_view_scalar_int 1263 1264 function c_group_create_view_scalar_bufferify_int(self, path, & 1265 Lpath, value, SHT_crv) & 1266 result(SHT_rv) & 1267 bind(C, name="SIDRE_Group_create_view_scalar_bufferify_int") 1268 use iso_c_binding, only : C_CHAR, C_INT, C_PTR 1269 import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule 1270 implicit none 1271 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1272 character(kind=C_CHAR), intent(IN) :: path(*) 1273 integer(C_INT), value, intent(IN) :: Lpath 1274 integer(C_INT), value, intent(IN) :: value 1275 type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv 1276 type(C_PTR) SHT_rv 1277 end function c_group_create_view_scalar_bufferify_int 1278 1279 function c_group_create_view_scalar_long(self, path, value, & 1280 SHT_crv) & 1281 result(SHT_rv) & 1282 bind(C, name="SIDRE_Group_create_view_scalar_long") 1283 use iso_c_binding, only : C_CHAR, C_LONG, C_PTR 1284 import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule 1285 implicit none 1286 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1287 character(kind=C_CHAR), intent(IN) :: path(*) 1288 integer(C_LONG), value, intent(IN) :: value 1289 type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv 1290 type(C_PTR) SHT_rv 1291 end function c_group_create_view_scalar_long 1292 1293 function c_group_create_view_scalar_bufferify_long(self, path, & 1294 Lpath, value, SHT_crv) & 1295 result(SHT_rv) & 1296 bind(C, name="SIDRE_Group_create_view_scalar_bufferify_long") 1297 use iso_c_binding, only : C_CHAR, C_INT, C_LONG, C_PTR 1298 import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule 1299 implicit none 1300 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1301 character(kind=C_CHAR), intent(IN) :: path(*) 1302 integer(C_INT), value, intent(IN) :: Lpath 1303 integer(C_LONG), value, intent(IN) :: value 1304 type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv 1305 type(C_PTR) SHT_rv 1306 end function c_group_create_view_scalar_bufferify_long 1307 1308 function c_group_create_view_scalar_float(self, path, value, & 1309 SHT_crv) & 1310 result(SHT_rv) & 1311 bind(C, name="SIDRE_Group_create_view_scalar_float") 1312 use iso_c_binding, only : C_CHAR, C_FLOAT, C_PTR 1313 import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule 1314 implicit none 1315 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1316 character(kind=C_CHAR), intent(IN) :: path(*) 1317 real(C_FLOAT), value, intent(IN) :: value 1318 type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv 1319 type(C_PTR) SHT_rv 1320 end function c_group_create_view_scalar_float 1321 1322 function c_group_create_view_scalar_bufferify_float(self, path, & 1323 Lpath, value, SHT_crv) & 1324 result(SHT_rv) & 1325 bind(C, name="SIDRE_Group_create_view_scalar_bufferify_float") 1326 use iso_c_binding, only : C_CHAR, C_FLOAT, C_INT, C_PTR 1327 import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule 1328 implicit none 1329 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1330 character(kind=C_CHAR), intent(IN) :: path(*) 1331 integer(C_INT), value, intent(IN) :: Lpath 1332 real(C_FLOAT), value, intent(IN) :: value 1333 type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv 1334 type(C_PTR) SHT_rv 1335 end function c_group_create_view_scalar_bufferify_float 1336 1337 function c_group_create_view_scalar_double(self, path, value, & 1338 SHT_crv) & 1339 result(SHT_rv) & 1340 bind(C, name="SIDRE_Group_create_view_scalar_double") 1341 use iso_c_binding, only : C_CHAR, C_DOUBLE, C_PTR 1342 import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule 1343 implicit none 1344 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1345 character(kind=C_CHAR), intent(IN) :: path(*) 1346 real(C_DOUBLE), value, intent(IN) :: value 1347 type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv 1348 type(C_PTR) SHT_rv 1349 end function c_group_create_view_scalar_double 1350 1351 function c_group_create_view_scalar_bufferify_double(self, path, & 1352 Lpath, value, SHT_crv) & 1353 result(SHT_rv) & 1354 bind(C, name="SIDRE_Group_create_view_scalar_bufferify_double") 1355 use iso_c_binding, only : C_CHAR, C_DOUBLE, C_INT, C_PTR 1356 import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule 1357 implicit none 1358 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1359 character(kind=C_CHAR), intent(IN) :: path(*) 1360 integer(C_INT), value, intent(IN) :: Lpath 1361 real(C_DOUBLE), value, intent(IN) :: value 1362 type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv 1363 type(C_PTR) SHT_rv 1364 end function c_group_create_view_scalar_bufferify_double 1365 1366 function c_group_create_view_string(self, path, value, SHT_crv) & 1367 result(SHT_rv) & 1368 bind(C, name="SIDRE_Group_create_view_string") 1369 use iso_c_binding, only : C_CHAR, C_PTR 1370 import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule 1371 implicit none 1372 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1373 character(kind=C_CHAR), intent(IN) :: path(*) 1374 character(kind=C_CHAR), intent(IN) :: value(*) 1375 type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv 1376 type(C_PTR) SHT_rv 1377 end function c_group_create_view_string 1378 1379 function c_group_create_view_string_bufferify(self, path, Lpath, & 1380 value, Lvalue, SHT_crv) & 1381 result(SHT_rv) & 1382 bind(C, name="SIDRE_Group_create_view_string_bufferify") 1383 use iso_c_binding, only : C_CHAR, C_INT, C_PTR 1384 import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule 1385 implicit none 1386 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1387 character(kind=C_CHAR), intent(IN) :: path(*) 1388 integer(C_INT), value, intent(IN) :: Lpath 1389 character(kind=C_CHAR), intent(IN) :: value(*) 1390 integer(C_INT), value, intent(IN) :: Lvalue 1391 type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv 1392 type(C_PTR) SHT_rv 1393 end function c_group_create_view_string_bufferify 1394 1395 subroutine c_group_destroy_view(self, path) & 1396 bind(C, name="SIDRE_Group_destroy_view") 1397 use iso_c_binding, only : C_CHAR 1398 import :: SIDRE_SHROUD_group_capsule 1399 implicit none 1400 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1401 character(kind=C_CHAR), intent(IN) :: path(*) 1402 end subroutine c_group_destroy_view 1403 1404 subroutine c_group_destroy_view_bufferify(self, path, Lpath) & 1405 bind(C, name="SIDRE_Group_destroy_view_bufferify") 1406 use iso_c_binding, only : C_CHAR, C_INT 1407 import :: SIDRE_SHROUD_group_capsule 1408 implicit none 1409 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1410 character(kind=C_CHAR), intent(IN) :: path(*) 1411 integer(C_INT), value, intent(IN) :: Lpath 1412 end subroutine c_group_destroy_view_bufferify 1413 1414 subroutine c_group_destroy_view_and_data_name(self, path) & 1415 bind(C, name="SIDRE_Group_destroy_view_and_data_name") 1416 use iso_c_binding, only : C_CHAR 1417 import :: SIDRE_SHROUD_group_capsule 1418 implicit none 1419 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1420 character(kind=C_CHAR), intent(IN) :: path(*) 1421 end subroutine c_group_destroy_view_and_data_name 1422 1423 subroutine c_group_destroy_view_and_data_name_bufferify(self, & 1424 path, Lpath) & 1425 bind(C, name="SIDRE_Group_destroy_view_and_data_name_bufferify") 1426 use iso_c_binding, only : C_CHAR, C_INT 1427 import :: SIDRE_SHROUD_group_capsule 1428 implicit none 1429 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1430 character(kind=C_CHAR), intent(IN) :: path(*) 1431 integer(C_INT), value, intent(IN) :: Lpath 1432 end subroutine c_group_destroy_view_and_data_name_bufferify 1433 1434 subroutine c_group_destroy_view_and_data_index(self, idx) & 1435 bind(C, name="SIDRE_Group_destroy_view_and_data_index") 1436 use iso_c_binding, only : C_INT64_T 1437 import :: SIDRE_SHROUD_group_capsule 1438 implicit none 1439 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1440 integer(C_INT64_T), value, intent(IN) :: idx 1441 end subroutine c_group_destroy_view_and_data_index 1442 1443 function c_group_move_view(self, view, SHT_crv) & 1444 result(SHT_rv) & 1445 bind(C, name="SIDRE_Group_move_view") 1446 use iso_c_binding, only : C_PTR 1447 import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule 1448 implicit none 1449 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1450 type(SIDRE_SHROUD_view_capsule), intent(INOUT) :: view 1451 type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv 1452 type(C_PTR) SHT_rv 1453 end function c_group_move_view 1454 1455 function c_group_copy_view(self, view, SHT_crv) & 1456 result(SHT_rv) & 1457 bind(C, name="SIDRE_Group_copy_view") 1458 use iso_c_binding, only : C_PTR 1459 import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule 1460 implicit none 1461 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1462 type(SIDRE_SHROUD_view_capsule), intent(INOUT) :: view 1463 type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv 1464 type(C_PTR) SHT_rv 1465 end function c_group_copy_view 1466 1467 function c_group_has_group(self, path) & 1468 result(SHT_rv) & 1469 bind(C, name="SIDRE_Group_has_group") 1470 use iso_c_binding, only : C_BOOL, C_CHAR 1471 import :: SIDRE_SHROUD_group_capsule 1472 implicit none 1473 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1474 character(kind=C_CHAR), intent(IN) :: path(*) 1475 logical(C_BOOL) :: SHT_rv 1476 end function c_group_has_group 1477 1478 function c_group_has_group_bufferify(self, path, Lpath) & 1479 result(SHT_rv) & 1480 bind(C, name="SIDRE_Group_has_group_bufferify") 1481 use iso_c_binding, only : C_BOOL, C_CHAR, C_INT 1482 import :: SIDRE_SHROUD_group_capsule 1483 implicit none 1484 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1485 character(kind=C_CHAR), intent(IN) :: path(*) 1486 integer(C_INT), value, intent(IN) :: Lpath 1487 logical(C_BOOL) :: SHT_rv 1488 end function c_group_has_group_bufferify 1489 1490 function c_group_has_child_group(self, name) & 1491 result(SHT_rv) & 1492 bind(C, name="SIDRE_Group_has_child_group") 1493 use iso_c_binding, only : C_BOOL, C_CHAR 1494 import :: SIDRE_SHROUD_group_capsule 1495 implicit none 1496 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1497 character(kind=C_CHAR), intent(IN) :: name(*) 1498 logical(C_BOOL) :: SHT_rv 1499 end function c_group_has_child_group 1500 1501 function c_group_has_child_group_bufferify(self, name, Lname) & 1502 result(SHT_rv) & 1503 bind(C, name="SIDRE_Group_has_child_group_bufferify") 1504 use iso_c_binding, only : C_BOOL, C_CHAR, C_INT 1505 import :: SIDRE_SHROUD_group_capsule 1506 implicit none 1507 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1508 character(kind=C_CHAR), intent(IN) :: name(*) 1509 integer(C_INT), value, intent(IN) :: Lname 1510 logical(C_BOOL) :: SHT_rv 1511 end function c_group_has_child_group_bufferify 1512 1513 pure function c_group_get_group_index(self, name) & 1514 result(SHT_rv) & 1515 bind(C, name="SIDRE_Group_get_group_index") 1516 use iso_c_binding, only : C_CHAR, C_INT64_T 1517 import :: SIDRE_SHROUD_group_capsule 1518 implicit none 1519 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1520 character(kind=C_CHAR), intent(IN) :: name(*) 1521 integer(C_INT64_T) :: SHT_rv 1522 end function c_group_get_group_index 1523 1524 pure function c_group_get_group_index_bufferify(self, name, & 1525 Lname) & 1526 result(SHT_rv) & 1527 bind(C, name="SIDRE_Group_get_group_index_bufferify") 1528 use iso_c_binding, only : C_CHAR, C_INT, C_INT64_T 1529 import :: SIDRE_SHROUD_group_capsule 1530 implicit none 1531 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1532 character(kind=C_CHAR), intent(IN) :: name(*) 1533 integer(C_INT), value, intent(IN) :: Lname 1534 integer(C_INT64_T) :: SHT_rv 1535 end function c_group_get_group_index_bufferify 1536 1537 pure function c_group_get_group_name(self, idx) & 1538 result(SHT_rv) & 1539 bind(C, name="SIDRE_Group_get_group_name") 1540 use iso_c_binding, only : C_INT64_T, C_PTR 1541 import :: SIDRE_SHROUD_group_capsule 1542 implicit none 1543 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1544 integer(C_INT64_T), value, intent(IN) :: idx 1545 type(C_PTR) SHT_rv 1546 end function c_group_get_group_name 1547 1548 subroutine c_group_get_group_name_bufferify(self, idx, SHF_rv, & 1549 NSHF_rv) & 1550 bind(C, name="SIDRE_Group_get_group_name_bufferify") 1551 use iso_c_binding, only : C_CHAR, C_INT, C_INT64_T 1552 import :: SIDRE_SHROUD_group_capsule 1553 implicit none 1554 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1555 integer(C_INT64_T), value, intent(IN) :: idx 1556 character(kind=C_CHAR), intent(OUT) :: SHF_rv(*) 1557 integer(C_INT), value, intent(IN) :: NSHF_rv 1558 end subroutine c_group_get_group_name_bufferify 1559 1560 function c_group_get_group_from_name(self, path, SHT_crv) & 1561 result(SHT_rv) & 1562 bind(C, name="SIDRE_Group_get_group_from_name") 1563 use iso_c_binding, only : C_CHAR, C_PTR 1564 import :: SIDRE_SHROUD_group_capsule 1565 implicit none 1566 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1567 character(kind=C_CHAR), intent(IN) :: path(*) 1568 type(SIDRE_SHROUD_group_capsule), intent(OUT) :: SHT_crv 1569 type(C_PTR) SHT_rv 1570 end function c_group_get_group_from_name 1571 1572 function c_group_get_group_from_name_bufferify(self, path, & 1573 Lpath, SHT_crv) & 1574 result(SHT_rv) & 1575 bind(C, name="SIDRE_Group_get_group_from_name_bufferify") 1576 use iso_c_binding, only : C_CHAR, C_INT, C_PTR 1577 import :: SIDRE_SHROUD_group_capsule 1578 implicit none 1579 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1580 character(kind=C_CHAR), intent(IN) :: path(*) 1581 integer(C_INT), value, intent(IN) :: Lpath 1582 type(SIDRE_SHROUD_group_capsule), intent(OUT) :: SHT_crv 1583 type(C_PTR) SHT_rv 1584 end function c_group_get_group_from_name_bufferify 1585 1586 function c_group_get_group_from_index(self, idx, SHT_crv) & 1587 result(SHT_rv) & 1588 bind(C, name="SIDRE_Group_get_group_from_index") 1589 use iso_c_binding, only : C_INT64_T, C_PTR 1590 import :: SIDRE_SHROUD_group_capsule 1591 implicit none 1592 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1593 integer(C_INT64_T), value, intent(IN) :: idx 1594 type(SIDRE_SHROUD_group_capsule), intent(OUT) :: SHT_crv 1595 type(C_PTR) SHT_rv 1596 end function c_group_get_group_from_index 1597 1598 pure function c_group_get_first_valid_group_index(self) & 1599 result(SHT_rv) & 1600 bind(C, name="SIDRE_Group_get_first_valid_group_index") 1601 use iso_c_binding, only : C_INT64_T 1602 import :: SIDRE_SHROUD_group_capsule 1603 implicit none 1604 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1605 integer(C_INT64_T) :: SHT_rv 1606 end function c_group_get_first_valid_group_index 1607 1608 pure function c_group_get_next_valid_group_index(self, idx) & 1609 result(SHT_rv) & 1610 bind(C, name="SIDRE_Group_get_next_valid_group_index") 1611 use iso_c_binding, only : C_INT64_T 1612 import :: SIDRE_SHROUD_group_capsule 1613 implicit none 1614 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1615 integer(C_INT64_T), value, intent(IN) :: idx 1616 integer(C_INT64_T) :: SHT_rv 1617 end function c_group_get_next_valid_group_index 1618 1619 function c_group_create_group(self, path, SHT_crv) & 1620 result(SHT_rv) & 1621 bind(C, name="SIDRE_Group_create_group") 1622 use iso_c_binding, only : C_CHAR, C_PTR 1623 import :: SIDRE_SHROUD_group_capsule 1624 implicit none 1625 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1626 character(kind=C_CHAR), intent(IN) :: path(*) 1627 type(SIDRE_SHROUD_group_capsule), intent(OUT) :: SHT_crv 1628 type(C_PTR) SHT_rv 1629 end function c_group_create_group 1630 1631 function c_group_create_group_bufferify(self, path, Lpath, & 1632 SHT_crv) & 1633 result(SHT_rv) & 1634 bind(C, name="SIDRE_Group_create_group_bufferify") 1635 use iso_c_binding, only : C_CHAR, C_INT, C_PTR 1636 import :: SIDRE_SHROUD_group_capsule 1637 implicit none 1638 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1639 character(kind=C_CHAR), intent(IN) :: path(*) 1640 integer(C_INT), value, intent(IN) :: Lpath 1641 type(SIDRE_SHROUD_group_capsule), intent(OUT) :: SHT_crv 1642 type(C_PTR) SHT_rv 1643 end function c_group_create_group_bufferify 1644 1645 subroutine c_group_destroy_group_name(self, path) & 1646 bind(C, name="SIDRE_Group_destroy_group_name") 1647 use iso_c_binding, only : C_CHAR 1648 import :: SIDRE_SHROUD_group_capsule 1649 implicit none 1650 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1651 character(kind=C_CHAR), intent(IN) :: path(*) 1652 end subroutine c_group_destroy_group_name 1653 1654 subroutine c_group_destroy_group_name_bufferify(self, path, & 1655 Lpath) & 1656 bind(C, name="SIDRE_Group_destroy_group_name_bufferify") 1657 use iso_c_binding, only : C_CHAR, C_INT 1658 import :: SIDRE_SHROUD_group_capsule 1659 implicit none 1660 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1661 character(kind=C_CHAR), intent(IN) :: path(*) 1662 integer(C_INT), value, intent(IN) :: Lpath 1663 end subroutine c_group_destroy_group_name_bufferify 1664 1665 subroutine c_group_destroy_group_index(self, idx) & 1666 bind(C, name="SIDRE_Group_destroy_group_index") 1667 use iso_c_binding, only : C_INT64_T 1668 import :: SIDRE_SHROUD_group_capsule 1669 implicit none 1670 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1671 integer(C_INT64_T), value, intent(IN) :: idx 1672 end subroutine c_group_destroy_group_index 1673 1674 function c_group_move_group(self, grp, SHT_crv) & 1675 result(SHT_rv) & 1676 bind(C, name="SIDRE_Group_move_group") 1677 use iso_c_binding, only : C_PTR 1678 import :: SIDRE_SHROUD_group_capsule 1679 implicit none 1680 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1681 type(SIDRE_SHROUD_group_capsule), intent(INOUT) :: grp 1682 type(SIDRE_SHROUD_group_capsule), intent(OUT) :: SHT_crv 1683 type(C_PTR) SHT_rv 1684 end function c_group_move_group 1685 1686 subroutine c_group_print(self) & 1687 bind(C, name="SIDRE_Group_print") 1688 import :: SIDRE_SHROUD_group_capsule 1689 implicit none 1690 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1691 end subroutine c_group_print 1692 1693 pure function c_group_is_equivalent_to(self, other) & 1694 result(SHT_rv) & 1695 bind(C, name="SIDRE_Group_is_equivalent_to") 1696 use iso_c_binding, only : C_BOOL 1697 import :: SIDRE_SHROUD_group_capsule 1698 implicit none 1699 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1700 type(SIDRE_SHROUD_group_capsule), intent(IN) :: other 1701 logical(C_BOOL) :: SHT_rv 1702 end function c_group_is_equivalent_to 1703 1704 subroutine c_group_save(self, file_path, protocol) & 1705 bind(C, name="SIDRE_Group_save") 1706 use iso_c_binding, only : C_CHAR 1707 import :: SIDRE_SHROUD_group_capsule 1708 implicit none 1709 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1710 character(kind=C_CHAR), intent(IN) :: file_path(*) 1711 character(kind=C_CHAR), intent(IN) :: protocol(*) 1712 end subroutine c_group_save 1713 1714 subroutine c_group_save_bufferify(self, file_path, Lfile_path, & 1715 protocol, Lprotocol) & 1716 bind(C, name="SIDRE_Group_save_bufferify") 1717 use iso_c_binding, only : C_CHAR, C_INT 1718 import :: SIDRE_SHROUD_group_capsule 1719 implicit none 1720 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1721 character(kind=C_CHAR), intent(IN) :: file_path(*) 1722 integer(C_INT), value, intent(IN) :: Lfile_path 1723 character(kind=C_CHAR), intent(IN) :: protocol(*) 1724 integer(C_INT), value, intent(IN) :: Lprotocol 1725 end subroutine c_group_save_bufferify 1726 1727 subroutine c_group_load_0(self, file_path, protocol) & 1728 bind(C, name="SIDRE_Group_load_0") 1729 use iso_c_binding, only : C_CHAR 1730 import :: SIDRE_SHROUD_group_capsule 1731 implicit none 1732 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1733 character(kind=C_CHAR), intent(IN) :: file_path(*) 1734 character(kind=C_CHAR), intent(IN) :: protocol(*) 1735 end subroutine c_group_load_0 1736 1737 subroutine c_group_load_0_bufferify(self, file_path, Lfile_path, & 1738 protocol, Lprotocol) & 1739 bind(C, name="SIDRE_Group_load_0_bufferify") 1740 use iso_c_binding, only : C_CHAR, C_INT 1741 import :: SIDRE_SHROUD_group_capsule 1742 implicit none 1743 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1744 character(kind=C_CHAR), intent(IN) :: file_path(*) 1745 integer(C_INT), value, intent(IN) :: Lfile_path 1746 character(kind=C_CHAR), intent(IN) :: protocol(*) 1747 integer(C_INT), value, intent(IN) :: Lprotocol 1748 end subroutine c_group_load_0_bufferify 1749 1750 subroutine c_group_load_1(self, file_path, protocol, & 1751 preserve_contents) & 1752 bind(C, name="SIDRE_Group_load_1") 1753 use iso_c_binding, only : C_BOOL, C_CHAR 1754 import :: SIDRE_SHROUD_group_capsule 1755 implicit none 1756 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1757 character(kind=C_CHAR), intent(IN) :: file_path(*) 1758 character(kind=C_CHAR), intent(IN) :: protocol(*) 1759 logical(C_BOOL), value, intent(IN) :: preserve_contents 1760 end subroutine c_group_load_1 1761 1762 subroutine c_group_load_1_bufferify(self, file_path, Lfile_path, & 1763 protocol, Lprotocol, preserve_contents) & 1764 bind(C, name="SIDRE_Group_load_1_bufferify") 1765 use iso_c_binding, only : C_BOOL, C_CHAR, C_INT 1766 import :: SIDRE_SHROUD_group_capsule 1767 implicit none 1768 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1769 character(kind=C_CHAR), intent(IN) :: file_path(*) 1770 integer(C_INT), value, intent(IN) :: Lfile_path 1771 character(kind=C_CHAR), intent(IN) :: protocol(*) 1772 integer(C_INT), value, intent(IN) :: Lprotocol 1773 logical(C_BOOL), value, intent(IN) :: preserve_contents 1774 end subroutine c_group_load_1_bufferify 1775 1776 subroutine c_group_load_external_data(self, file_path) & 1777 bind(C, name="SIDRE_Group_load_external_data") 1778 use iso_c_binding, only : C_CHAR 1779 import :: SIDRE_SHROUD_group_capsule 1780 implicit none 1781 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1782 character(kind=C_CHAR), intent(IN) :: file_path(*) 1783 end subroutine c_group_load_external_data 1784 1785 subroutine c_group_load_external_data_bufferify(self, file_path, & 1786 Lfile_path) & 1787 bind(C, name="SIDRE_Group_load_external_data_bufferify") 1788 use iso_c_binding, only : C_CHAR, C_INT 1789 import :: SIDRE_SHROUD_group_capsule 1790 implicit none 1791 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1792 character(kind=C_CHAR), intent(IN) :: file_path(*) 1793 integer(C_INT), value, intent(IN) :: Lfile_path 1794 end subroutine c_group_load_external_data_bufferify 1795 1796 function c_group_rename(self, new_name) & 1797 result(SHT_rv) & 1798 bind(C, name="SIDRE_Group_rename") 1799 use iso_c_binding, only : C_BOOL, C_CHAR 1800 import :: SIDRE_SHROUD_group_capsule 1801 implicit none 1802 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1803 character(kind=C_CHAR), intent(IN) :: new_name(*) 1804 logical(C_BOOL) :: SHT_rv 1805 end function c_group_rename 1806 1807 function c_group_rename_bufferify(self, new_name, Lnew_name) & 1808 result(SHT_rv) & 1809 bind(C, name="SIDRE_Group_rename_bufferify") 1810 use iso_c_binding, only : C_BOOL, C_CHAR, C_INT 1811 import :: SIDRE_SHROUD_group_capsule 1812 implicit none 1813 type(SIDRE_SHROUD_group_capsule), intent(IN) :: self 1814 character(kind=C_CHAR), intent(IN) :: new_name(*) 1815 integer(C_INT), value, intent(IN) :: Lnew_name 1816 logical(C_BOOL) :: SHT_rv 1817 end function c_group_rename_bufferify 1818 1819 ! splicer begin class.Group.additional_interfaces 1820 ! splicer end class.Group.additional_interfaces 1821 1822 function c_view_get_index(self) & 1823 result(SHT_rv) & 1824 bind(C, name="SIDRE_View_get_index") 1825 use iso_c_binding, only : C_INT64_T 1826 import :: SIDRE_SHROUD_view_capsule 1827 implicit none 1828 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 1829 integer(C_INT64_T) :: SHT_rv 1830 end function c_view_get_index 1831 1832 pure function c_view_get_name(self) & 1833 result(SHT_rv) & 1834 bind(C, name="SIDRE_View_get_name") 1835 use iso_c_binding, only : C_PTR 1836 import :: SIDRE_SHROUD_view_capsule 1837 implicit none 1838 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 1839 type(C_PTR) SHT_rv 1840 end function c_view_get_name 1841 1842 subroutine c_view_get_name_bufferify(self, SHF_rv, NSHF_rv) & 1843 bind(C, name="SIDRE_View_get_name_bufferify") 1844 use iso_c_binding, only : C_CHAR, C_INT 1845 import :: SIDRE_SHROUD_view_capsule 1846 implicit none 1847 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 1848 character(kind=C_CHAR), intent(OUT) :: SHF_rv(*) 1849 integer(C_INT), value, intent(IN) :: NSHF_rv 1850 end subroutine c_view_get_name_bufferify 1851 1852 subroutine c_view_get_path_bufferify(self, SHF_rv, NSHF_rv) & 1853 bind(C, name="SIDRE_View_get_path_bufferify") 1854 use iso_c_binding, only : C_CHAR, C_INT 1855 import :: SIDRE_SHROUD_view_capsule 1856 implicit none 1857 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 1858 character(kind=C_CHAR), intent(OUT) :: SHF_rv(*) 1859 integer(C_INT), value, intent(IN) :: NSHF_rv 1860 end subroutine c_view_get_path_bufferify 1861 1862 subroutine c_view_get_path_name_bufferify(self, SHF_rv, NSHF_rv) & 1863 bind(C, name="SIDRE_View_get_path_name_bufferify") 1864 use iso_c_binding, only : C_CHAR, C_INT 1865 import :: SIDRE_SHROUD_view_capsule 1866 implicit none 1867 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 1868 character(kind=C_CHAR), intent(OUT) :: SHF_rv(*) 1869 integer(C_INT), value, intent(IN) :: NSHF_rv 1870 end subroutine c_view_get_path_name_bufferify 1871 1872 function c_view_get_owning_group(self, SHT_crv) & 1873 result(SHT_rv) & 1874 bind(C, name="SIDRE_View_get_owning_group") 1875 use iso_c_binding, only : C_PTR 1876 import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule 1877 implicit none 1878 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 1879 type(SIDRE_SHROUD_group_capsule), intent(OUT) :: SHT_crv 1880 type(C_PTR) SHT_rv 1881 end function c_view_get_owning_group 1882 1883 pure function c_view_has_buffer(self) & 1884 result(SHT_rv) & 1885 bind(C, name="SIDRE_View_has_buffer") 1886 use iso_c_binding, only : C_BOOL 1887 import :: SIDRE_SHROUD_view_capsule 1888 implicit none 1889 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 1890 logical(C_BOOL) :: SHT_rv 1891 end function c_view_has_buffer 1892 1893 function c_view_get_buffer(self, SHT_crv) & 1894 result(SHT_rv) & 1895 bind(C, name="SIDRE_View_get_buffer") 1896 use iso_c_binding, only : C_PTR 1897 import :: SIDRE_SHROUD_buffer_capsule, SIDRE_SHROUD_view_capsule 1898 implicit none 1899 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 1900 type(SIDRE_SHROUD_buffer_capsule), intent(OUT) :: SHT_crv 1901 type(C_PTR) SHT_rv 1902 end function c_view_get_buffer 1903 1904 pure function c_view_is_external(self) & 1905 result(SHT_rv) & 1906 bind(C, name="SIDRE_View_is_external") 1907 use iso_c_binding, only : C_BOOL 1908 import :: SIDRE_SHROUD_view_capsule 1909 implicit none 1910 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 1911 logical(C_BOOL) :: SHT_rv 1912 end function c_view_is_external 1913 1914 function c_view_is_allocated(self) & 1915 result(SHT_rv) & 1916 bind(C, name="SIDRE_View_is_allocated") 1917 use iso_c_binding, only : C_BOOL 1918 import :: SIDRE_SHROUD_view_capsule 1919 implicit none 1920 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 1921 logical(C_BOOL) :: SHT_rv 1922 end function c_view_is_allocated 1923 1924 pure function c_view_is_applied(self) & 1925 result(SHT_rv) & 1926 bind(C, name="SIDRE_View_is_applied") 1927 use iso_c_binding, only : C_BOOL 1928 import :: SIDRE_SHROUD_view_capsule 1929 implicit none 1930 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 1931 logical(C_BOOL) :: SHT_rv 1932 end function c_view_is_applied 1933 1934 pure function c_view_is_described(self) & 1935 result(SHT_rv) & 1936 bind(C, name="SIDRE_View_is_described") 1937 use iso_c_binding, only : C_BOOL 1938 import :: SIDRE_SHROUD_view_capsule 1939 implicit none 1940 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 1941 logical(C_BOOL) :: SHT_rv 1942 end function c_view_is_described 1943 1944 pure function c_view_is_empty(self) & 1945 result(SHT_rv) & 1946 bind(C, name="SIDRE_View_is_empty") 1947 use iso_c_binding, only : C_BOOL 1948 import :: SIDRE_SHROUD_view_capsule 1949 implicit none 1950 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 1951 logical(C_BOOL) :: SHT_rv 1952 end function c_view_is_empty 1953 1954 pure function c_view_is_opaque(self) & 1955 result(SHT_rv) & 1956 bind(C, name="SIDRE_View_is_opaque") 1957 use iso_c_binding, only : C_BOOL 1958 import :: SIDRE_SHROUD_view_capsule 1959 implicit none 1960 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 1961 logical(C_BOOL) :: SHT_rv 1962 end function c_view_is_opaque 1963 1964 pure function c_view_is_scalar(self) & 1965 result(SHT_rv) & 1966 bind(C, name="SIDRE_View_is_scalar") 1967 use iso_c_binding, only : C_BOOL 1968 import :: SIDRE_SHROUD_view_capsule 1969 implicit none 1970 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 1971 logical(C_BOOL) :: SHT_rv 1972 end function c_view_is_scalar 1973 1974 pure function c_view_is_string(self) & 1975 result(SHT_rv) & 1976 bind(C, name="SIDRE_View_is_string") 1977 use iso_c_binding, only : C_BOOL 1978 import :: SIDRE_SHROUD_view_capsule 1979 implicit none 1980 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 1981 logical(C_BOOL) :: SHT_rv 1982 end function c_view_is_string 1983 1984 pure function c_view_get_type_id(self) & 1985 result(SHT_rv) & 1986 bind(C, name="SIDRE_View_get_type_id") 1987 use iso_c_binding, only : C_INT 1988 import :: SIDRE_SHROUD_view_capsule 1989 implicit none 1990 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 1991 integer(C_INT) :: SHT_rv 1992 end function c_view_get_type_id 1993 1994 pure function c_view_get_total_bytes(self) & 1995 result(SHT_rv) & 1996 bind(C, name="SIDRE_View_get_total_bytes") 1997 use iso_c_binding, only : C_SIZE_T 1998 import :: SIDRE_SHROUD_view_capsule 1999 implicit none 2000 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 2001 integer(C_SIZE_T) :: SHT_rv 2002 end function c_view_get_total_bytes 2003 2004 pure function c_view_get_num_elements(self) & 2005 result(SHT_rv) & 2006 bind(C, name="SIDRE_View_get_num_elements") 2007 use iso_c_binding, only : C_SIZE_T 2008 import :: SIDRE_SHROUD_view_capsule 2009 implicit none 2010 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 2011 integer(C_SIZE_T) :: SHT_rv 2012 end function c_view_get_num_elements 2013 2014 pure function c_view_get_bytes_per_element(self) & 2015 result(SHT_rv) & 2016 bind(C, name="SIDRE_View_get_bytes_per_element") 2017 use iso_c_binding, only : C_SIZE_T 2018 import :: SIDRE_SHROUD_view_capsule 2019 implicit none 2020 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 2021 integer(C_SIZE_T) :: SHT_rv 2022 end function c_view_get_bytes_per_element 2023 2024 pure function c_view_get_offset(self) & 2025 result(SHT_rv) & 2026 bind(C, name="SIDRE_View_get_offset") 2027 use iso_c_binding, only : C_SIZE_T 2028 import :: SIDRE_SHROUD_view_capsule 2029 implicit none 2030 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 2031 integer(C_SIZE_T) :: SHT_rv 2032 end function c_view_get_offset 2033 2034 pure function c_view_get_stride(self) & 2035 result(SHT_rv) & 2036 bind(C, name="SIDRE_View_get_stride") 2037 use iso_c_binding, only : C_SIZE_T 2038 import :: SIDRE_SHROUD_view_capsule 2039 implicit none 2040 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 2041 integer(C_SIZE_T) :: SHT_rv 2042 end function c_view_get_stride 2043 2044 pure function c_view_get_num_dimensions(self) & 2045 result(SHT_rv) & 2046 bind(C, name="SIDRE_View_get_num_dimensions") 2047 use iso_c_binding, only : C_INT 2048 import :: SIDRE_SHROUD_view_capsule 2049 implicit none 2050 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 2051 integer(C_INT) :: SHT_rv 2052 end function c_view_get_num_dimensions 2053 2054 function c_view_get_shape(self, ndims, shape) & 2055 result(SHT_rv) & 2056 bind(C, name="SIDRE_View_get_shape") 2057 use iso_c_binding, only : C_INT, C_INT64_T 2058 import :: SIDRE_SHROUD_view_capsule 2059 implicit none 2060 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 2061 integer(C_INT), value, intent(IN) :: ndims 2062 integer(C_INT64_T), intent(OUT) :: shape(*) 2063 integer(C_INT) :: SHT_rv 2064 end function c_view_get_shape 2065 2066 subroutine c_view_allocate_simple(self) & 2067 bind(C, name="SIDRE_View_allocate_simple") 2068 import :: SIDRE_SHROUD_view_capsule 2069 implicit none 2070 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 2071 end subroutine c_view_allocate_simple 2072 2073 subroutine c_view_allocate_from_type(self, type, num_elems) & 2074 bind(C, name="SIDRE_View_allocate_from_type") 2075 use iso_c_binding, only : C_INT, C_INT64_T 2076 import :: SIDRE_SHROUD_view_capsule 2077 implicit none 2078 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 2079 integer(C_INT), value, intent(IN) :: type 2080 integer(C_INT64_T), value, intent(IN) :: num_elems 2081 end subroutine c_view_allocate_from_type 2082 2083 subroutine c_view_reallocate(self, num_elems) & 2084 bind(C, name="SIDRE_View_reallocate") 2085 use iso_c_binding, only : C_INT64_T 2086 import :: SIDRE_SHROUD_view_capsule 2087 implicit none 2088 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 2089 integer(C_INT64_T), value, intent(IN) :: num_elems 2090 end subroutine c_view_reallocate 2091 2092 subroutine c_view_attach_buffer_only(self, buff) & 2093 bind(C, name="SIDRE_View_attach_buffer_only") 2094 import :: SIDRE_SHROUD_buffer_capsule, SIDRE_SHROUD_view_capsule 2095 implicit none 2096 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 2097 type(SIDRE_SHROUD_buffer_capsule), intent(INOUT) :: buff 2098 end subroutine c_view_attach_buffer_only 2099 2100 subroutine c_view_attach_buffer_type(self, type, num_elems, & 2101 buff) & 2102 bind(C, name="SIDRE_View_attach_buffer_type") 2103 use iso_c_binding, only : C_INT, C_INT64_T 2104 import :: SIDRE_SHROUD_buffer_capsule, SIDRE_SHROUD_view_capsule 2105 implicit none 2106 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 2107 integer(C_INT), value, intent(IN) :: type 2108 integer(C_INT64_T), value, intent(IN) :: num_elems 2109 type(SIDRE_SHROUD_buffer_capsule), intent(INOUT) :: buff 2110 end subroutine c_view_attach_buffer_type 2111 2112 subroutine c_view_attach_buffer_shape(self, type, ndims, shape, & 2113 buff) & 2114 bind(C, name="SIDRE_View_attach_buffer_shape") 2115 use iso_c_binding, only : C_INT, C_INT64_T 2116 import :: SIDRE_SHROUD_buffer_capsule, SIDRE_SHROUD_view_capsule 2117 implicit none 2118 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 2119 integer(C_INT), value, intent(IN) :: type 2120 integer(C_INT), value, intent(IN) :: ndims 2121 integer(C_INT64_T), intent(IN) :: shape(*) 2122 type(SIDRE_SHROUD_buffer_capsule), intent(INOUT) :: buff 2123 end subroutine c_view_attach_buffer_shape 2124 2125 subroutine c_view_clear(self) & 2126 bind(C, name="SIDRE_View_clear") 2127 import :: SIDRE_SHROUD_view_capsule 2128 implicit none 2129 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 2130 end subroutine c_view_clear 2131 2132 subroutine c_view_apply_0(self) & 2133 bind(C, name="SIDRE_View_apply_0") 2134 import :: SIDRE_SHROUD_view_capsule 2135 implicit none 2136 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 2137 end subroutine c_view_apply_0 2138 2139 subroutine c_view_apply_nelems(self, num_elems) & 2140 bind(C, name="SIDRE_View_apply_nelems") 2141 use iso_c_binding, only : C_INT64_T 2142 import :: SIDRE_SHROUD_view_capsule 2143 implicit none 2144 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 2145 integer(C_INT64_T), value, intent(IN) :: num_elems 2146 end subroutine c_view_apply_nelems 2147 2148 subroutine c_view_apply_nelems_offset(self, num_elems, offset) & 2149 bind(C, name="SIDRE_View_apply_nelems_offset") 2150 use iso_c_binding, only : C_INT64_T 2151 import :: SIDRE_SHROUD_view_capsule 2152 implicit none 2153 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 2154 integer(C_INT64_T), value, intent(IN) :: num_elems 2155 integer(C_INT64_T), value, intent(IN) :: offset 2156 end subroutine c_view_apply_nelems_offset 2157 2158 subroutine c_view_apply_nelems_offset_stride(self, num_elems, & 2159 offset, stride) & 2160 bind(C, name="SIDRE_View_apply_nelems_offset_stride") 2161 use iso_c_binding, only : C_INT64_T 2162 import :: SIDRE_SHROUD_view_capsule 2163 implicit none 2164 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 2165 integer(C_INT64_T), value, intent(IN) :: num_elems 2166 integer(C_INT64_T), value, intent(IN) :: offset 2167 integer(C_INT64_T), value, intent(IN) :: stride 2168 end subroutine c_view_apply_nelems_offset_stride 2169 2170 subroutine c_view_apply_type_nelems(self, type, num_elems) & 2171 bind(C, name="SIDRE_View_apply_type_nelems") 2172 use iso_c_binding, only : C_INT, C_INT64_T 2173 import :: SIDRE_SHROUD_view_capsule 2174 implicit none 2175 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 2176 integer(C_INT), value, intent(IN) :: type 2177 integer(C_INT64_T), value, intent(IN) :: num_elems 2178 end subroutine c_view_apply_type_nelems 2179 2180 subroutine c_view_apply_type_nelems_offset(self, type, & 2181 num_elems, offset) & 2182 bind(C, name="SIDRE_View_apply_type_nelems_offset") 2183 use iso_c_binding, only : C_INT, C_INT64_T 2184 import :: SIDRE_SHROUD_view_capsule 2185 implicit none 2186 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 2187 integer(C_INT), value, intent(IN) :: type 2188 integer(C_INT64_T), value, intent(IN) :: num_elems 2189 integer(C_INT64_T), value, intent(IN) :: offset 2190 end subroutine c_view_apply_type_nelems_offset 2191 2192 subroutine c_view_apply_type_nelems_offset_stride(self, type, & 2193 num_elems, offset, stride) & 2194 bind(C, name="SIDRE_View_apply_type_nelems_offset_stride") 2195 use iso_c_binding, only : C_INT, C_INT64_T 2196 import :: SIDRE_SHROUD_view_capsule 2197 implicit none 2198 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 2199 integer(C_INT), value, intent(IN) :: type 2200 integer(C_INT64_T), value, intent(IN) :: num_elems 2201 integer(C_INT64_T), value, intent(IN) :: offset 2202 integer(C_INT64_T), value, intent(IN) :: stride 2203 end subroutine c_view_apply_type_nelems_offset_stride 2204 2205 subroutine c_view_apply_type_shape(self, type, ndims, shape) & 2206 bind(C, name="SIDRE_View_apply_type_shape") 2207 use iso_c_binding, only : C_INT, C_INT64_T 2208 import :: SIDRE_SHROUD_view_capsule 2209 implicit none 2210 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 2211 integer(C_INT), value, intent(IN) :: type 2212 integer(C_INT), value, intent(IN) :: ndims 2213 integer(C_INT64_T), intent(IN) :: shape(*) 2214 end subroutine c_view_apply_type_shape 2215 2216 subroutine c_view_set_scalar_int(self, value) & 2217 bind(C, name="SIDRE_View_set_scalar_int") 2218 use iso_c_binding, only : C_INT 2219 import :: SIDRE_SHROUD_view_capsule 2220 implicit none 2221 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 2222 integer(C_INT), value, intent(IN) :: value 2223 end subroutine c_view_set_scalar_int 2224 2225 subroutine c_view_set_scalar_long(self, value) & 2226 bind(C, name="SIDRE_View_set_scalar_long") 2227 use iso_c_binding, only : C_LONG 2228 import :: SIDRE_SHROUD_view_capsule 2229 implicit none 2230 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 2231 integer(C_LONG), value, intent(IN) :: value 2232 end subroutine c_view_set_scalar_long 2233 2234 subroutine c_view_set_scalar_float(self, value) & 2235 bind(C, name="SIDRE_View_set_scalar_float") 2236 use iso_c_binding, only : C_FLOAT 2237 import :: SIDRE_SHROUD_view_capsule 2238 implicit none 2239 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 2240 real(C_FLOAT), value, intent(IN) :: value 2241 end subroutine c_view_set_scalar_float 2242 2243 subroutine c_view_set_scalar_double(self, value) & 2244 bind(C, name="SIDRE_View_set_scalar_double") 2245 use iso_c_binding, only : C_DOUBLE 2246 import :: SIDRE_SHROUD_view_capsule 2247 implicit none 2248 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 2249 real(C_DOUBLE), value, intent(IN) :: value 2250 end subroutine c_view_set_scalar_double 2251 2252 subroutine c_view_set_string(self, value) & 2253 bind(C, name="SIDRE_View_set_string") 2254 use iso_c_binding, only : C_CHAR 2255 import :: SIDRE_SHROUD_view_capsule 2256 implicit none 2257 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 2258 character(kind=C_CHAR), intent(IN) :: value(*) 2259 end subroutine c_view_set_string 2260 2261 subroutine c_view_set_string_bufferify(self, value, Lvalue) & 2262 bind(C, name="SIDRE_View_set_string_bufferify") 2263 use iso_c_binding, only : C_CHAR, C_INT 2264 import :: SIDRE_SHROUD_view_capsule 2265 implicit none 2266 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 2267 character(kind=C_CHAR), intent(IN) :: value(*) 2268 integer(C_INT), value, intent(IN) :: Lvalue 2269 end subroutine c_view_set_string_bufferify 2270 2271 subroutine c_view_set_external_data_ptr_only(self, external_ptr) & 2272 bind(C, name="SIDRE_View_set_external_data_ptr_only") 2273 use iso_c_binding, only : C_PTR 2274 import :: SIDRE_SHROUD_view_capsule 2275 implicit none 2276 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 2277 type(C_PTR), value, intent(IN) :: external_ptr 2278 end subroutine c_view_set_external_data_ptr_only 2279 2280 subroutine c_view_set_external_data_ptr_type(self, type, & 2281 num_elems, external_ptr) & 2282 bind(C, name="SIDRE_View_set_external_data_ptr_type") 2283 use iso_c_binding, only : C_INT, C_INT64_T, C_PTR 2284 import :: SIDRE_SHROUD_view_capsule 2285 implicit none 2286 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 2287 integer(C_INT), value, intent(IN) :: type 2288 integer(C_INT64_T), value, intent(IN) :: num_elems 2289 type(C_PTR), value, intent(IN) :: external_ptr 2290 end subroutine c_view_set_external_data_ptr_type 2291 2292 subroutine c_view_set_external_data_ptr_shape(self, type, ndims, & 2293 shape, external_ptr) & 2294 bind(C, name="SIDRE_View_set_external_data_ptr_shape") 2295 use iso_c_binding, only : C_INT, C_INT64_T, C_PTR 2296 import :: SIDRE_SHROUD_view_capsule 2297 implicit none 2298 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 2299 integer(C_INT), value, intent(IN) :: type 2300 integer(C_INT), value, intent(IN) :: ndims 2301 integer(C_INT64_T), intent(IN) :: shape(*) 2302 type(C_PTR), value, intent(IN) :: external_ptr 2303 end subroutine c_view_set_external_data_ptr_shape 2304 2305 function c_view_get_string(self) & 2306 result(SHT_rv) & 2307 bind(C, name="SIDRE_View_get_string") 2308 use iso_c_binding, only : C_PTR 2309 import :: SIDRE_SHROUD_view_capsule 2310 implicit none 2311 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 2312 type(C_PTR) SHT_rv 2313 end function c_view_get_string 2314 2315 subroutine c_view_get_string_bufferify(self, name, Nname) & 2316 bind(C, name="SIDRE_View_get_string_bufferify") 2317 use iso_c_binding, only : C_CHAR, C_INT 2318 import :: SIDRE_SHROUD_view_capsule 2319 implicit none 2320 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 2321 character(kind=C_CHAR), intent(OUT) :: name(*) 2322 integer(C_INT), value, intent(IN) :: Nname 2323 end subroutine c_view_get_string_bufferify 2324 2325 function c_view_get_data_int(self) & 2326 result(SHT_rv) & 2327 bind(C, name="SIDRE_View_get_data_int") 2328 use iso_c_binding, only : C_INT 2329 import :: SIDRE_SHROUD_view_capsule 2330 implicit none 2331 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 2332 integer(C_INT) :: SHT_rv 2333 end function c_view_get_data_int 2334 2335 function c_view_get_data_long(self) & 2336 result(SHT_rv) & 2337 bind(C, name="SIDRE_View_get_data_long") 2338 use iso_c_binding, only : C_LONG 2339 import :: SIDRE_SHROUD_view_capsule 2340 implicit none 2341 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 2342 integer(C_LONG) :: SHT_rv 2343 end function c_view_get_data_long 2344 2345 function c_view_get_data_float(self) & 2346 result(SHT_rv) & 2347 bind(C, name="SIDRE_View_get_data_float") 2348 use iso_c_binding, only : C_FLOAT 2349 import :: SIDRE_SHROUD_view_capsule 2350 implicit none 2351 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 2352 real(C_FLOAT) :: SHT_rv 2353 end function c_view_get_data_float 2354 2355 function c_view_get_data_double(self) & 2356 result(SHT_rv) & 2357 bind(C, name="SIDRE_View_get_data_double") 2358 use iso_c_binding, only : C_DOUBLE 2359 import :: SIDRE_SHROUD_view_capsule 2360 implicit none 2361 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 2362 real(C_DOUBLE) :: SHT_rv 2363 end function c_view_get_data_double 2364 2365 pure function c_view_get_void_ptr(self) & 2366 result(SHT_rv) & 2367 bind(C, name="SIDRE_View_get_void_ptr") 2368 use iso_c_binding, only : C_PTR 2369 import :: SIDRE_SHROUD_view_capsule 2370 implicit none 2371 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 2372 type(C_PTR) :: SHT_rv 2373 end function c_view_get_void_ptr 2374 2375 subroutine c_view_print(self) & 2376 bind(C, name="SIDRE_View_print") 2377 import :: SIDRE_SHROUD_view_capsule 2378 implicit none 2379 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 2380 end subroutine c_view_print 2381 2382 function c_view_rename(self, new_name) & 2383 result(SHT_rv) & 2384 bind(C, name="SIDRE_View_rename") 2385 use iso_c_binding, only : C_BOOL, C_CHAR 2386 import :: SIDRE_SHROUD_view_capsule 2387 implicit none 2388 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 2389 character(kind=C_CHAR), intent(IN) :: new_name(*) 2390 logical(C_BOOL) :: SHT_rv 2391 end function c_view_rename 2392 2393 function c_view_rename_bufferify(self, new_name, Lnew_name) & 2394 result(SHT_rv) & 2395 bind(C, name="SIDRE_View_rename_bufferify") 2396 use iso_c_binding, only : C_BOOL, C_CHAR, C_INT 2397 import :: SIDRE_SHROUD_view_capsule 2398 implicit none 2399 type(SIDRE_SHROUD_view_capsule), intent(IN) :: self 2400 character(kind=C_CHAR), intent(IN) :: new_name(*) 2401 integer(C_INT), value, intent(IN) :: Lnew_name 2402 logical(C_BOOL) :: SHT_rv 2403 end function c_view_rename_bufferify 2404 2405 ! splicer begin class.View.additional_interfaces 2406 ! splicer end class.View.additional_interfaces 2407 2408 function c_datastore_new(SHT_crv) & 2409 result(SHT_rv) & 2410 bind(C, name="SIDRE_DataStore_new") 2411 use iso_c_binding, only : C_PTR 2412 import :: SIDRE_SHROUD_datastore_capsule 2413 implicit none 2414 type(SIDRE_SHROUD_datastore_capsule), intent(OUT) :: SHT_crv 2415 type(C_PTR) SHT_rv 2416 end function c_datastore_new 2417 2418 subroutine c_datastore_delete(self) & 2419 bind(C, name="SIDRE_DataStore_delete") 2420 import :: SIDRE_SHROUD_datastore_capsule 2421 implicit none 2422 type(SIDRE_SHROUD_datastore_capsule), intent(IN) :: self 2423 end subroutine c_datastore_delete 2424 2425 function c_datastore_get_root(self, SHT_crv) & 2426 result(SHT_rv) & 2427 bind(C, name="SIDRE_DataStore_get_root") 2428 use iso_c_binding, only : C_PTR 2429 import :: SIDRE_SHROUD_datastore_capsule, SIDRE_SHROUD_group_capsule 2430 implicit none 2431 type(SIDRE_SHROUD_datastore_capsule), intent(IN) :: self 2432 type(SIDRE_SHROUD_group_capsule), intent(OUT) :: SHT_crv 2433 type(C_PTR) SHT_rv 2434 end function c_datastore_get_root 2435 2436 pure function c_datastore_get_num_buffers(self) & 2437 result(SHT_rv) & 2438 bind(C, name="SIDRE_DataStore_get_num_buffers") 2439 use iso_c_binding, only : C_SIZE_T 2440 import :: SIDRE_SHROUD_datastore_capsule 2441 implicit none 2442 type(SIDRE_SHROUD_datastore_capsule), intent(IN) :: self 2443 integer(C_SIZE_T) :: SHT_rv 2444 end function c_datastore_get_num_buffers 2445 2446 function c_datastore_get_buffer(self, idx, SHT_crv) & 2447 result(SHT_rv) & 2448 bind(C, name="SIDRE_DataStore_get_buffer") 2449 use iso_c_binding, only : C_INT64_T, C_PTR 2450 import :: SIDRE_SHROUD_buffer_capsule, SIDRE_SHROUD_datastore_capsule 2451 implicit none 2452 type(SIDRE_SHROUD_datastore_capsule), intent(IN) :: self 2453 integer(C_INT64_T), value, intent(IN) :: idx 2454 type(SIDRE_SHROUD_buffer_capsule), intent(OUT) :: SHT_crv 2455 type(C_PTR) SHT_rv 2456 end function c_datastore_get_buffer 2457 2458 function c_datastore_create_buffer_empty(self, SHT_crv) & 2459 result(SHT_rv) & 2460 bind(C, name="SIDRE_DataStore_create_buffer_empty") 2461 use iso_c_binding, only : C_PTR 2462 import :: SIDRE_SHROUD_buffer_capsule, SIDRE_SHROUD_datastore_capsule 2463 implicit none 2464 type(SIDRE_SHROUD_datastore_capsule), intent(IN) :: self 2465 type(SIDRE_SHROUD_buffer_capsule), intent(OUT) :: SHT_crv 2466 type(C_PTR) SHT_rv 2467 end function c_datastore_create_buffer_empty 2468 2469 function c_datastore_create_buffer_from_type(self, type, & 2470 num_elems, SHT_crv) & 2471 result(SHT_rv) & 2472 bind(C, name="SIDRE_DataStore_create_buffer_from_type") 2473 use iso_c_binding, only : C_INT, C_INT64_T, C_PTR 2474 import :: SIDRE_SHROUD_buffer_capsule, SIDRE_SHROUD_datastore_capsule 2475 implicit none 2476 type(SIDRE_SHROUD_datastore_capsule), intent(IN) :: self 2477 integer(C_INT), value, intent(IN) :: type 2478 integer(C_INT64_T), value, intent(IN) :: num_elems 2479 type(SIDRE_SHROUD_buffer_capsule), intent(OUT) :: SHT_crv 2480 type(C_PTR) SHT_rv 2481 end function c_datastore_create_buffer_from_type 2482 2483 subroutine c_datastore_destroy_buffer(self, id) & 2484 bind(C, name="SIDRE_DataStore_destroy_buffer") 2485 use iso_c_binding, only : C_INT64_T 2486 import :: SIDRE_SHROUD_datastore_capsule 2487 implicit none 2488 type(SIDRE_SHROUD_datastore_capsule), intent(IN) :: self 2489 integer(C_INT64_T), value, intent(IN) :: id 2490 end subroutine c_datastore_destroy_buffer 2491 2492 function c_datastore_generate_blueprint_index_0(self, & 2493 domain_path, mesh_name, index_path, num_domains) & 2494 result(SHT_rv) & 2495 bind(C, name="SIDRE_DataStore_generate_blueprint_index_0") 2496 use iso_c_binding, only : C_BOOL, C_CHAR, C_INT 2497 import :: SIDRE_SHROUD_datastore_capsule 2498 implicit none 2499 type(SIDRE_SHROUD_datastore_capsule), intent(IN) :: self 2500 character(kind=C_CHAR), intent(IN) :: domain_path(*) 2501 character(kind=C_CHAR), intent(IN) :: mesh_name(*) 2502 character(kind=C_CHAR), intent(IN) :: index_path(*) 2503 integer(C_INT), value, intent(IN) :: num_domains 2504 logical(C_BOOL) :: SHT_rv 2505 end function c_datastore_generate_blueprint_index_0 2506 2507 function c_datastore_generate_blueprint_index_0_bufferify(self, & 2508 domain_path, Ldomain_path, mesh_name, Lmesh_name, & 2509 index_path, Lindex_path, num_domains) & 2510 result(SHT_rv) & 2511 bind(C, name="SIDRE_DataStore_generate_blueprint_index_0_bufferify") 2512 use iso_c_binding, only : C_BOOL, C_CHAR, C_INT 2513 import :: SIDRE_SHROUD_datastore_capsule 2514 implicit none 2515 type(SIDRE_SHROUD_datastore_capsule), intent(IN) :: self 2516 character(kind=C_CHAR), intent(IN) :: domain_path(*) 2517 integer(C_INT), value, intent(IN) :: Ldomain_path 2518 character(kind=C_CHAR), intent(IN) :: mesh_name(*) 2519 integer(C_INT), value, intent(IN) :: Lmesh_name 2520 character(kind=C_CHAR), intent(IN) :: index_path(*) 2521 integer(C_INT), value, intent(IN) :: Lindex_path 2522 integer(C_INT), value, intent(IN) :: num_domains 2523 logical(C_BOOL) :: SHT_rv 2524 end function c_datastore_generate_blueprint_index_0_bufferify 2525 2526#ifdef AXOM_USE_MPI 2527 function c_datastore_generate_blueprint_index_1(self, comm, & 2528 domain_path, mesh_name, index_path) & 2529 result(SHT_rv) & 2530 bind(C, name="SIDRE_DataStore_generate_blueprint_index_1") 2531 use iso_c_binding, only : C_BOOL, C_CHAR, C_INT 2532 import :: SIDRE_SHROUD_datastore_capsule 2533 implicit none 2534 type(SIDRE_SHROUD_datastore_capsule), intent(IN) :: self 2535 integer(C_INT), value, intent(IN) :: comm 2536 character(kind=C_CHAR), intent(IN) :: domain_path(*) 2537 character(kind=C_CHAR), intent(IN) :: mesh_name(*) 2538 character(kind=C_CHAR), intent(IN) :: index_path(*) 2539 logical(C_BOOL) :: SHT_rv 2540 end function c_datastore_generate_blueprint_index_1 2541#endif 2542 2543#ifdef AXOM_USE_MPI 2544 function c_datastore_generate_blueprint_index_1_bufferify(self, & 2545 comm, domain_path, Ldomain_path, mesh_name, Lmesh_name, & 2546 index_path, Lindex_path) & 2547 result(SHT_rv) & 2548 bind(C, name="SIDRE_DataStore_generate_blueprint_index_1_bufferify") 2549 use iso_c_binding, only : C_BOOL, C_CHAR, C_INT 2550 import :: SIDRE_SHROUD_datastore_capsule 2551 implicit none 2552 type(SIDRE_SHROUD_datastore_capsule), intent(IN) :: self 2553 integer(C_INT), value, intent(IN) :: comm 2554 character(kind=C_CHAR), intent(IN) :: domain_path(*) 2555 integer(C_INT), value, intent(IN) :: Ldomain_path 2556 character(kind=C_CHAR), intent(IN) :: mesh_name(*) 2557 integer(C_INT), value, intent(IN) :: Lmesh_name 2558 character(kind=C_CHAR), intent(IN) :: index_path(*) 2559 integer(C_INT), value, intent(IN) :: Lindex_path 2560 logical(C_BOOL) :: SHT_rv 2561 end function c_datastore_generate_blueprint_index_1_bufferify 2562#endif 2563 2564 subroutine c_datastore_print(self) & 2565 bind(C, name="SIDRE_DataStore_print") 2566 import :: SIDRE_SHROUD_datastore_capsule 2567 implicit none 2568 type(SIDRE_SHROUD_datastore_capsule), intent(IN) :: self 2569 end subroutine c_datastore_print 2570 2571 ! splicer begin class.DataStore.additional_interfaces 2572 ! splicer end class.DataStore.additional_interfaces 2573 2574 function c_name_is_valid(name) & 2575 result(SHT_rv) & 2576 bind(C, name="SIDRE_name_is_valid") 2577 use iso_c_binding, only : C_BOOL, C_CHAR 2578 implicit none 2579 character(kind=C_CHAR), intent(IN) :: name(*) 2580 logical(C_BOOL) :: SHT_rv 2581 end function c_name_is_valid 2582 2583 ! splicer begin additional_interfaces 2584 function SIDRE_create_array_view(group, name, lname, addr, type, rank, extents) & 2585 result(rv) bind(C,name="SIDRE_create_array_view") 2586 use iso_c_binding 2587 import SIDRE_IndexType 2588 type(C_PTR), value, intent(IN) :: group 2589 character(kind=C_CHAR), intent(IN) :: name(*) 2590 integer(C_INT), value, intent(IN) :: lname 2591 type(C_PTR), value, intent(IN) :: addr 2592 integer(C_INT), value, intent(IN) :: type 2593 integer(C_INT), value, intent(IN) :: rank 2594 integer(SIDRE_IndexType), intent(IN) :: extents(*) 2595 type(C_PTR) rv 2596 end function SIDRE_create_array_view 2597 ! splicer end additional_interfaces 2598 end interface 2599 2600 interface SidreDataStore 2601 module procedure datastore_new 2602 end interface SidreDataStore 2603 2604contains 2605 2606 function buffer_get_index(obj) & 2607 result(SHT_rv) 2608 use iso_c_binding, only : C_INT64_T 2609 class(SidreBuffer) :: obj 2610 integer(C_INT64_T) :: SHT_rv 2611 ! splicer begin class.Buffer.method.get_index 2612 SHT_rv = c_buffer_get_index(obj%cxxmem) 2613 ! splicer end class.Buffer.method.get_index 2614 end function buffer_get_index 2615 2616 function buffer_get_num_views(obj) & 2617 result(SHT_rv) 2618 use iso_c_binding, only : C_SIZE_T 2619 class(SidreBuffer) :: obj 2620 integer(C_SIZE_T) :: SHT_rv 2621 ! splicer begin class.Buffer.method.get_num_views 2622 SHT_rv = c_buffer_get_num_views(obj%cxxmem) 2623 ! splicer end class.Buffer.method.get_num_views 2624 end function buffer_get_num_views 2625 2626 function buffer_get_void_ptr(obj) & 2627 result(SHT_rv) 2628 use iso_c_binding, only : C_PTR 2629 class(SidreBuffer) :: obj 2630 type(C_PTR) :: SHT_rv 2631 ! splicer begin class.Buffer.method.get_void_ptr 2632 SHT_rv = c_buffer_get_void_ptr(obj%cxxmem) 2633 ! splicer end class.Buffer.method.get_void_ptr 2634 end function buffer_get_void_ptr 2635 2636 function buffer_get_type_id(obj) & 2637 result(SHT_rv) 2638 use iso_c_binding, only : C_INT 2639 class(SidreBuffer) :: obj 2640 integer(C_INT) :: SHT_rv 2641 ! splicer begin class.Buffer.method.get_type_id 2642 SHT_rv = c_buffer_get_type_id(obj%cxxmem) 2643 ! splicer end class.Buffer.method.get_type_id 2644 end function buffer_get_type_id 2645 2646 function buffer_get_num_elements(obj) & 2647 result(SHT_rv) 2648 use iso_c_binding, only : C_SIZE_T 2649 class(SidreBuffer) :: obj 2650 integer(C_SIZE_T) :: SHT_rv 2651 ! splicer begin class.Buffer.method.get_num_elements 2652 SHT_rv = c_buffer_get_num_elements(obj%cxxmem) 2653 ! splicer end class.Buffer.method.get_num_elements 2654 end function buffer_get_num_elements 2655 2656 function buffer_get_total_bytes(obj) & 2657 result(SHT_rv) 2658 use iso_c_binding, only : C_SIZE_T 2659 class(SidreBuffer) :: obj 2660 integer(C_SIZE_T) :: SHT_rv 2661 ! splicer begin class.Buffer.method.get_total_bytes 2662 SHT_rv = c_buffer_get_total_bytes(obj%cxxmem) 2663 ! splicer end class.Buffer.method.get_total_bytes 2664 end function buffer_get_total_bytes 2665 2666 function buffer_get_bytes_per_element(obj) & 2667 result(SHT_rv) 2668 use iso_c_binding, only : C_SIZE_T 2669 class(SidreBuffer) :: obj 2670 integer(C_SIZE_T) :: SHT_rv 2671 ! splicer begin class.Buffer.method.get_bytes_per_element 2672 SHT_rv = c_buffer_get_bytes_per_element(obj%cxxmem) 2673 ! splicer end class.Buffer.method.get_bytes_per_element 2674 end function buffer_get_bytes_per_element 2675 2676 subroutine buffer_describe_int32_t(obj, type, num_elems) 2677 use iso_c_binding, only : C_INT, C_INT32_T, C_INT64_T 2678 class(SidreBuffer) :: obj 2679 integer(C_INT), value, intent(IN) :: type 2680 integer(C_INT32_T), value, intent(IN) :: num_elems 2681 ! splicer begin class.Buffer.method.describe_int32_t 2682 call c_buffer_describe(obj%cxxmem, type, & 2683 int(num_elems, C_INT64_t)) 2684 ! splicer end class.Buffer.method.describe_int32_t 2685 end subroutine buffer_describe_int32_t 2686 2687 subroutine buffer_describe_int64_t(obj, type, num_elems) 2688 use iso_c_binding, only : C_INT, C_INT64_T 2689 class(SidreBuffer) :: obj 2690 integer(C_INT), value, intent(IN) :: type 2691 integer(C_INT64_T), value, intent(IN) :: num_elems 2692 ! splicer begin class.Buffer.method.describe_int64_t 2693 call c_buffer_describe(obj%cxxmem, type, & 2694 int(num_elems, C_INT64_t)) 2695 ! splicer end class.Buffer.method.describe_int64_t 2696 end subroutine buffer_describe_int64_t 2697 2698 subroutine buffer_allocate_existing(obj) 2699 class(SidreBuffer) :: obj 2700 ! splicer begin class.Buffer.method.allocate_existing 2701 call c_buffer_allocate_existing(obj%cxxmem) 2702 ! splicer end class.Buffer.method.allocate_existing 2703 end subroutine buffer_allocate_existing 2704 2705 subroutine buffer_allocate_from_type_int32_t(obj, type, num_elems) 2706 use iso_c_binding, only : C_INT, C_INT32_T, C_INT64_T 2707 class(SidreBuffer) :: obj 2708 integer(C_INT), value, intent(IN) :: type 2709 integer(C_INT32_T), value, intent(IN) :: num_elems 2710 ! splicer begin class.Buffer.method.allocate_from_type_int32_t 2711 call c_buffer_allocate_from_type(obj%cxxmem, type, & 2712 int(num_elems, C_INT64_t)) 2713 ! splicer end class.Buffer.method.allocate_from_type_int32_t 2714 end subroutine buffer_allocate_from_type_int32_t 2715 2716 subroutine buffer_allocate_from_type_int64_t(obj, type, num_elems) 2717 use iso_c_binding, only : C_INT, C_INT64_T 2718 class(SidreBuffer) :: obj 2719 integer(C_INT), value, intent(IN) :: type 2720 integer(C_INT64_T), value, intent(IN) :: num_elems 2721 ! splicer begin class.Buffer.method.allocate_from_type_int64_t 2722 call c_buffer_allocate_from_type(obj%cxxmem, type, & 2723 int(num_elems, C_INT64_t)) 2724 ! splicer end class.Buffer.method.allocate_from_type_int64_t 2725 end subroutine buffer_allocate_from_type_int64_t 2726 2727 subroutine buffer_reallocate_int32_t(obj, num_elems) 2728 use iso_c_binding, only : C_INT32_T, C_INT64_T 2729 class(SidreBuffer) :: obj 2730 integer(C_INT32_T), value, intent(IN) :: num_elems 2731 ! splicer begin class.Buffer.method.reallocate_int32_t 2732 call c_buffer_reallocate(obj%cxxmem, int(num_elems, C_INT64_t)) 2733 ! splicer end class.Buffer.method.reallocate_int32_t 2734 end subroutine buffer_reallocate_int32_t 2735 2736 subroutine buffer_reallocate_int64_t(obj, num_elems) 2737 use iso_c_binding, only : C_INT64_T 2738 class(SidreBuffer) :: obj 2739 integer(C_INT64_T), value, intent(IN) :: num_elems 2740 ! splicer begin class.Buffer.method.reallocate_int64_t 2741 call c_buffer_reallocate(obj%cxxmem, int(num_elems, C_INT64_t)) 2742 ! splicer end class.Buffer.method.reallocate_int64_t 2743 end subroutine buffer_reallocate_int64_t 2744 2745 subroutine buffer_print(obj) 2746 class(SidreBuffer) :: obj 2747 ! splicer begin class.Buffer.method.print 2748 call c_buffer_print(obj%cxxmem) 2749 ! splicer end class.Buffer.method.print 2750 end subroutine buffer_print 2751 2752 ! Return pointer to C++ memory. 2753 function buffer_get_instance(obj) result (cxxptr) 2754 use iso_c_binding, only: C_PTR 2755 class(SidreBuffer), intent(IN) :: obj 2756 type(C_PTR) :: cxxptr 2757 cxxptr = obj%cxxmem%addr 2758 end function buffer_get_instance 2759 2760 subroutine buffer_set_instance(obj, cxxmem) 2761 use iso_c_binding, only: C_PTR 2762 class(SidreBuffer), intent(INOUT) :: obj 2763 type(C_PTR), intent(IN) :: cxxmem 2764 obj%cxxmem%addr = cxxmem 2765 obj%cxxmem%idtor = 0 2766 end subroutine buffer_set_instance 2767 2768 function buffer_associated(obj) result (rv) 2769 use iso_c_binding, only: c_associated 2770 class(SidreBuffer), intent(IN) :: obj 2771 logical rv 2772 rv = c_associated(obj%cxxmem%addr) 2773 end function buffer_associated 2774 2775 ! splicer begin class.Buffer.additional_functions 2776 ! splicer end class.Buffer.additional_functions 2777 2778 function group_get_index(obj) & 2779 result(SHT_rv) 2780 use iso_c_binding, only : C_INT64_T 2781 class(SidreGroup) :: obj 2782 integer(C_INT64_T) :: SHT_rv 2783 ! splicer begin class.Group.method.get_index 2784 SHT_rv = c_group_get_index(obj%cxxmem) 2785 ! splicer end class.Group.method.get_index 2786 end function group_get_index 2787 2788 function group_get_name(obj) & 2789 result(SHT_rv) 2790 use iso_c_binding, only : C_INT 2791 class(SidreGroup) :: obj 2792 character(len=MAXNAMESIZE) :: SHT_rv 2793 ! splicer begin class.Group.method.get_name 2794 call c_group_get_name_bufferify(obj%cxxmem, SHT_rv, & 2795 len(SHT_rv, kind=C_INT)) 2796 ! splicer end class.Group.method.get_name 2797 end function group_get_name 2798 2799 function group_get_path(obj) & 2800 result(SHT_rv) 2801 use iso_c_binding, only : C_INT 2802 class(SidreGroup) :: obj 2803 character(len=MAXNAMESIZE) :: SHT_rv 2804 ! splicer begin class.Group.method.get_path 2805 call c_group_get_path_bufferify(obj%cxxmem, SHT_rv, & 2806 len(SHT_rv, kind=C_INT)) 2807 ! splicer end class.Group.method.get_path 2808 end function group_get_path 2809 2810 function group_get_path_name(obj) & 2811 result(SHT_rv) 2812 use iso_c_binding, only : C_INT 2813 class(SidreGroup) :: obj 2814 character(len=MAXNAMESIZE) :: SHT_rv 2815 ! splicer begin class.Group.method.get_path_name 2816 call c_group_get_path_name_bufferify(obj%cxxmem, SHT_rv, & 2817 len(SHT_rv, kind=C_INT)) 2818 ! splicer end class.Group.method.get_path_name 2819 end function group_get_path_name 2820 2821 function group_get_parent(obj) & 2822 result(SHT_rv) 2823 use iso_c_binding, only : C_PTR 2824 class(SidreGroup) :: obj 2825 type(SidreGroup) :: SHT_rv 2826 ! splicer begin class.Group.method.get_parent 2827 type(C_PTR) :: SHT_prv 2828 SHT_prv = c_group_get_parent(obj%cxxmem, SHT_rv%cxxmem) 2829 ! splicer end class.Group.method.get_parent 2830 end function group_get_parent 2831 2832 function group_get_num_groups(obj) & 2833 result(SHT_rv) 2834 use iso_c_binding, only : C_SIZE_T 2835 class(SidreGroup) :: obj 2836 integer(C_SIZE_T) :: SHT_rv 2837 ! splicer begin class.Group.method.get_num_groups 2838 SHT_rv = c_group_get_num_groups(obj%cxxmem) 2839 ! splicer end class.Group.method.get_num_groups 2840 end function group_get_num_groups 2841 2842 function group_get_num_views(obj) & 2843 result(SHT_rv) 2844 use iso_c_binding, only : C_SIZE_T 2845 class(SidreGroup) :: obj 2846 integer(C_SIZE_T) :: SHT_rv 2847 ! splicer begin class.Group.method.get_num_views 2848 SHT_rv = c_group_get_num_views(obj%cxxmem) 2849 ! splicer end class.Group.method.get_num_views 2850 end function group_get_num_views 2851 2852 function group_get_data_store(obj) & 2853 result(SHT_rv) 2854 use iso_c_binding, only : C_PTR 2855 class(SidreGroup) :: obj 2856 type(SidreDataStore) :: SHT_rv 2857 ! splicer begin class.Group.method.get_data_store 2858 type(C_PTR) :: SHT_prv 2859 SHT_prv = c_group_get_data_store(obj%cxxmem, SHT_rv%cxxmem) 2860 ! splicer end class.Group.method.get_data_store 2861 end function group_get_data_store 2862 2863 function group_has_view(obj, path) & 2864 result(SHT_rv) 2865 use iso_c_binding, only : C_BOOL, C_INT 2866 class(SidreGroup) :: obj 2867 character(len=*), intent(IN) :: path 2868 logical :: SHT_rv 2869 ! splicer begin class.Group.method.has_view 2870 SHT_rv = c_group_has_view_bufferify(obj%cxxmem, path, & 2871 len_trim(path, kind=C_INT)) 2872 ! splicer end class.Group.method.has_view 2873 end function group_has_view 2874 2875 function group_has_child_view(obj, name) & 2876 result(SHT_rv) 2877 use iso_c_binding, only : C_BOOL, C_INT 2878 class(SidreGroup) :: obj 2879 character(len=*), intent(IN) :: name 2880 logical :: SHT_rv 2881 ! splicer begin class.Group.method.has_child_view 2882 SHT_rv = c_group_has_child_view_bufferify(obj%cxxmem, name, & 2883 len_trim(name, kind=C_INT)) 2884 ! splicer end class.Group.method.has_child_view 2885 end function group_has_child_view 2886 2887 function group_get_view_index(obj, name) & 2888 result(SHT_rv) 2889 use iso_c_binding, only : C_INT, C_INT64_T 2890 class(SidreGroup) :: obj 2891 character(len=*), intent(IN) :: name 2892 integer(C_INT64_T) :: SHT_rv 2893 ! splicer begin class.Group.method.get_view_index 2894 SHT_rv = c_group_get_view_index_bufferify(obj%cxxmem, name, & 2895 len_trim(name, kind=C_INT)) 2896 ! splicer end class.Group.method.get_view_index 2897 end function group_get_view_index 2898 2899 function group_get_view_name_int32_t(obj, idx) & 2900 result(SHT_rv) 2901 use iso_c_binding, only : C_INT, C_INT32_T, C_INT64_T 2902 class(SidreGroup) :: obj 2903 integer(C_INT32_T), value, intent(IN) :: idx 2904 character(len=MAXNAMESIZE) :: SHT_rv 2905 ! splicer begin class.Group.method.get_view_name_int32_t 2906 call c_group_get_view_name_bufferify(obj%cxxmem, & 2907 int(idx, C_INT64_t), SHT_rv, len(SHT_rv, kind=C_INT)) 2908 ! splicer end class.Group.method.get_view_name_int32_t 2909 end function group_get_view_name_int32_t 2910 2911 function group_get_view_name_int64_t(obj, idx) & 2912 result(SHT_rv) 2913 use iso_c_binding, only : C_INT, C_INT64_T 2914 class(SidreGroup) :: obj 2915 integer(C_INT64_T), value, intent(IN) :: idx 2916 character(len=MAXNAMESIZE) :: SHT_rv 2917 ! splicer begin class.Group.method.get_view_name_int64_t 2918 call c_group_get_view_name_bufferify(obj%cxxmem, & 2919 int(idx, C_INT64_t), SHT_rv, len(SHT_rv, kind=C_INT)) 2920 ! splicer end class.Group.method.get_view_name_int64_t 2921 end function group_get_view_name_int64_t 2922 2923 function group_get_view_from_name(obj, path) & 2924 result(SHT_rv) 2925 use iso_c_binding, only : C_INT, C_PTR 2926 class(SidreGroup) :: obj 2927 character(len=*), intent(IN) :: path 2928 type(SidreView) :: SHT_rv 2929 ! splicer begin class.Group.method.get_view_from_name 2930 type(C_PTR) :: SHT_prv 2931 SHT_prv = c_group_get_view_from_name_bufferify(obj%cxxmem, path, & 2932 len_trim(path, kind=C_INT), SHT_rv%cxxmem) 2933 ! splicer end class.Group.method.get_view_from_name 2934 end function group_get_view_from_name 2935 2936 function group_get_view_from_index_int32_t(obj, idx) & 2937 result(SHT_rv) 2938 use iso_c_binding, only : C_INT32_T, C_INT64_T, C_PTR 2939 class(SidreGroup) :: obj 2940 integer(C_INT32_T), value, intent(IN) :: idx 2941 type(SidreView) :: SHT_rv 2942 ! splicer begin class.Group.method.get_view_from_index_int32_t 2943 type(C_PTR) :: SHT_prv 2944 SHT_prv = c_group_get_view_from_index(obj%cxxmem, & 2945 int(idx, C_INT64_t), SHT_rv%cxxmem) 2946 ! splicer end class.Group.method.get_view_from_index_int32_t 2947 end function group_get_view_from_index_int32_t 2948 2949 function group_get_view_from_index_int64_t(obj, idx) & 2950 result(SHT_rv) 2951 use iso_c_binding, only : C_INT64_T, C_PTR 2952 class(SidreGroup) :: obj 2953 integer(C_INT64_T), value, intent(IN) :: idx 2954 type(SidreView) :: SHT_rv 2955 ! splicer begin class.Group.method.get_view_from_index_int64_t 2956 type(C_PTR) :: SHT_prv 2957 SHT_prv = c_group_get_view_from_index(obj%cxxmem, & 2958 int(idx, C_INT64_t), SHT_rv%cxxmem) 2959 ! splicer end class.Group.method.get_view_from_index_int64_t 2960 end function group_get_view_from_index_int64_t 2961 2962 function group_get_first_valid_view_index(obj) & 2963 result(SHT_rv) 2964 use iso_c_binding, only : C_INT64_T 2965 class(SidreGroup) :: obj 2966 integer(C_INT64_T) :: SHT_rv 2967 ! splicer begin class.Group.method.get_first_valid_view_index 2968 SHT_rv = c_group_get_first_valid_view_index(obj%cxxmem) 2969 ! splicer end class.Group.method.get_first_valid_view_index 2970 end function group_get_first_valid_view_index 2971 2972 function group_get_next_valid_view_index_int32_t(obj, idx) & 2973 result(SHT_rv) 2974 use iso_c_binding, only : C_INT32_T, C_INT64_T 2975 class(SidreGroup) :: obj 2976 integer(C_INT32_T), value, intent(IN) :: idx 2977 integer(C_INT64_T) :: SHT_rv 2978 ! splicer begin class.Group.method.get_next_valid_view_index_int32_t 2979 SHT_rv = c_group_get_next_valid_view_index(obj%cxxmem, & 2980 int(idx, C_INT64_t)) 2981 ! splicer end class.Group.method.get_next_valid_view_index_int32_t 2982 end function group_get_next_valid_view_index_int32_t 2983 2984 function group_get_next_valid_view_index_int64_t(obj, idx) & 2985 result(SHT_rv) 2986 use iso_c_binding, only : C_INT64_T 2987 class(SidreGroup) :: obj 2988 integer(C_INT64_T), value, intent(IN) :: idx 2989 integer(C_INT64_T) :: SHT_rv 2990 ! splicer begin class.Group.method.get_next_valid_view_index_int64_t 2991 SHT_rv = c_group_get_next_valid_view_index(obj%cxxmem, & 2992 int(idx, C_INT64_t)) 2993 ! splicer end class.Group.method.get_next_valid_view_index_int64_t 2994 end function group_get_next_valid_view_index_int64_t 2995 2996 function group_create_view_empty(obj, path) & 2997 result(SHT_rv) 2998 use iso_c_binding, only : C_INT, C_PTR 2999 class(SidreGroup) :: obj 3000 character(len=*), intent(IN) :: path 3001 type(SidreView) :: SHT_rv 3002 ! splicer begin class.Group.method.create_view_empty 3003 type(C_PTR) :: SHT_prv 3004 SHT_prv = c_group_create_view_empty_bufferify(obj%cxxmem, path, & 3005 len_trim(path, kind=C_INT), SHT_rv%cxxmem) 3006 ! splicer end class.Group.method.create_view_empty 3007 end function group_create_view_empty 3008 3009 function group_create_view_from_type_int32_t(obj, path, type, & 3010 num_elems) & 3011 result(SHT_rv) 3012 use iso_c_binding, only : C_INT, C_INT32_T, C_INT64_T, C_PTR 3013 class(SidreGroup) :: obj 3014 character(len=*), intent(IN) :: path 3015 integer(C_INT), value, intent(IN) :: type 3016 integer(C_INT32_T), value, intent(IN) :: num_elems 3017 type(SidreView) :: SHT_rv 3018 ! splicer begin class.Group.method.create_view_from_type_int32_t 3019 type(C_PTR) :: SHT_prv 3020 SHT_prv = c_group_create_view_from_type_bufferify(obj%cxxmem, & 3021 path, len_trim(path, kind=C_INT), type, & 3022 int(num_elems, C_INT64_t), SHT_rv%cxxmem) 3023 ! splicer end class.Group.method.create_view_from_type_int32_t 3024 end function group_create_view_from_type_int32_t 3025 3026 function group_create_view_from_type_int64_t(obj, path, type, & 3027 num_elems) & 3028 result(SHT_rv) 3029 use iso_c_binding, only : C_INT, C_INT64_T, C_PTR 3030 class(SidreGroup) :: obj 3031 character(len=*), intent(IN) :: path 3032 integer(C_INT), value, intent(IN) :: type 3033 integer(C_INT64_T), value, intent(IN) :: num_elems 3034 type(SidreView) :: SHT_rv 3035 ! splicer begin class.Group.method.create_view_from_type_int64_t 3036 type(C_PTR) :: SHT_prv 3037 SHT_prv = c_group_create_view_from_type_bufferify(obj%cxxmem, & 3038 path, len_trim(path, kind=C_INT), type, & 3039 int(num_elems, C_INT64_t), SHT_rv%cxxmem) 3040 ! splicer end class.Group.method.create_view_from_type_int64_t 3041 end function group_create_view_from_type_int64_t 3042 3043 function group_create_view_from_shape(obj, path, type, ndims, shape) & 3044 result(SHT_rv) 3045 use iso_c_binding, only : C_INT, C_INT64_T, C_PTR 3046 class(SidreGroup) :: obj 3047 character(len=*), intent(IN) :: path 3048 integer(C_INT), value, intent(IN) :: type 3049 integer(C_INT), value, intent(IN) :: ndims 3050 integer(C_INT64_T), intent(IN) :: shape(:) 3051 type(SidreView) :: SHT_rv 3052 ! splicer begin class.Group.method.create_view_from_shape 3053 type(C_PTR) :: SHT_prv 3054 SHT_prv = c_group_create_view_from_shape_bufferify(obj%cxxmem, & 3055 path, len_trim(path, kind=C_INT), type, ndims, shape, & 3056 SHT_rv%cxxmem) 3057 ! splicer end class.Group.method.create_view_from_shape 3058 end function group_create_view_from_shape 3059 3060 function group_create_view_into_buffer(obj, path, buff) & 3061 result(SHT_rv) 3062 use iso_c_binding, only : C_INT, C_PTR 3063 class(SidreGroup) :: obj 3064 character(len=*), intent(IN) :: path 3065 type(SidreBuffer), intent(INOUT) :: buff 3066 type(SidreView) :: SHT_rv 3067 ! splicer begin class.Group.method.create_view_into_buffer 3068 type(C_PTR) :: SHT_prv 3069 SHT_prv = c_group_create_view_into_buffer_bufferify(obj%cxxmem, & 3070 path, len_trim(path, kind=C_INT), buff%cxxmem, & 3071 SHT_rv%cxxmem) 3072 ! splicer end class.Group.method.create_view_into_buffer 3073 end function group_create_view_into_buffer 3074 3075 function group_create_view_from_type_and_buffer_int32_t(obj, path, & 3076 type, num_elems, buff) & 3077 result(SHT_rv) 3078 use iso_c_binding, only : C_INT, C_INT32_T, C_INT64_T, C_PTR 3079 class(SidreGroup) :: obj 3080 character(len=*), intent(IN) :: path 3081 integer(C_INT), value, intent(IN) :: type 3082 integer(C_INT32_T), value, intent(IN) :: num_elems 3083 type(SidreBuffer), intent(INOUT) :: buff 3084 type(SidreView) :: SHT_rv 3085 ! splicer begin class.Group.method.create_view_from_type_and_buffer_int32_t 3086 type(C_PTR) :: SHT_prv 3087 SHT_prv = c_group_create_view_from_type_and_buffer_bufferify(obj%cxxmem, & 3088 path, len_trim(path, kind=C_INT), type, & 3089 int(num_elems, C_INT64_t), buff%cxxmem, SHT_rv%cxxmem) 3090 ! splicer end class.Group.method.create_view_from_type_and_buffer_int32_t 3091 end function group_create_view_from_type_and_buffer_int32_t 3092 3093 function group_create_view_from_type_and_buffer_int64_t(obj, path, & 3094 type, num_elems, buff) & 3095 result(SHT_rv) 3096 use iso_c_binding, only : C_INT, C_INT64_T, C_PTR 3097 class(SidreGroup) :: obj 3098 character(len=*), intent(IN) :: path 3099 integer(C_INT), value, intent(IN) :: type 3100 integer(C_INT64_T), value, intent(IN) :: num_elems 3101 type(SidreBuffer), intent(INOUT) :: buff 3102 type(SidreView) :: SHT_rv 3103 ! splicer begin class.Group.method.create_view_from_type_and_buffer_int64_t 3104 type(C_PTR) :: SHT_prv 3105 SHT_prv = c_group_create_view_from_type_and_buffer_bufferify(obj%cxxmem, & 3106 path, len_trim(path, kind=C_INT), type, & 3107 int(num_elems, C_INT64_t), buff%cxxmem, SHT_rv%cxxmem) 3108 ! splicer end class.Group.method.create_view_from_type_and_buffer_int64_t 3109 end function group_create_view_from_type_and_buffer_int64_t 3110 3111 function group_create_view_from_shape_and_buffer(obj, path, type, & 3112 ndims, shape, buff) & 3113 result(SHT_rv) 3114 use iso_c_binding, only : C_INT, C_INT64_T, C_PTR 3115 class(SidreGroup) :: obj 3116 character(len=*), intent(IN) :: path 3117 integer(C_INT), value, intent(IN) :: type 3118 integer(C_INT), value, intent(IN) :: ndims 3119 integer(C_INT64_T), intent(IN) :: shape(:) 3120 type(SidreBuffer), intent(INOUT) :: buff 3121 type(SidreView) :: SHT_rv 3122 ! splicer begin class.Group.method.create_view_from_shape_and_buffer 3123 type(C_PTR) :: SHT_prv 3124 SHT_prv = c_group_create_view_from_shape_and_buffer_bufferify(obj%cxxmem, & 3125 path, len_trim(path, kind=C_INT), type, ndims, shape, & 3126 buff%cxxmem, SHT_rv%cxxmem) 3127 ! splicer end class.Group.method.create_view_from_shape_and_buffer 3128 end function group_create_view_from_shape_and_buffer 3129 3130 function group_create_view_external(obj, path, external_ptr) & 3131 result(SHT_rv) 3132 use iso_c_binding, only : C_INT, C_PTR 3133 class(SidreGroup) :: obj 3134 character(len=*), intent(IN) :: path 3135 type(C_PTR), intent(IN) :: external_ptr 3136 type(SidreView) :: SHT_rv 3137 ! splicer begin class.Group.method.create_view_external 3138 type(C_PTR) :: SHT_prv 3139 SHT_prv = c_group_create_view_external_bufferify(obj%cxxmem, & 3140 path, len_trim(path, kind=C_INT), external_ptr, & 3141 SHT_rv%cxxmem) 3142 ! splicer end class.Group.method.create_view_external 3143 end function group_create_view_external 3144 3145 function group_create_view_from_type_external_int32_t(obj, path, & 3146 type, num_elems, external_ptr) & 3147 result(SHT_rv) 3148 use iso_c_binding, only : C_INT, C_INT32_T, C_INT64_T, C_PTR 3149 class(SidreGroup) :: obj 3150 character(len=*), intent(IN) :: path 3151 integer(C_INT), value, intent(IN) :: type 3152 integer(C_INT32_T), value, intent(IN) :: num_elems 3153 type(C_PTR), intent(IN) :: external_ptr 3154 type(SidreView) :: SHT_rv 3155 ! splicer begin class.Group.method.create_view_from_type_external_int32_t 3156 type(C_PTR) :: SHT_prv 3157 SHT_prv = c_group_create_view_from_type_external_bufferify(obj%cxxmem, & 3158 path, len_trim(path, kind=C_INT), type, & 3159 int(num_elems, C_INT64_t), external_ptr, SHT_rv%cxxmem) 3160 ! splicer end class.Group.method.create_view_from_type_external_int32_t 3161 end function group_create_view_from_type_external_int32_t 3162 3163 function group_create_view_from_type_external_int64_t(obj, path, & 3164 type, num_elems, external_ptr) & 3165 result(SHT_rv) 3166 use iso_c_binding, only : C_INT, C_INT64_T, C_PTR 3167 class(SidreGroup) :: obj 3168 character(len=*), intent(IN) :: path 3169 integer(C_INT), value, intent(IN) :: type 3170 integer(C_INT64_T), value, intent(IN) :: num_elems 3171 type(C_PTR), intent(IN) :: external_ptr 3172 type(SidreView) :: SHT_rv 3173 ! splicer begin class.Group.method.create_view_from_type_external_int64_t 3174 type(C_PTR) :: SHT_prv 3175 SHT_prv = c_group_create_view_from_type_external_bufferify(obj%cxxmem, & 3176 path, len_trim(path, kind=C_INT), type, & 3177 int(num_elems, C_INT64_t), external_ptr, SHT_rv%cxxmem) 3178 ! splicer end class.Group.method.create_view_from_type_external_int64_t 3179 end function group_create_view_from_type_external_int64_t 3180 3181 function group_create_view_from_shape_external(obj, path, type, & 3182 ndims, shape, external_ptr) & 3183 result(SHT_rv) 3184 use iso_c_binding, only : C_INT, C_INT64_T, C_PTR 3185 class(SidreGroup) :: obj 3186 character(len=*), intent(IN) :: path 3187 integer(C_INT), value, intent(IN) :: type 3188 integer(C_INT), value, intent(IN) :: ndims 3189 integer(C_INT64_T), intent(IN) :: shape(:) 3190 type(C_PTR), intent(IN) :: external_ptr 3191 type(SidreView) :: SHT_rv 3192 ! splicer begin class.Group.method.create_view_from_shape_external 3193 type(C_PTR) :: SHT_prv 3194 SHT_prv = c_group_create_view_from_shape_external_bufferify(obj%cxxmem, & 3195 path, len_trim(path, kind=C_INT), type, ndims, shape, & 3196 external_ptr, SHT_rv%cxxmem) 3197 ! splicer end class.Group.method.create_view_from_shape_external 3198 end function group_create_view_from_shape_external 3199 3200 function group_create_view_and_allocate_nelems_int32_t(obj, path, & 3201 type, num_elems) & 3202 result(SHT_rv) 3203 use iso_c_binding, only : C_INT, C_INT32_T, C_INT64_T, C_PTR 3204 class(SidreGroup) :: obj 3205 character(len=*), intent(IN) :: path 3206 integer(C_INT), value, intent(IN) :: type 3207 integer(C_INT32_T), value, intent(IN) :: num_elems 3208 type(SidreView) :: SHT_rv 3209 ! splicer begin class.Group.method.create_view_and_allocate_nelems_int32_t 3210 type(C_PTR) :: SHT_prv 3211 SHT_prv = c_group_create_view_and_allocate_nelems_bufferify(obj%cxxmem, & 3212 path, len_trim(path, kind=C_INT), type, & 3213 int(num_elems, C_INT64_t), SHT_rv%cxxmem) 3214 ! splicer end class.Group.method.create_view_and_allocate_nelems_int32_t 3215 end function group_create_view_and_allocate_nelems_int32_t 3216 3217 function group_create_view_and_allocate_nelems_int64_t(obj, path, & 3218 type, num_elems) & 3219 result(SHT_rv) 3220 use iso_c_binding, only : C_INT, C_INT64_T, C_PTR 3221 class(SidreGroup) :: obj 3222 character(len=*), intent(IN) :: path 3223 integer(C_INT), value, intent(IN) :: type 3224 integer(C_INT64_T), value, intent(IN) :: num_elems 3225 type(SidreView) :: SHT_rv 3226 ! splicer begin class.Group.method.create_view_and_allocate_nelems_int64_t 3227 type(C_PTR) :: SHT_prv 3228 SHT_prv = c_group_create_view_and_allocate_nelems_bufferify(obj%cxxmem, & 3229 path, len_trim(path, kind=C_INT), type, & 3230 int(num_elems, C_INT64_t), SHT_rv%cxxmem) 3231 ! splicer end class.Group.method.create_view_and_allocate_nelems_int64_t 3232 end function group_create_view_and_allocate_nelems_int64_t 3233 3234 function group_create_view_and_allocate_shape(obj, path, type, & 3235 ndims, shape) & 3236 result(SHT_rv) 3237 use iso_c_binding, only : C_INT, C_INT64_T, C_PTR 3238 class(SidreGroup) :: obj 3239 character(len=*), intent(IN) :: path 3240 integer(C_INT), value, intent(IN) :: type 3241 integer(C_INT), value, intent(IN) :: ndims 3242 integer(C_INT64_T), intent(IN) :: shape(:) 3243 type(SidreView) :: SHT_rv 3244 ! splicer begin class.Group.method.create_view_and_allocate_shape 3245 type(C_PTR) :: SHT_prv 3246 SHT_prv = c_group_create_view_and_allocate_shape_bufferify(obj%cxxmem, & 3247 path, len_trim(path, kind=C_INT), type, ndims, shape, & 3248 SHT_rv%cxxmem) 3249 ! splicer end class.Group.method.create_view_and_allocate_shape 3250 end function group_create_view_and_allocate_shape 3251 3252 function group_create_view_scalar_int(obj, path, value) & 3253 result(SHT_rv) 3254 use iso_c_binding, only : C_INT, C_PTR 3255 class(SidreGroup) :: obj 3256 character(len=*), intent(IN) :: path 3257 integer(C_INT), value, intent(IN) :: value 3258 type(SidreView) :: SHT_rv 3259 ! splicer begin class.Group.method.create_view_scalar_int 3260 type(C_PTR) :: SHT_prv 3261 SHT_prv = c_group_create_view_scalar_bufferify_int(obj%cxxmem, & 3262 path, len_trim(path, kind=C_INT), value, SHT_rv%cxxmem) 3263 ! splicer end class.Group.method.create_view_scalar_int 3264 end function group_create_view_scalar_int 3265 3266 function group_create_view_scalar_long(obj, path, value) & 3267 result(SHT_rv) 3268 use iso_c_binding, only : C_INT, C_LONG, C_PTR 3269 class(SidreGroup) :: obj 3270 character(len=*), intent(IN) :: path 3271 integer(C_LONG), value, intent(IN) :: value 3272 type(SidreView) :: SHT_rv 3273 ! splicer begin class.Group.method.create_view_scalar_long 3274 type(C_PTR) :: SHT_prv 3275 SHT_prv = c_group_create_view_scalar_bufferify_long(obj%cxxmem, & 3276 path, len_trim(path, kind=C_INT), value, SHT_rv%cxxmem) 3277 ! splicer end class.Group.method.create_view_scalar_long 3278 end function group_create_view_scalar_long 3279 3280 function group_create_view_scalar_float(obj, path, value) & 3281 result(SHT_rv) 3282 use iso_c_binding, only : C_FLOAT, C_INT, C_PTR 3283 class(SidreGroup) :: obj 3284 character(len=*), intent(IN) :: path 3285 real(C_FLOAT), value, intent(IN) :: value 3286 type(SidreView) :: SHT_rv 3287 ! splicer begin class.Group.method.create_view_scalar_float 3288 type(C_PTR) :: SHT_prv 3289 SHT_prv = c_group_create_view_scalar_bufferify_float(obj%cxxmem, & 3290 path, len_trim(path, kind=C_INT), value, SHT_rv%cxxmem) 3291 ! splicer end class.Group.method.create_view_scalar_float 3292 end function group_create_view_scalar_float 3293 3294 function group_create_view_scalar_double(obj, path, value) & 3295 result(SHT_rv) 3296 use iso_c_binding, only : C_DOUBLE, C_INT, C_PTR 3297 class(SidreGroup) :: obj 3298 character(len=*), intent(IN) :: path 3299 real(C_DOUBLE), value, intent(IN) :: value 3300 type(SidreView) :: SHT_rv 3301 ! splicer begin class.Group.method.create_view_scalar_double 3302 type(C_PTR) :: SHT_prv 3303 SHT_prv = c_group_create_view_scalar_bufferify_double(obj%cxxmem, & 3304 path, len_trim(path, kind=C_INT), value, SHT_rv%cxxmem) 3305 ! splicer end class.Group.method.create_view_scalar_double 3306 end function group_create_view_scalar_double 3307 3308 function group_create_view_string(obj, path, value) & 3309 result(SHT_rv) 3310 use iso_c_binding, only : C_INT, C_PTR 3311 class(SidreGroup) :: obj 3312 character(len=*), intent(IN) :: path 3313 character(len=*), intent(IN) :: value 3314 type(SidreView) :: SHT_rv 3315 ! splicer begin class.Group.method.create_view_string 3316 type(C_PTR) :: SHT_prv 3317 SHT_prv = c_group_create_view_string_bufferify(obj%cxxmem, path, & 3318 len_trim(path, kind=C_INT), value, & 3319 len_trim(value, kind=C_INT), SHT_rv%cxxmem) 3320 ! splicer end class.Group.method.create_view_string 3321 end function group_create_view_string 3322 3323 subroutine group_destroy_view(obj, path) 3324 use iso_c_binding, only : C_INT 3325 class(SidreGroup) :: obj 3326 character(len=*), intent(IN) :: path 3327 ! splicer begin class.Group.method.destroy_view 3328 call c_group_destroy_view_bufferify(obj%cxxmem, path, & 3329 len_trim(path, kind=C_INT)) 3330 ! splicer end class.Group.method.destroy_view 3331 end subroutine group_destroy_view 3332 3333 subroutine group_destroy_view_and_data_name(obj, path) 3334 use iso_c_binding, only : C_INT 3335 class(SidreGroup) :: obj 3336 character(len=*), intent(IN) :: path 3337 ! splicer begin class.Group.method.destroy_view_and_data_name 3338 call c_group_destroy_view_and_data_name_bufferify(obj%cxxmem, & 3339 path, len_trim(path, kind=C_INT)) 3340 ! splicer end class.Group.method.destroy_view_and_data_name 3341 end subroutine group_destroy_view_and_data_name 3342 3343 subroutine group_destroy_view_and_data_index_int32_t(obj, idx) 3344 use iso_c_binding, only : C_INT32_T, C_INT64_T 3345 class(SidreGroup) :: obj 3346 integer(C_INT32_T), value, intent(IN) :: idx 3347 ! splicer begin class.Group.method.destroy_view_and_data_index_int32_t 3348 call c_group_destroy_view_and_data_index(obj%cxxmem, & 3349 int(idx, C_INT64_t)) 3350 ! splicer end class.Group.method.destroy_view_and_data_index_int32_t 3351 end subroutine group_destroy_view_and_data_index_int32_t 3352 3353 subroutine group_destroy_view_and_data_index_int64_t(obj, idx) 3354 use iso_c_binding, only : C_INT64_T 3355 class(SidreGroup) :: obj 3356 integer(C_INT64_T), value, intent(IN) :: idx 3357 ! splicer begin class.Group.method.destroy_view_and_data_index_int64_t 3358 call c_group_destroy_view_and_data_index(obj%cxxmem, & 3359 int(idx, C_INT64_t)) 3360 ! splicer end class.Group.method.destroy_view_and_data_index_int64_t 3361 end subroutine group_destroy_view_and_data_index_int64_t 3362 3363 function group_move_view(obj, view) & 3364 result(SHT_rv) 3365 use iso_c_binding, only : C_PTR 3366 class(SidreGroup) :: obj 3367 type(SidreView), intent(INOUT) :: view 3368 type(SidreView) :: SHT_rv 3369 ! splicer begin class.Group.method.move_view 3370 type(C_PTR) :: SHT_prv 3371 SHT_prv = c_group_move_view(obj%cxxmem, view%cxxmem, & 3372 SHT_rv%cxxmem) 3373 ! splicer end class.Group.method.move_view 3374 end function group_move_view 3375 3376 function group_copy_view(obj, view) & 3377 result(SHT_rv) 3378 use iso_c_binding, only : C_PTR 3379 class(SidreGroup) :: obj 3380 type(SidreView), intent(INOUT) :: view 3381 type(SidreView) :: SHT_rv 3382 ! splicer begin class.Group.method.copy_view 3383 type(C_PTR) :: SHT_prv 3384 SHT_prv = c_group_copy_view(obj%cxxmem, view%cxxmem, & 3385 SHT_rv%cxxmem) 3386 ! splicer end class.Group.method.copy_view 3387 end function group_copy_view 3388 3389 function group_has_group(obj, path) & 3390 result(SHT_rv) 3391 use iso_c_binding, only : C_BOOL, C_INT 3392 class(SidreGroup) :: obj 3393 character(len=*), intent(IN) :: path 3394 logical :: SHT_rv 3395 ! splicer begin class.Group.method.has_group 3396 SHT_rv = c_group_has_group_bufferify(obj%cxxmem, path, & 3397 len_trim(path, kind=C_INT)) 3398 ! splicer end class.Group.method.has_group 3399 end function group_has_group 3400 3401 function group_has_child_group(obj, name) & 3402 result(SHT_rv) 3403 use iso_c_binding, only : C_BOOL, C_INT 3404 class(SidreGroup) :: obj 3405 character(len=*), intent(IN) :: name 3406 logical :: SHT_rv 3407 ! splicer begin class.Group.method.has_child_group 3408 SHT_rv = c_group_has_child_group_bufferify(obj%cxxmem, name, & 3409 len_trim(name, kind=C_INT)) 3410 ! splicer end class.Group.method.has_child_group 3411 end function group_has_child_group 3412 3413 function group_get_group_index(obj, name) & 3414 result(SHT_rv) 3415 use iso_c_binding, only : C_INT, C_INT64_T 3416 class(SidreGroup) :: obj 3417 character(len=*), intent(IN) :: name 3418 integer(C_INT64_T) :: SHT_rv 3419 ! splicer begin class.Group.method.get_group_index 3420 SHT_rv = c_group_get_group_index_bufferify(obj%cxxmem, name, & 3421 len_trim(name, kind=C_INT)) 3422 ! splicer end class.Group.method.get_group_index 3423 end function group_get_group_index 3424 3425 function group_get_group_name_int32_t(obj, idx) & 3426 result(SHT_rv) 3427 use iso_c_binding, only : C_INT, C_INT32_T, C_INT64_T 3428 class(SidreGroup) :: obj 3429 integer(C_INT32_T), value, intent(IN) :: idx 3430 character(len=MAXNAMESIZE) :: SHT_rv 3431 ! splicer begin class.Group.method.get_group_name_int32_t 3432 call c_group_get_group_name_bufferify(obj%cxxmem, & 3433 int(idx, C_INT64_t), SHT_rv, len(SHT_rv, kind=C_INT)) 3434 ! splicer end class.Group.method.get_group_name_int32_t 3435 end function group_get_group_name_int32_t 3436 3437 function group_get_group_name_int64_t(obj, idx) & 3438 result(SHT_rv) 3439 use iso_c_binding, only : C_INT, C_INT64_T 3440 class(SidreGroup) :: obj 3441 integer(C_INT64_T), value, intent(IN) :: idx 3442 character(len=MAXNAMESIZE) :: SHT_rv 3443 ! splicer begin class.Group.method.get_group_name_int64_t 3444 call c_group_get_group_name_bufferify(obj%cxxmem, & 3445 int(idx, C_INT64_t), SHT_rv, len(SHT_rv, kind=C_INT)) 3446 ! splicer end class.Group.method.get_group_name_int64_t 3447 end function group_get_group_name_int64_t 3448 3449 function group_get_group_from_name(obj, path) & 3450 result(SHT_rv) 3451 use iso_c_binding, only : C_INT, C_PTR 3452 class(SidreGroup) :: obj 3453 character(len=*), intent(IN) :: path 3454 type(SidreGroup) :: SHT_rv 3455 ! splicer begin class.Group.method.get_group_from_name 3456 type(C_PTR) :: SHT_prv 3457 SHT_prv = c_group_get_group_from_name_bufferify(obj%cxxmem, & 3458 path, len_trim(path, kind=C_INT), SHT_rv%cxxmem) 3459 ! splicer end class.Group.method.get_group_from_name 3460 end function group_get_group_from_name 3461 3462 function group_get_group_from_index_int32_t(obj, idx) & 3463 result(SHT_rv) 3464 use iso_c_binding, only : C_INT32_T, C_INT64_T, C_PTR 3465 class(SidreGroup) :: obj 3466 integer(C_INT32_T), value, intent(IN) :: idx 3467 type(SidreGroup) :: SHT_rv 3468 ! splicer begin class.Group.method.get_group_from_index_int32_t 3469 type(C_PTR) :: SHT_prv 3470 SHT_prv = c_group_get_group_from_index(obj%cxxmem, & 3471 int(idx, C_INT64_t), SHT_rv%cxxmem) 3472 ! splicer end class.Group.method.get_group_from_index_int32_t 3473 end function group_get_group_from_index_int32_t 3474 3475 function group_get_group_from_index_int64_t(obj, idx) & 3476 result(SHT_rv) 3477 use iso_c_binding, only : C_INT64_T, C_PTR 3478 class(SidreGroup) :: obj 3479 integer(C_INT64_T), value, intent(IN) :: idx 3480 type(SidreGroup) :: SHT_rv 3481 ! splicer begin class.Group.method.get_group_from_index_int64_t 3482 type(C_PTR) :: SHT_prv 3483 SHT_prv = c_group_get_group_from_index(obj%cxxmem, & 3484 int(idx, C_INT64_t), SHT_rv%cxxmem) 3485 ! splicer end class.Group.method.get_group_from_index_int64_t 3486 end function group_get_group_from_index_int64_t 3487 3488 function group_get_first_valid_group_index(obj) & 3489 result(SHT_rv) 3490 use iso_c_binding, only : C_INT64_T 3491 class(SidreGroup) :: obj 3492 integer(C_INT64_T) :: SHT_rv 3493 ! splicer begin class.Group.method.get_first_valid_group_index 3494 SHT_rv = c_group_get_first_valid_group_index(obj%cxxmem) 3495 ! splicer end class.Group.method.get_first_valid_group_index 3496 end function group_get_first_valid_group_index 3497 3498 function group_get_next_valid_group_index_int32_t(obj, idx) & 3499 result(SHT_rv) 3500 use iso_c_binding, only : C_INT32_T, C_INT64_T 3501 class(SidreGroup) :: obj 3502 integer(C_INT32_T), value, intent(IN) :: idx 3503 integer(C_INT64_T) :: SHT_rv 3504 ! splicer begin class.Group.method.get_next_valid_group_index_int32_t 3505 SHT_rv = c_group_get_next_valid_group_index(obj%cxxmem, & 3506 int(idx, C_INT64_t)) 3507 ! splicer end class.Group.method.get_next_valid_group_index_int32_t 3508 end function group_get_next_valid_group_index_int32_t 3509 3510 function group_get_next_valid_group_index_int64_t(obj, idx) & 3511 result(SHT_rv) 3512 use iso_c_binding, only : C_INT64_T 3513 class(SidreGroup) :: obj 3514 integer(C_INT64_T), value, intent(IN) :: idx 3515 integer(C_INT64_T) :: SHT_rv 3516 ! splicer begin class.Group.method.get_next_valid_group_index_int64_t 3517 SHT_rv = c_group_get_next_valid_group_index(obj%cxxmem, & 3518 int(idx, C_INT64_t)) 3519 ! splicer end class.Group.method.get_next_valid_group_index_int64_t 3520 end function group_get_next_valid_group_index_int64_t 3521 3522 function group_create_group(obj, path) & 3523 result(SHT_rv) 3524 use iso_c_binding, only : C_INT, C_PTR 3525 class(SidreGroup) :: obj 3526 character(len=*), intent(IN) :: path 3527 type(SidreGroup) :: SHT_rv 3528 ! splicer begin class.Group.method.create_group 3529 type(C_PTR) :: SHT_prv 3530 SHT_prv = c_group_create_group_bufferify(obj%cxxmem, path, & 3531 len_trim(path, kind=C_INT), SHT_rv%cxxmem) 3532 ! splicer end class.Group.method.create_group 3533 end function group_create_group 3534 3535 subroutine group_destroy_group_name(obj, path) 3536 use iso_c_binding, only : C_INT 3537 class(SidreGroup) :: obj 3538 character(len=*), intent(IN) :: path 3539 ! splicer begin class.Group.method.destroy_group_name 3540 call c_group_destroy_group_name_bufferify(obj%cxxmem, path, & 3541 len_trim(path, kind=C_INT)) 3542 ! splicer end class.Group.method.destroy_group_name 3543 end subroutine group_destroy_group_name 3544 3545 subroutine group_destroy_group_index_int32_t(obj, idx) 3546 use iso_c_binding, only : C_INT32_T, C_INT64_T 3547 class(SidreGroup) :: obj 3548 integer(C_INT32_T), value, intent(IN) :: idx 3549 ! splicer begin class.Group.method.destroy_group_index_int32_t 3550 call c_group_destroy_group_index(obj%cxxmem, & 3551 int(idx, C_INT64_t)) 3552 ! splicer end class.Group.method.destroy_group_index_int32_t 3553 end subroutine group_destroy_group_index_int32_t 3554 3555 subroutine group_destroy_group_index_int64_t(obj, idx) 3556 use iso_c_binding, only : C_INT64_T 3557 class(SidreGroup) :: obj 3558 integer(C_INT64_T), value, intent(IN) :: idx 3559 ! splicer begin class.Group.method.destroy_group_index_int64_t 3560 call c_group_destroy_group_index(obj%cxxmem, & 3561 int(idx, C_INT64_t)) 3562 ! splicer end class.Group.method.destroy_group_index_int64_t 3563 end subroutine group_destroy_group_index_int64_t 3564 3565 function group_move_group(obj, grp) & 3566 result(SHT_rv) 3567 use iso_c_binding, only : C_PTR 3568 class(SidreGroup) :: obj 3569 type(SidreGroup), intent(INOUT) :: grp 3570 type(SidreGroup) :: SHT_rv 3571 ! splicer begin class.Group.method.move_group 3572 type(C_PTR) :: SHT_prv 3573 SHT_prv = c_group_move_group(obj%cxxmem, grp%cxxmem, & 3574 SHT_rv%cxxmem) 3575 ! splicer end class.Group.method.move_group 3576 end function group_move_group 3577 3578 subroutine group_print(obj) 3579 class(SidreGroup) :: obj 3580 ! splicer begin class.Group.method.print 3581 call c_group_print(obj%cxxmem) 3582 ! splicer end class.Group.method.print 3583 end subroutine group_print 3584 3585 function group_is_equivalent_to(obj, other) & 3586 result(SHT_rv) 3587 use iso_c_binding, only : C_BOOL 3588 class(SidreGroup) :: obj 3589 type(SidreGroup), intent(IN) :: other 3590 logical :: SHT_rv 3591 ! splicer begin class.Group.method.is_equivalent_to 3592 SHT_rv = c_group_is_equivalent_to(obj%cxxmem, other%cxxmem) 3593 ! splicer end class.Group.method.is_equivalent_to 3594 end function group_is_equivalent_to 3595 3596 subroutine group_save(obj, file_path, protocol) 3597 use iso_c_binding, only : C_INT 3598 class(SidreGroup) :: obj 3599 character(len=*), intent(IN) :: file_path 3600 character(len=*), intent(IN) :: protocol 3601 ! splicer begin class.Group.method.save 3602 call c_group_save_bufferify(obj%cxxmem, file_path, & 3603 len_trim(file_path, kind=C_INT), protocol, & 3604 len_trim(protocol, kind=C_INT)) 3605 ! splicer end class.Group.method.save 3606 end subroutine group_save 3607 3608 subroutine group_load_0(obj, file_path, protocol) 3609 use iso_c_binding, only : C_INT 3610 class(SidreGroup) :: obj 3611 character(len=*), intent(IN) :: file_path 3612 character(len=*), intent(IN) :: protocol 3613 ! splicer begin class.Group.method.load_0 3614 call c_group_load_0_bufferify(obj%cxxmem, file_path, & 3615 len_trim(file_path, kind=C_INT), protocol, & 3616 len_trim(protocol, kind=C_INT)) 3617 ! splicer end class.Group.method.load_0 3618 end subroutine group_load_0 3619 3620 subroutine group_load_1(obj, file_path, protocol, preserve_contents) 3621 use iso_c_binding, only : C_BOOL, C_INT 3622 class(SidreGroup) :: obj 3623 character(len=*), intent(IN) :: file_path 3624 character(len=*), intent(IN) :: protocol 3625 logical, value, intent(IN) :: preserve_contents 3626 ! splicer begin class.Group.method.load_1 3627 logical(C_BOOL) SH_preserve_contents 3628 SH_preserve_contents = preserve_contents ! coerce to C_BOOL 3629 call c_group_load_1_bufferify(obj%cxxmem, file_path, & 3630 len_trim(file_path, kind=C_INT), protocol, & 3631 len_trim(protocol, kind=C_INT), SH_preserve_contents) 3632 ! splicer end class.Group.method.load_1 3633 end subroutine group_load_1 3634 3635 subroutine group_load_external_data(obj, file_path) 3636 use iso_c_binding, only : C_INT 3637 class(SidreGroup) :: obj 3638 character(len=*), intent(IN) :: file_path 3639 ! splicer begin class.Group.method.load_external_data 3640 call c_group_load_external_data_bufferify(obj%cxxmem, file_path, & 3641 len_trim(file_path, kind=C_INT)) 3642 ! splicer end class.Group.method.load_external_data 3643 end subroutine group_load_external_data 3644 3645 function group_rename(obj, new_name) & 3646 result(SHT_rv) 3647 use iso_c_binding, only : C_BOOL, C_INT 3648 class(SidreGroup) :: obj 3649 character(len=*), intent(IN) :: new_name 3650 logical :: SHT_rv 3651 ! splicer begin class.Group.method.rename 3652 SHT_rv = c_group_rename_bufferify(obj%cxxmem, new_name, & 3653 len_trim(new_name, kind=C_INT)) 3654 ! splicer end class.Group.method.rename 3655 end function group_rename 3656 3657 ! Return pointer to C++ memory. 3658 function group_get_instance(obj) result (cxxptr) 3659 use iso_c_binding, only: C_PTR 3660 class(SidreGroup), intent(IN) :: obj 3661 type(C_PTR) :: cxxptr 3662 cxxptr = obj%cxxmem%addr 3663 end function group_get_instance 3664 3665 subroutine group_set_instance(obj, cxxmem) 3666 use iso_c_binding, only: C_PTR 3667 class(SidreGroup), intent(INOUT) :: obj 3668 type(C_PTR), intent(IN) :: cxxmem 3669 obj%cxxmem%addr = cxxmem 3670 obj%cxxmem%idtor = 0 3671 end subroutine group_set_instance 3672 3673 function group_associated(obj) result (rv) 3674 use iso_c_binding, only: c_associated 3675 class(SidreGroup), intent(IN) :: obj 3676 logical rv 3677 rv = c_associated(obj%cxxmem%addr) 3678 end function group_associated 3679 3680 ! splicer begin class.Group.additional_functions 3681 3682 ! Generated by genfsidresplicer.py 3683 subroutine group_get_scalar_int(grp, name, value) 3684 use iso_c_binding 3685 class(SidreGroup), intent(IN) :: grp 3686 character(*), intent(IN) :: name 3687 integer(C_INT), intent(OUT) :: value 3688 integer(C_INT) :: lname 3689 type(SIDRE_SHROUD_view_capsule) view 3690 type(C_PTR) viewptr 3691 3692 lname = len_trim(name) 3693 viewptr = c_group_get_view_from_name_bufferify(grp%cxxmem, name, lname, view) 3694 value = c_view_get_data_int(view) 3695 end subroutine group_get_scalar_int 3696 3697 ! Generated by genfsidresplicer.py 3698 subroutine group_get_scalar_long(grp, name, value) 3699 use iso_c_binding 3700 class(SidreGroup), intent(IN) :: grp 3701 character(*), intent(IN) :: name 3702 integer(C_LONG), intent(OUT) :: value 3703 integer(C_INT) :: lname 3704 type(SIDRE_SHROUD_view_capsule) view 3705 type(C_PTR) viewptr 3706 3707 lname = len_trim(name) 3708 viewptr = c_group_get_view_from_name_bufferify(grp%cxxmem, name, lname, view) 3709 value = c_view_get_data_long(view) 3710 end subroutine group_get_scalar_long 3711 3712 ! Generated by genfsidresplicer.py 3713 subroutine group_get_scalar_float(grp, name, value) 3714 use iso_c_binding 3715 class(SidreGroup), intent(IN) :: grp 3716 character(*), intent(IN) :: name 3717 real(C_FLOAT), intent(OUT) :: value 3718 integer(C_INT) :: lname 3719 type(SIDRE_SHROUD_view_capsule) view 3720 type(C_PTR) viewptr 3721 3722 lname = len_trim(name) 3723 viewptr = c_group_get_view_from_name_bufferify(grp%cxxmem, name, lname, view) 3724 value = c_view_get_data_float(view) 3725 end subroutine group_get_scalar_float 3726 3727 ! Generated by genfsidresplicer.py 3728 subroutine group_get_scalar_double(grp, name, value) 3729 use iso_c_binding 3730 class(SidreGroup), intent(IN) :: grp 3731 character(*), intent(IN) :: name 3732 real(C_DOUBLE), intent(OUT) :: value 3733 integer(C_INT) :: lname 3734 type(SIDRE_SHROUD_view_capsule) view 3735 type(C_PTR) viewptr 3736 3737 lname = len_trim(name) 3738 viewptr = c_group_get_view_from_name_bufferify(grp%cxxmem, name, lname, view) 3739 value = c_view_get_data_double(view) 3740 end subroutine group_get_scalar_double 3741 3742 ! Generated by genfsidresplicer.py 3743 subroutine group_set_scalar_int(grp, name, value) 3744 use iso_c_binding 3745 class(SidreGroup), intent(IN) :: grp 3746 character(*), intent(IN) :: name 3747 integer(C_INT), intent(IN) :: value 3748 integer(C_INT) :: lname 3749 type(SIDRE_SHROUD_view_capsule) view 3750 type(C_PTR) viewptr 3751 3752 lname = len_trim(name) 3753 viewptr = c_group_get_view_from_name_bufferify(grp%cxxmem, name, lname, view) 3754 call c_view_set_scalar_int(view, value) 3755 end subroutine group_set_scalar_int 3756 3757 ! Generated by genfsidresplicer.py 3758 subroutine group_set_scalar_long(grp, name, value) 3759 use iso_c_binding 3760 class(SidreGroup), intent(IN) :: grp 3761 character(*), intent(IN) :: name 3762 integer(C_LONG), intent(IN) :: value 3763 integer(C_INT) :: lname 3764 type(SIDRE_SHROUD_view_capsule) view 3765 type(C_PTR) viewptr 3766 3767 lname = len_trim(name) 3768 viewptr = c_group_get_view_from_name_bufferify(grp%cxxmem, name, lname, view) 3769 call c_view_set_scalar_long(view, value) 3770 end subroutine group_set_scalar_long 3771 3772 ! Generated by genfsidresplicer.py 3773 subroutine group_set_scalar_float(grp, name, value) 3774 use iso_c_binding 3775 class(SidreGroup), intent(IN) :: grp 3776 character(*), intent(IN) :: name 3777 real(C_FLOAT), intent(IN) :: value 3778 integer(C_INT) :: lname 3779 type(SIDRE_SHROUD_view_capsule) view 3780 type(C_PTR) viewptr 3781 3782 lname = len_trim(name) 3783 viewptr = c_group_get_view_from_name_bufferify(grp%cxxmem, name, lname, view) 3784 call c_view_set_scalar_float(view, value) 3785 end subroutine group_set_scalar_float 3786 3787 ! Generated by genfsidresplicer.py 3788 subroutine group_set_scalar_double(grp, name, value) 3789 use iso_c_binding 3790 class(SidreGroup), intent(IN) :: grp 3791 character(*), intent(IN) :: name 3792 real(C_DOUBLE), intent(IN) :: value 3793 integer(C_INT) :: lname 3794 type(SIDRE_SHROUD_view_capsule) view 3795 type(C_PTR) viewptr 3796 3797 lname = len_trim(name) 3798 viewptr = c_group_get_view_from_name_bufferify(grp%cxxmem, name, lname, view) 3799 call c_view_set_scalar_double(view, value) 3800 end subroutine group_set_scalar_double 3801 3802 ! Generated by genfsidresplicer.py 3803 function group_create_array_view_int_scalar(grp, name, value) result(rv) 3804 use iso_c_binding 3805 implicit none 3806 3807 class(SidreGroup), intent(IN) :: grp 3808 character(*), intent(IN) :: name 3809 integer(C_INT), target, intent(IN) :: value 3810 integer(C_INT) :: lname 3811 type(SidreView) :: rv 3812 integer(SIDRE_IndexType) :: extents(1) 3813 integer(C_INT), parameter :: type = SIDRE_INT_ID 3814 type(C_PTR) addr, viewptr 3815 3816 lname = len_trim(name) 3817#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 3818 addr = c_loc(value) 3819#else 3820 call SIDRE_C_LOC(value, addr) 3821#endif 3822 extents(1) = 1_SIDRE_IndexType 3823 viewptr = c_group_create_view_external_bufferify( & 3824 grp%cxxmem, name, lname, addr, rv%cxxmem) 3825 call c_view_apply_type_shape(rv%cxxmem, type, 0, extents) 3826 end function group_create_array_view_int_scalar 3827 3828 ! Generated by genfsidresplicer.py 3829 function group_create_array_view_int_1d(grp, name, value) result(rv) 3830 use iso_c_binding 3831 implicit none 3832 3833 class(SidreGroup), intent(IN) :: grp 3834 character(*), intent(IN) :: name 3835 integer(C_INT), target, intent(IN) :: value(:) 3836 integer(C_INT) :: lname 3837 type(SidreView) :: rv 3838 integer(SIDRE_IndexType) :: extents(1) 3839 integer(C_INT), parameter :: type = SIDRE_INT_ID 3840 type(C_PTR) addr, viewptr 3841 3842 lname = len_trim(name) 3843#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 3844 addr = c_loc(value) 3845#else 3846 call SIDRE_C_LOC(value(lbound(value,1)), addr) 3847#endif 3848 extents = shape(value, kind=SIDRE_IndexType) 3849 viewptr = c_group_create_view_external_bufferify( & 3850 grp%cxxmem, name, lname, addr, rv%cxxmem) 3851 call c_view_apply_type_shape(rv%cxxmem, type, 1, extents) 3852 end function group_create_array_view_int_1d 3853 3854 ! Generated by genfsidresplicer.py 3855 function group_create_array_view_int_2d(grp, name, value) result(rv) 3856 use iso_c_binding 3857 implicit none 3858 3859 class(SidreGroup), intent(IN) :: grp 3860 character(*), intent(IN) :: name 3861 integer(C_INT), target, intent(IN) :: value(:,:) 3862 integer(C_INT) :: lname 3863 type(SidreView) :: rv 3864 integer(SIDRE_IndexType) :: extents(2) 3865 integer(C_INT), parameter :: type = SIDRE_INT_ID 3866 type(C_PTR) addr, viewptr 3867 3868 lname = len_trim(name) 3869#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 3870 addr = c_loc(value) 3871#else 3872 call SIDRE_C_LOC(value(lbound(value,1),lbound(value,2)), addr) 3873#endif 3874 extents = shape(value, kind=SIDRE_IndexType) 3875 viewptr = c_group_create_view_external_bufferify( & 3876 grp%cxxmem, name, lname, addr, rv%cxxmem) 3877 call c_view_apply_type_shape(rv%cxxmem, type, 2, extents) 3878 end function group_create_array_view_int_2d 3879 3880 ! Generated by genfsidresplicer.py 3881 function group_create_array_view_int_3d(grp, name, value) result(rv) 3882 use iso_c_binding 3883 implicit none 3884 3885 class(SidreGroup), intent(IN) :: grp 3886 character(*), intent(IN) :: name 3887 integer(C_INT), target, intent(IN) :: value(:,:,:) 3888 integer(C_INT) :: lname 3889 type(SidreView) :: rv 3890 integer(SIDRE_IndexType) :: extents(3) 3891 integer(C_INT), parameter :: type = SIDRE_INT_ID 3892 type(C_PTR) addr, viewptr 3893 3894 lname = len_trim(name) 3895#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 3896 addr = c_loc(value) 3897#else 3898 call SIDRE_C_LOC(value(lbound(value,1),lbound(value,2),lbound(value,3)), addr) 3899#endif 3900 extents = shape(value, kind=SIDRE_IndexType) 3901 viewptr = c_group_create_view_external_bufferify( & 3902 grp%cxxmem, name, lname, addr, rv%cxxmem) 3903 call c_view_apply_type_shape(rv%cxxmem, type, 3, extents) 3904 end function group_create_array_view_int_3d 3905 3906 ! Generated by genfsidresplicer.py 3907 function group_create_array_view_int_4d(grp, name, value) result(rv) 3908 use iso_c_binding 3909 implicit none 3910 3911 class(SidreGroup), intent(IN) :: grp 3912 character(*), intent(IN) :: name 3913 integer(C_INT), target, intent(IN) :: value(:,:,:,:) 3914 integer(C_INT) :: lname 3915 type(SidreView) :: rv 3916 integer(SIDRE_IndexType) :: extents(4) 3917 integer(C_INT), parameter :: type = SIDRE_INT_ID 3918 type(C_PTR) addr, viewptr 3919 3920 lname = len_trim(name) 3921#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 3922 addr = c_loc(value) 3923#else 3924 call SIDRE_C_LOC(value(lbound(value,1),lbound(value,2),lbound(value,3),lbound(value,4)), addr) 3925#endif 3926 extents = shape(value, kind=SIDRE_IndexType) 3927 viewptr = c_group_create_view_external_bufferify( & 3928 grp%cxxmem, name, lname, addr, rv%cxxmem) 3929 call c_view_apply_type_shape(rv%cxxmem, type, 4, extents) 3930 end function group_create_array_view_int_4d 3931 3932 ! Generated by genfsidresplicer.py 3933 function group_create_array_view_long_scalar(grp, name, value) result(rv) 3934 use iso_c_binding 3935 implicit none 3936 3937 class(SidreGroup), intent(IN) :: grp 3938 character(*), intent(IN) :: name 3939 integer(C_LONG), target, intent(IN) :: value 3940 integer(C_INT) :: lname 3941 type(SidreView) :: rv 3942 integer(SIDRE_IndexType) :: extents(1) 3943 integer(C_INT), parameter :: type = SIDRE_LONG_ID 3944 type(C_PTR) addr, viewptr 3945 3946 lname = len_trim(name) 3947#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 3948 addr = c_loc(value) 3949#else 3950 call SIDRE_C_LOC(value, addr) 3951#endif 3952 extents(1) = 1_SIDRE_IndexType 3953 viewptr = c_group_create_view_external_bufferify( & 3954 grp%cxxmem, name, lname, addr, rv%cxxmem) 3955 call c_view_apply_type_shape(rv%cxxmem, type, 0, extents) 3956 end function group_create_array_view_long_scalar 3957 3958 ! Generated by genfsidresplicer.py 3959 function group_create_array_view_long_1d(grp, name, value) result(rv) 3960 use iso_c_binding 3961 implicit none 3962 3963 class(SidreGroup), intent(IN) :: grp 3964 character(*), intent(IN) :: name 3965 integer(C_LONG), target, intent(IN) :: value(:) 3966 integer(C_INT) :: lname 3967 type(SidreView) :: rv 3968 integer(SIDRE_IndexType) :: extents(1) 3969 integer(C_INT), parameter :: type = SIDRE_LONG_ID 3970 type(C_PTR) addr, viewptr 3971 3972 lname = len_trim(name) 3973#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 3974 addr = c_loc(value) 3975#else 3976 call SIDRE_C_LOC(value(lbound(value,1)), addr) 3977#endif 3978 extents = shape(value, kind=SIDRE_IndexType) 3979 viewptr = c_group_create_view_external_bufferify( & 3980 grp%cxxmem, name, lname, addr, rv%cxxmem) 3981 call c_view_apply_type_shape(rv%cxxmem, type, 1, extents) 3982 end function group_create_array_view_long_1d 3983 3984 ! Generated by genfsidresplicer.py 3985 function group_create_array_view_long_2d(grp, name, value) result(rv) 3986 use iso_c_binding 3987 implicit none 3988 3989 class(SidreGroup), intent(IN) :: grp 3990 character(*), intent(IN) :: name 3991 integer(C_LONG), target, intent(IN) :: value(:,:) 3992 integer(C_INT) :: lname 3993 type(SidreView) :: rv 3994 integer(SIDRE_IndexType) :: extents(2) 3995 integer(C_INT), parameter :: type = SIDRE_LONG_ID 3996 type(C_PTR) addr, viewptr 3997 3998 lname = len_trim(name) 3999#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 4000 addr = c_loc(value) 4001#else 4002 call SIDRE_C_LOC(value(lbound(value,1),lbound(value,2)), addr) 4003#endif 4004 extents = shape(value, kind=SIDRE_IndexType) 4005 viewptr = c_group_create_view_external_bufferify( & 4006 grp%cxxmem, name, lname, addr, rv%cxxmem) 4007 call c_view_apply_type_shape(rv%cxxmem, type, 2, extents) 4008 end function group_create_array_view_long_2d 4009 4010 ! Generated by genfsidresplicer.py 4011 function group_create_array_view_long_3d(grp, name, value) result(rv) 4012 use iso_c_binding 4013 implicit none 4014 4015 class(SidreGroup), intent(IN) :: grp 4016 character(*), intent(IN) :: name 4017 integer(C_LONG), target, intent(IN) :: value(:,:,:) 4018 integer(C_INT) :: lname 4019 type(SidreView) :: rv 4020 integer(SIDRE_IndexType) :: extents(3) 4021 integer(C_INT), parameter :: type = SIDRE_LONG_ID 4022 type(C_PTR) addr, viewptr 4023 4024 lname = len_trim(name) 4025#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 4026 addr = c_loc(value) 4027#else 4028 call SIDRE_C_LOC(value(lbound(value,1),lbound(value,2),lbound(value,3)), addr) 4029#endif 4030 extents = shape(value, kind=SIDRE_IndexType) 4031 viewptr = c_group_create_view_external_bufferify( & 4032 grp%cxxmem, name, lname, addr, rv%cxxmem) 4033 call c_view_apply_type_shape(rv%cxxmem, type, 3, extents) 4034 end function group_create_array_view_long_3d 4035 4036 ! Generated by genfsidresplicer.py 4037 function group_create_array_view_long_4d(grp, name, value) result(rv) 4038 use iso_c_binding 4039 implicit none 4040 4041 class(SidreGroup), intent(IN) :: grp 4042 character(*), intent(IN) :: name 4043 integer(C_LONG), target, intent(IN) :: value(:,:,:,:) 4044 integer(C_INT) :: lname 4045 type(SidreView) :: rv 4046 integer(SIDRE_IndexType) :: extents(4) 4047 integer(C_INT), parameter :: type = SIDRE_LONG_ID 4048 type(C_PTR) addr, viewptr 4049 4050 lname = len_trim(name) 4051#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 4052 addr = c_loc(value) 4053#else 4054 call SIDRE_C_LOC(value(lbound(value,1),lbound(value,2),lbound(value,3),lbound(value,4)), addr) 4055#endif 4056 extents = shape(value, kind=SIDRE_IndexType) 4057 viewptr = c_group_create_view_external_bufferify( & 4058 grp%cxxmem, name, lname, addr, rv%cxxmem) 4059 call c_view_apply_type_shape(rv%cxxmem, type, 4, extents) 4060 end function group_create_array_view_long_4d 4061 4062 ! Generated by genfsidresplicer.py 4063 function group_create_array_view_float_scalar(grp, name, value) result(rv) 4064 use iso_c_binding 4065 implicit none 4066 4067 class(SidreGroup), intent(IN) :: grp 4068 character(*), intent(IN) :: name 4069 real(C_FLOAT), target, intent(IN) :: value 4070 integer(C_INT) :: lname 4071 type(SidreView) :: rv 4072 integer(SIDRE_IndexType) :: extents(1) 4073 integer(C_INT), parameter :: type = SIDRE_FLOAT_ID 4074 type(C_PTR) addr, viewptr 4075 4076 lname = len_trim(name) 4077#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 4078 addr = c_loc(value) 4079#else 4080 call SIDRE_C_LOC(value, addr) 4081#endif 4082 extents(1) = 1_SIDRE_IndexType 4083 viewptr = c_group_create_view_external_bufferify( & 4084 grp%cxxmem, name, lname, addr, rv%cxxmem) 4085 call c_view_apply_type_shape(rv%cxxmem, type, 0, extents) 4086 end function group_create_array_view_float_scalar 4087 4088 ! Generated by genfsidresplicer.py 4089 function group_create_array_view_float_1d(grp, name, value) result(rv) 4090 use iso_c_binding 4091 implicit none 4092 4093 class(SidreGroup), intent(IN) :: grp 4094 character(*), intent(IN) :: name 4095 real(C_FLOAT), target, intent(IN) :: value(:) 4096 integer(C_INT) :: lname 4097 type(SidreView) :: rv 4098 integer(SIDRE_IndexType) :: extents(1) 4099 integer(C_INT), parameter :: type = SIDRE_FLOAT_ID 4100 type(C_PTR) addr, viewptr 4101 4102 lname = len_trim(name) 4103#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 4104 addr = c_loc(value) 4105#else 4106 call SIDRE_C_LOC(value(lbound(value,1)), addr) 4107#endif 4108 extents = shape(value, kind=SIDRE_IndexType) 4109 viewptr = c_group_create_view_external_bufferify( & 4110 grp%cxxmem, name, lname, addr, rv%cxxmem) 4111 call c_view_apply_type_shape(rv%cxxmem, type, 1, extents) 4112 end function group_create_array_view_float_1d 4113 4114 ! Generated by genfsidresplicer.py 4115 function group_create_array_view_float_2d(grp, name, value) result(rv) 4116 use iso_c_binding 4117 implicit none 4118 4119 class(SidreGroup), intent(IN) :: grp 4120 character(*), intent(IN) :: name 4121 real(C_FLOAT), target, intent(IN) :: value(:,:) 4122 integer(C_INT) :: lname 4123 type(SidreView) :: rv 4124 integer(SIDRE_IndexType) :: extents(2) 4125 integer(C_INT), parameter :: type = SIDRE_FLOAT_ID 4126 type(C_PTR) addr, viewptr 4127 4128 lname = len_trim(name) 4129#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 4130 addr = c_loc(value) 4131#else 4132 call SIDRE_C_LOC(value(lbound(value,1),lbound(value,2)), addr) 4133#endif 4134 extents = shape(value, kind=SIDRE_IndexType) 4135 viewptr = c_group_create_view_external_bufferify( & 4136 grp%cxxmem, name, lname, addr, rv%cxxmem) 4137 call c_view_apply_type_shape(rv%cxxmem, type, 2, extents) 4138 end function group_create_array_view_float_2d 4139 4140 ! Generated by genfsidresplicer.py 4141 function group_create_array_view_float_3d(grp, name, value) result(rv) 4142 use iso_c_binding 4143 implicit none 4144 4145 class(SidreGroup), intent(IN) :: grp 4146 character(*), intent(IN) :: name 4147 real(C_FLOAT), target, intent(IN) :: value(:,:,:) 4148 integer(C_INT) :: lname 4149 type(SidreView) :: rv 4150 integer(SIDRE_IndexType) :: extents(3) 4151 integer(C_INT), parameter :: type = SIDRE_FLOAT_ID 4152 type(C_PTR) addr, viewptr 4153 4154 lname = len_trim(name) 4155#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 4156 addr = c_loc(value) 4157#else 4158 call SIDRE_C_LOC(value(lbound(value,1),lbound(value,2),lbound(value,3)), addr) 4159#endif 4160 extents = shape(value, kind=SIDRE_IndexType) 4161 viewptr = c_group_create_view_external_bufferify( & 4162 grp%cxxmem, name, lname, addr, rv%cxxmem) 4163 call c_view_apply_type_shape(rv%cxxmem, type, 3, extents) 4164 end function group_create_array_view_float_3d 4165 4166 ! Generated by genfsidresplicer.py 4167 function group_create_array_view_float_4d(grp, name, value) result(rv) 4168 use iso_c_binding 4169 implicit none 4170 4171 class(SidreGroup), intent(IN) :: grp 4172 character(*), intent(IN) :: name 4173 real(C_FLOAT), target, intent(IN) :: value(:,:,:,:) 4174 integer(C_INT) :: lname 4175 type(SidreView) :: rv 4176 integer(SIDRE_IndexType) :: extents(4) 4177 integer(C_INT), parameter :: type = SIDRE_FLOAT_ID 4178 type(C_PTR) addr, viewptr 4179 4180 lname = len_trim(name) 4181#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 4182 addr = c_loc(value) 4183#else 4184 call SIDRE_C_LOC(value(lbound(value,1),lbound(value,2),lbound(value,3),lbound(value,4)), addr) 4185#endif 4186 extents = shape(value, kind=SIDRE_IndexType) 4187 viewptr = c_group_create_view_external_bufferify( & 4188 grp%cxxmem, name, lname, addr, rv%cxxmem) 4189 call c_view_apply_type_shape(rv%cxxmem, type, 4, extents) 4190 end function group_create_array_view_float_4d 4191 4192 ! Generated by genfsidresplicer.py 4193 function group_create_array_view_double_scalar(grp, name, value) result(rv) 4194 use iso_c_binding 4195 implicit none 4196 4197 class(SidreGroup), intent(IN) :: grp 4198 character(*), intent(IN) :: name 4199 real(C_DOUBLE), target, intent(IN) :: value 4200 integer(C_INT) :: lname 4201 type(SidreView) :: rv 4202 integer(SIDRE_IndexType) :: extents(1) 4203 integer(C_INT), parameter :: type = SIDRE_DOUBLE_ID 4204 type(C_PTR) addr, viewptr 4205 4206 lname = len_trim(name) 4207#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 4208 addr = c_loc(value) 4209#else 4210 call SIDRE_C_LOC(value, addr) 4211#endif 4212 extents(1) = 1_SIDRE_IndexType 4213 viewptr = c_group_create_view_external_bufferify( & 4214 grp%cxxmem, name, lname, addr, rv%cxxmem) 4215 call c_view_apply_type_shape(rv%cxxmem, type, 0, extents) 4216 end function group_create_array_view_double_scalar 4217 4218 ! Generated by genfsidresplicer.py 4219 function group_create_array_view_double_1d(grp, name, value) result(rv) 4220 use iso_c_binding 4221 implicit none 4222 4223 class(SidreGroup), intent(IN) :: grp 4224 character(*), intent(IN) :: name 4225 real(C_DOUBLE), target, intent(IN) :: value(:) 4226 integer(C_INT) :: lname 4227 type(SidreView) :: rv 4228 integer(SIDRE_IndexType) :: extents(1) 4229 integer(C_INT), parameter :: type = SIDRE_DOUBLE_ID 4230 type(C_PTR) addr, viewptr 4231 4232 lname = len_trim(name) 4233#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 4234 addr = c_loc(value) 4235#else 4236 call SIDRE_C_LOC(value(lbound(value,1)), addr) 4237#endif 4238 extents = shape(value, kind=SIDRE_IndexType) 4239 viewptr = c_group_create_view_external_bufferify( & 4240 grp%cxxmem, name, lname, addr, rv%cxxmem) 4241 call c_view_apply_type_shape(rv%cxxmem, type, 1, extents) 4242 end function group_create_array_view_double_1d 4243 4244 ! Generated by genfsidresplicer.py 4245 function group_create_array_view_double_2d(grp, name, value) result(rv) 4246 use iso_c_binding 4247 implicit none 4248 4249 class(SidreGroup), intent(IN) :: grp 4250 character(*), intent(IN) :: name 4251 real(C_DOUBLE), target, intent(IN) :: value(:,:) 4252 integer(C_INT) :: lname 4253 type(SidreView) :: rv 4254 integer(SIDRE_IndexType) :: extents(2) 4255 integer(C_INT), parameter :: type = SIDRE_DOUBLE_ID 4256 type(C_PTR) addr, viewptr 4257 4258 lname = len_trim(name) 4259#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 4260 addr = c_loc(value) 4261#else 4262 call SIDRE_C_LOC(value(lbound(value,1),lbound(value,2)), addr) 4263#endif 4264 extents = shape(value, kind=SIDRE_IndexType) 4265 viewptr = c_group_create_view_external_bufferify( & 4266 grp%cxxmem, name, lname, addr, rv%cxxmem) 4267 call c_view_apply_type_shape(rv%cxxmem, type, 2, extents) 4268 end function group_create_array_view_double_2d 4269 4270 ! Generated by genfsidresplicer.py 4271 function group_create_array_view_double_3d(grp, name, value) result(rv) 4272 use iso_c_binding 4273 implicit none 4274 4275 class(SidreGroup), intent(IN) :: grp 4276 character(*), intent(IN) :: name 4277 real(C_DOUBLE), target, intent(IN) :: value(:,:,:) 4278 integer(C_INT) :: lname 4279 type(SidreView) :: rv 4280 integer(SIDRE_IndexType) :: extents(3) 4281 integer(C_INT), parameter :: type = SIDRE_DOUBLE_ID 4282 type(C_PTR) addr, viewptr 4283 4284 lname = len_trim(name) 4285#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 4286 addr = c_loc(value) 4287#else 4288 call SIDRE_C_LOC(value(lbound(value,1),lbound(value,2),lbound(value,3)), addr) 4289#endif 4290 extents = shape(value, kind=SIDRE_IndexType) 4291 viewptr = c_group_create_view_external_bufferify( & 4292 grp%cxxmem, name, lname, addr, rv%cxxmem) 4293 call c_view_apply_type_shape(rv%cxxmem, type, 3, extents) 4294 end function group_create_array_view_double_3d 4295 4296 ! Generated by genfsidresplicer.py 4297 function group_create_array_view_double_4d(grp, name, value) result(rv) 4298 use iso_c_binding 4299 implicit none 4300 4301 class(SidreGroup), intent(IN) :: grp 4302 character(*), intent(IN) :: name 4303 real(C_DOUBLE), target, intent(IN) :: value(:,:,:,:) 4304 integer(C_INT) :: lname 4305 type(SidreView) :: rv 4306 integer(SIDRE_IndexType) :: extents(4) 4307 integer(C_INT), parameter :: type = SIDRE_DOUBLE_ID 4308 type(C_PTR) addr, viewptr 4309 4310 lname = len_trim(name) 4311#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 4312 addr = c_loc(value) 4313#else 4314 call SIDRE_C_LOC(value(lbound(value,1),lbound(value,2),lbound(value,3),lbound(value,4)), addr) 4315#endif 4316 extents = shape(value, kind=SIDRE_IndexType) 4317 viewptr = c_group_create_view_external_bufferify( & 4318 grp%cxxmem, name, lname, addr, rv%cxxmem) 4319 call c_view_apply_type_shape(rv%cxxmem, type, 4, extents) 4320 end function group_create_array_view_double_4d 4321 4322 ! Generated by genfsidresplicer.py 4323 ! This function does nothing if view name does not exist in group. 4324 subroutine group_set_array_data_ptr_int_scalar(grp, name, value) 4325 use iso_c_binding 4326 implicit none 4327 4328 class(SidreGroup), intent(IN) :: grp 4329 character(len=*), intent(IN) :: name 4330 integer(C_INT), target, intent(IN) :: value 4331 integer(C_INT) :: lname 4332 type(SIDRE_SHROUD_view_capsule) view 4333 ! integer(SIDRE_IndexType) :: extents(1) 4334 ! integer(C_INT), parameter :: type = SIDRE_INT_ID 4335 type(C_PTR) addr, viewptr 4336 4337 lname = len_trim(name) 4338 ! extents(1) = 1_SIDRE_IndexType 4339 viewptr = c_group_get_view_from_name_bufferify(grp%cxxmem, name, lname, view) 4340 if (c_associated(view%addr)) then 4341#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 4342 addr = c_loc(value) 4343#else 4344 call SIDRE_C_LOC(value, addr) 4345#endif 4346 call c_view_set_external_data_ptr_only(view, addr) 4347 ! call c_view_apply_type_shape(rv%cxxmem, type, 0, extents) 4348 endif 4349 end subroutine group_set_array_data_ptr_int_scalar 4350 4351 ! Generated by genfsidresplicer.py 4352 ! This function does nothing if view name does not exist in group. 4353 subroutine group_set_array_data_ptr_int_1d(grp, name, value) 4354 use iso_c_binding 4355 implicit none 4356 4357 class(SidreGroup), intent(IN) :: grp 4358 character(len=*), intent(IN) :: name 4359 integer(C_INT), target, intent(IN) :: value(:) 4360 integer(C_INT) :: lname 4361 type(SIDRE_SHROUD_view_capsule) view 4362 ! integer(SIDRE_IndexType) :: extents(1) 4363 ! integer(C_INT), parameter :: type = SIDRE_INT_ID 4364 type(C_PTR) addr, viewptr 4365 4366 lname = len_trim(name) 4367 ! extents = shape(value, kind=SIDRE_IndexType) 4368 viewptr = c_group_get_view_from_name_bufferify(grp%cxxmem, name, lname, view) 4369 if (c_associated(view%addr)) then 4370#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 4371 addr = c_loc(value) 4372#else 4373 call SIDRE_C_LOC(value(lbound(value,1)), addr) 4374#endif 4375 call c_view_set_external_data_ptr_only(view, addr) 4376 ! call c_view_apply_type_shape(rv%cxxmem, type, 1, extents) 4377 endif 4378 end subroutine group_set_array_data_ptr_int_1d 4379 4380 ! Generated by genfsidresplicer.py 4381 ! This function does nothing if view name does not exist in group. 4382 subroutine group_set_array_data_ptr_int_2d(grp, name, value) 4383 use iso_c_binding 4384 implicit none 4385 4386 class(SidreGroup), intent(IN) :: grp 4387 character(len=*), intent(IN) :: name 4388 integer(C_INT), target, intent(IN) :: value(:,:) 4389 integer(C_INT) :: lname 4390 type(SIDRE_SHROUD_view_capsule) view 4391 ! integer(SIDRE_IndexType) :: extents(2) 4392 ! integer(C_INT), parameter :: type = SIDRE_INT_ID 4393 type(C_PTR) addr, viewptr 4394 4395 lname = len_trim(name) 4396 ! extents = shape(value, kind=SIDRE_IndexType) 4397 viewptr = c_group_get_view_from_name_bufferify(grp%cxxmem, name, lname, view) 4398 if (c_associated(view%addr)) then 4399#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 4400 addr = c_loc(value) 4401#else 4402 call SIDRE_C_LOC(value(lbound(value,1),lbound(value,2)), addr) 4403#endif 4404 call c_view_set_external_data_ptr_only(view, addr) 4405 ! call c_view_apply_type_shape(rv%cxxmem, type, 2, extents) 4406 endif 4407 end subroutine group_set_array_data_ptr_int_2d 4408 4409 ! Generated by genfsidresplicer.py 4410 ! This function does nothing if view name does not exist in group. 4411 subroutine group_set_array_data_ptr_int_3d(grp, name, value) 4412 use iso_c_binding 4413 implicit none 4414 4415 class(SidreGroup), intent(IN) :: grp 4416 character(len=*), intent(IN) :: name 4417 integer(C_INT), target, intent(IN) :: value(:,:,:) 4418 integer(C_INT) :: lname 4419 type(SIDRE_SHROUD_view_capsule) view 4420 ! integer(SIDRE_IndexType) :: extents(3) 4421 ! integer(C_INT), parameter :: type = SIDRE_INT_ID 4422 type(C_PTR) addr, viewptr 4423 4424 lname = len_trim(name) 4425 ! extents = shape(value, kind=SIDRE_IndexType) 4426 viewptr = c_group_get_view_from_name_bufferify(grp%cxxmem, name, lname, view) 4427 if (c_associated(view%addr)) then 4428#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 4429 addr = c_loc(value) 4430#else 4431 call SIDRE_C_LOC(value(lbound(value,1),lbound(value,2),lbound(value,3)), addr) 4432#endif 4433 call c_view_set_external_data_ptr_only(view, addr) 4434 ! call c_view_apply_type_shape(rv%cxxmem, type, 3, extents) 4435 endif 4436 end subroutine group_set_array_data_ptr_int_3d 4437 4438 ! Generated by genfsidresplicer.py 4439 ! This function does nothing if view name does not exist in group. 4440 subroutine group_set_array_data_ptr_int_4d(grp, name, value) 4441 use iso_c_binding 4442 implicit none 4443 4444 class(SidreGroup), intent(IN) :: grp 4445 character(len=*), intent(IN) :: name 4446 integer(C_INT), target, intent(IN) :: value(:,:,:,:) 4447 integer(C_INT) :: lname 4448 type(SIDRE_SHROUD_view_capsule) view 4449 ! integer(SIDRE_IndexType) :: extents(4) 4450 ! integer(C_INT), parameter :: type = SIDRE_INT_ID 4451 type(C_PTR) addr, viewptr 4452 4453 lname = len_trim(name) 4454 ! extents = shape(value, kind=SIDRE_IndexType) 4455 viewptr = c_group_get_view_from_name_bufferify(grp%cxxmem, name, lname, view) 4456 if (c_associated(view%addr)) then 4457#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 4458 addr = c_loc(value) 4459#else 4460 call SIDRE_C_LOC(value(lbound(value,1),lbound(value,2),lbound(value,3),lbound(value,4)), addr) 4461#endif 4462 call c_view_set_external_data_ptr_only(view, addr) 4463 ! call c_view_apply_type_shape(rv%cxxmem, type, 4, extents) 4464 endif 4465 end subroutine group_set_array_data_ptr_int_4d 4466 4467 ! Generated by genfsidresplicer.py 4468 ! This function does nothing if view name does not exist in group. 4469 subroutine group_set_array_data_ptr_long_scalar(grp, name, value) 4470 use iso_c_binding 4471 implicit none 4472 4473 class(SidreGroup), intent(IN) :: grp 4474 character(len=*), intent(IN) :: name 4475 integer(C_LONG), target, intent(IN) :: value 4476 integer(C_INT) :: lname 4477 type(SIDRE_SHROUD_view_capsule) view 4478 ! integer(SIDRE_IndexType) :: extents(1) 4479 ! integer(C_INT), parameter :: type = SIDRE_LONG_ID 4480 type(C_PTR) addr, viewptr 4481 4482 lname = len_trim(name) 4483 ! extents(1) = 1_SIDRE_IndexType 4484 viewptr = c_group_get_view_from_name_bufferify(grp%cxxmem, name, lname, view) 4485 if (c_associated(view%addr)) then 4486#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 4487 addr = c_loc(value) 4488#else 4489 call SIDRE_C_LOC(value, addr) 4490#endif 4491 call c_view_set_external_data_ptr_only(view, addr) 4492 ! call c_view_apply_type_shape(rv%cxxmem, type, 0, extents) 4493 endif 4494 end subroutine group_set_array_data_ptr_long_scalar 4495 4496 ! Generated by genfsidresplicer.py 4497 ! This function does nothing if view name does not exist in group. 4498 subroutine group_set_array_data_ptr_long_1d(grp, name, value) 4499 use iso_c_binding 4500 implicit none 4501 4502 class(SidreGroup), intent(IN) :: grp 4503 character(len=*), intent(IN) :: name 4504 integer(C_LONG), target, intent(IN) :: value(:) 4505 integer(C_INT) :: lname 4506 type(SIDRE_SHROUD_view_capsule) view 4507 ! integer(SIDRE_IndexType) :: extents(1) 4508 ! integer(C_INT), parameter :: type = SIDRE_LONG_ID 4509 type(C_PTR) addr, viewptr 4510 4511 lname = len_trim(name) 4512 ! extents = shape(value, kind=SIDRE_IndexType) 4513 viewptr = c_group_get_view_from_name_bufferify(grp%cxxmem, name, lname, view) 4514 if (c_associated(view%addr)) then 4515#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 4516 addr = c_loc(value) 4517#else 4518 call SIDRE_C_LOC(value(lbound(value,1)), addr) 4519#endif 4520 call c_view_set_external_data_ptr_only(view, addr) 4521 ! call c_view_apply_type_shape(rv%cxxmem, type, 1, extents) 4522 endif 4523 end subroutine group_set_array_data_ptr_long_1d 4524 4525 ! Generated by genfsidresplicer.py 4526 ! This function does nothing if view name does not exist in group. 4527 subroutine group_set_array_data_ptr_long_2d(grp, name, value) 4528 use iso_c_binding 4529 implicit none 4530 4531 class(SidreGroup), intent(IN) :: grp 4532 character(len=*), intent(IN) :: name 4533 integer(C_LONG), target, intent(IN) :: value(:,:) 4534 integer(C_INT) :: lname 4535 type(SIDRE_SHROUD_view_capsule) view 4536 ! integer(SIDRE_IndexType) :: extents(2) 4537 ! integer(C_INT), parameter :: type = SIDRE_LONG_ID 4538 type(C_PTR) addr, viewptr 4539 4540 lname = len_trim(name) 4541 ! extents = shape(value, kind=SIDRE_IndexType) 4542 viewptr = c_group_get_view_from_name_bufferify(grp%cxxmem, name, lname, view) 4543 if (c_associated(view%addr)) then 4544#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 4545 addr = c_loc(value) 4546#else 4547 call SIDRE_C_LOC(value(lbound(value,1),lbound(value,2)), addr) 4548#endif 4549 call c_view_set_external_data_ptr_only(view, addr) 4550 ! call c_view_apply_type_shape(rv%cxxmem, type, 2, extents) 4551 endif 4552 end subroutine group_set_array_data_ptr_long_2d 4553 4554 ! Generated by genfsidresplicer.py 4555 ! This function does nothing if view name does not exist in group. 4556 subroutine group_set_array_data_ptr_long_3d(grp, name, value) 4557 use iso_c_binding 4558 implicit none 4559 4560 class(SidreGroup), intent(IN) :: grp 4561 character(len=*), intent(IN) :: name 4562 integer(C_LONG), target, intent(IN) :: value(:,:,:) 4563 integer(C_INT) :: lname 4564 type(SIDRE_SHROUD_view_capsule) view 4565 ! integer(SIDRE_IndexType) :: extents(3) 4566 ! integer(C_INT), parameter :: type = SIDRE_LONG_ID 4567 type(C_PTR) addr, viewptr 4568 4569 lname = len_trim(name) 4570 ! extents = shape(value, kind=SIDRE_IndexType) 4571 viewptr = c_group_get_view_from_name_bufferify(grp%cxxmem, name, lname, view) 4572 if (c_associated(view%addr)) then 4573#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 4574 addr = c_loc(value) 4575#else 4576 call SIDRE_C_LOC(value(lbound(value,1),lbound(value,2),lbound(value,3)), addr) 4577#endif 4578 call c_view_set_external_data_ptr_only(view, addr) 4579 ! call c_view_apply_type_shape(rv%cxxmem, type, 3, extents) 4580 endif 4581 end subroutine group_set_array_data_ptr_long_3d 4582 4583 ! Generated by genfsidresplicer.py 4584 ! This function does nothing if view name does not exist in group. 4585 subroutine group_set_array_data_ptr_long_4d(grp, name, value) 4586 use iso_c_binding 4587 implicit none 4588 4589 class(SidreGroup), intent(IN) :: grp 4590 character(len=*), intent(IN) :: name 4591 integer(C_LONG), target, intent(IN) :: value(:,:,:,:) 4592 integer(C_INT) :: lname 4593 type(SIDRE_SHROUD_view_capsule) view 4594 ! integer(SIDRE_IndexType) :: extents(4) 4595 ! integer(C_INT), parameter :: type = SIDRE_LONG_ID 4596 type(C_PTR) addr, viewptr 4597 4598 lname = len_trim(name) 4599 ! extents = shape(value, kind=SIDRE_IndexType) 4600 viewptr = c_group_get_view_from_name_bufferify(grp%cxxmem, name, lname, view) 4601 if (c_associated(view%addr)) then 4602#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 4603 addr = c_loc(value) 4604#else 4605 call SIDRE_C_LOC(value(lbound(value,1),lbound(value,2),lbound(value,3),lbound(value,4)), addr) 4606#endif 4607 call c_view_set_external_data_ptr_only(view, addr) 4608 ! call c_view_apply_type_shape(rv%cxxmem, type, 4, extents) 4609 endif 4610 end subroutine group_set_array_data_ptr_long_4d 4611 4612 ! Generated by genfsidresplicer.py 4613 ! This function does nothing if view name does not exist in group. 4614 subroutine group_set_array_data_ptr_float_scalar(grp, name, value) 4615 use iso_c_binding 4616 implicit none 4617 4618 class(SidreGroup), intent(IN) :: grp 4619 character(len=*), intent(IN) :: name 4620 real(C_FLOAT), target, intent(IN) :: value 4621 integer(C_INT) :: lname 4622 type(SIDRE_SHROUD_view_capsule) view 4623 ! integer(SIDRE_IndexType) :: extents(1) 4624 ! integer(C_INT), parameter :: type = SIDRE_FLOAT_ID 4625 type(C_PTR) addr, viewptr 4626 4627 lname = len_trim(name) 4628 ! extents(1) = 1_SIDRE_IndexType 4629 viewptr = c_group_get_view_from_name_bufferify(grp%cxxmem, name, lname, view) 4630 if (c_associated(view%addr)) then 4631#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 4632 addr = c_loc(value) 4633#else 4634 call SIDRE_C_LOC(value, addr) 4635#endif 4636 call c_view_set_external_data_ptr_only(view, addr) 4637 ! call c_view_apply_type_shape(rv%cxxmem, type, 0, extents) 4638 endif 4639 end subroutine group_set_array_data_ptr_float_scalar 4640 4641 ! Generated by genfsidresplicer.py 4642 ! This function does nothing if view name does not exist in group. 4643 subroutine group_set_array_data_ptr_float_1d(grp, name, value) 4644 use iso_c_binding 4645 implicit none 4646 4647 class(SidreGroup), intent(IN) :: grp 4648 character(len=*), intent(IN) :: name 4649 real(C_FLOAT), target, intent(IN) :: value(:) 4650 integer(C_INT) :: lname 4651 type(SIDRE_SHROUD_view_capsule) view 4652 ! integer(SIDRE_IndexType) :: extents(1) 4653 ! integer(C_INT), parameter :: type = SIDRE_FLOAT_ID 4654 type(C_PTR) addr, viewptr 4655 4656 lname = len_trim(name) 4657 ! extents = shape(value, kind=SIDRE_IndexType) 4658 viewptr = c_group_get_view_from_name_bufferify(grp%cxxmem, name, lname, view) 4659 if (c_associated(view%addr)) then 4660#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 4661 addr = c_loc(value) 4662#else 4663 call SIDRE_C_LOC(value(lbound(value,1)), addr) 4664#endif 4665 call c_view_set_external_data_ptr_only(view, addr) 4666 ! call c_view_apply_type_shape(rv%cxxmem, type, 1, extents) 4667 endif 4668 end subroutine group_set_array_data_ptr_float_1d 4669 4670 ! Generated by genfsidresplicer.py 4671 ! This function does nothing if view name does not exist in group. 4672 subroutine group_set_array_data_ptr_float_2d(grp, name, value) 4673 use iso_c_binding 4674 implicit none 4675 4676 class(SidreGroup), intent(IN) :: grp 4677 character(len=*), intent(IN) :: name 4678 real(C_FLOAT), target, intent(IN) :: value(:,:) 4679 integer(C_INT) :: lname 4680 type(SIDRE_SHROUD_view_capsule) view 4681 ! integer(SIDRE_IndexType) :: extents(2) 4682 ! integer(C_INT), parameter :: type = SIDRE_FLOAT_ID 4683 type(C_PTR) addr, viewptr 4684 4685 lname = len_trim(name) 4686 ! extents = shape(value, kind=SIDRE_IndexType) 4687 viewptr = c_group_get_view_from_name_bufferify(grp%cxxmem, name, lname, view) 4688 if (c_associated(view%addr)) then 4689#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 4690 addr = c_loc(value) 4691#else 4692 call SIDRE_C_LOC(value(lbound(value,1),lbound(value,2)), addr) 4693#endif 4694 call c_view_set_external_data_ptr_only(view, addr) 4695 ! call c_view_apply_type_shape(rv%cxxmem, type, 2, extents) 4696 endif 4697 end subroutine group_set_array_data_ptr_float_2d 4698 4699 ! Generated by genfsidresplicer.py 4700 ! This function does nothing if view name does not exist in group. 4701 subroutine group_set_array_data_ptr_float_3d(grp, name, value) 4702 use iso_c_binding 4703 implicit none 4704 4705 class(SidreGroup), intent(IN) :: grp 4706 character(len=*), intent(IN) :: name 4707 real(C_FLOAT), target, intent(IN) :: value(:,:,:) 4708 integer(C_INT) :: lname 4709 type(SIDRE_SHROUD_view_capsule) view 4710 ! integer(SIDRE_IndexType) :: extents(3) 4711 ! integer(C_INT), parameter :: type = SIDRE_FLOAT_ID 4712 type(C_PTR) addr, viewptr 4713 4714 lname = len_trim(name) 4715 ! extents = shape(value, kind=SIDRE_IndexType) 4716 viewptr = c_group_get_view_from_name_bufferify(grp%cxxmem, name, lname, view) 4717 if (c_associated(view%addr)) then 4718#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 4719 addr = c_loc(value) 4720#else 4721 call SIDRE_C_LOC(value(lbound(value,1),lbound(value,2),lbound(value,3)), addr) 4722#endif 4723 call c_view_set_external_data_ptr_only(view, addr) 4724 ! call c_view_apply_type_shape(rv%cxxmem, type, 3, extents) 4725 endif 4726 end subroutine group_set_array_data_ptr_float_3d 4727 4728 ! Generated by genfsidresplicer.py 4729 ! This function does nothing if view name does not exist in group. 4730 subroutine group_set_array_data_ptr_float_4d(grp, name, value) 4731 use iso_c_binding 4732 implicit none 4733 4734 class(SidreGroup), intent(IN) :: grp 4735 character(len=*), intent(IN) :: name 4736 real(C_FLOAT), target, intent(IN) :: value(:,:,:,:) 4737 integer(C_INT) :: lname 4738 type(SIDRE_SHROUD_view_capsule) view 4739 ! integer(SIDRE_IndexType) :: extents(4) 4740 ! integer(C_INT), parameter :: type = SIDRE_FLOAT_ID 4741 type(C_PTR) addr, viewptr 4742 4743 lname = len_trim(name) 4744 ! extents = shape(value, kind=SIDRE_IndexType) 4745 viewptr = c_group_get_view_from_name_bufferify(grp%cxxmem, name, lname, view) 4746 if (c_associated(view%addr)) then 4747#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 4748 addr = c_loc(value) 4749#else 4750 call SIDRE_C_LOC(value(lbound(value,1),lbound(value,2),lbound(value,3),lbound(value,4)), addr) 4751#endif 4752 call c_view_set_external_data_ptr_only(view, addr) 4753 ! call c_view_apply_type_shape(rv%cxxmem, type, 4, extents) 4754 endif 4755 end subroutine group_set_array_data_ptr_float_4d 4756 4757 ! Generated by genfsidresplicer.py 4758 ! This function does nothing if view name does not exist in group. 4759 subroutine group_set_array_data_ptr_double_scalar(grp, name, value) 4760 use iso_c_binding 4761 implicit none 4762 4763 class(SidreGroup), intent(IN) :: grp 4764 character(len=*), intent(IN) :: name 4765 real(C_DOUBLE), target, intent(IN) :: value 4766 integer(C_INT) :: lname 4767 type(SIDRE_SHROUD_view_capsule) view 4768 ! integer(SIDRE_IndexType) :: extents(1) 4769 ! integer(C_INT), parameter :: type = SIDRE_DOUBLE_ID 4770 type(C_PTR) addr, viewptr 4771 4772 lname = len_trim(name) 4773 ! extents(1) = 1_SIDRE_IndexType 4774 viewptr = c_group_get_view_from_name_bufferify(grp%cxxmem, name, lname, view) 4775 if (c_associated(view%addr)) then 4776#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 4777 addr = c_loc(value) 4778#else 4779 call SIDRE_C_LOC(value, addr) 4780#endif 4781 call c_view_set_external_data_ptr_only(view, addr) 4782 ! call c_view_apply_type_shape(rv%cxxmem, type, 0, extents) 4783 endif 4784 end subroutine group_set_array_data_ptr_double_scalar 4785 4786 ! Generated by genfsidresplicer.py 4787 ! This function does nothing if view name does not exist in group. 4788 subroutine group_set_array_data_ptr_double_1d(grp, name, value) 4789 use iso_c_binding 4790 implicit none 4791 4792 class(SidreGroup), intent(IN) :: grp 4793 character(len=*), intent(IN) :: name 4794 real(C_DOUBLE), target, intent(IN) :: value(:) 4795 integer(C_INT) :: lname 4796 type(SIDRE_SHROUD_view_capsule) view 4797 ! integer(SIDRE_IndexType) :: extents(1) 4798 ! integer(C_INT), parameter :: type = SIDRE_DOUBLE_ID 4799 type(C_PTR) addr, viewptr 4800 4801 lname = len_trim(name) 4802 ! extents = shape(value, kind=SIDRE_IndexType) 4803 viewptr = c_group_get_view_from_name_bufferify(grp%cxxmem, name, lname, view) 4804 if (c_associated(view%addr)) then 4805#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 4806 addr = c_loc(value) 4807#else 4808 call SIDRE_C_LOC(value(lbound(value,1)), addr) 4809#endif 4810 call c_view_set_external_data_ptr_only(view, addr) 4811 ! call c_view_apply_type_shape(rv%cxxmem, type, 1, extents) 4812 endif 4813 end subroutine group_set_array_data_ptr_double_1d 4814 4815 ! Generated by genfsidresplicer.py 4816 ! This function does nothing if view name does not exist in group. 4817 subroutine group_set_array_data_ptr_double_2d(grp, name, value) 4818 use iso_c_binding 4819 implicit none 4820 4821 class(SidreGroup), intent(IN) :: grp 4822 character(len=*), intent(IN) :: name 4823 real(C_DOUBLE), target, intent(IN) :: value(:,:) 4824 integer(C_INT) :: lname 4825 type(SIDRE_SHROUD_view_capsule) view 4826 ! integer(SIDRE_IndexType) :: extents(2) 4827 ! integer(C_INT), parameter :: type = SIDRE_DOUBLE_ID 4828 type(C_PTR) addr, viewptr 4829 4830 lname = len_trim(name) 4831 ! extents = shape(value, kind=SIDRE_IndexType) 4832 viewptr = c_group_get_view_from_name_bufferify(grp%cxxmem, name, lname, view) 4833 if (c_associated(view%addr)) then 4834#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 4835 addr = c_loc(value) 4836#else 4837 call SIDRE_C_LOC(value(lbound(value,1),lbound(value,2)), addr) 4838#endif 4839 call c_view_set_external_data_ptr_only(view, addr) 4840 ! call c_view_apply_type_shape(rv%cxxmem, type, 2, extents) 4841 endif 4842 end subroutine group_set_array_data_ptr_double_2d 4843 4844 ! Generated by genfsidresplicer.py 4845 ! This function does nothing if view name does not exist in group. 4846 subroutine group_set_array_data_ptr_double_3d(grp, name, value) 4847 use iso_c_binding 4848 implicit none 4849 4850 class(SidreGroup), intent(IN) :: grp 4851 character(len=*), intent(IN) :: name 4852 real(C_DOUBLE), target, intent(IN) :: value(:,:,:) 4853 integer(C_INT) :: lname 4854 type(SIDRE_SHROUD_view_capsule) view 4855 ! integer(SIDRE_IndexType) :: extents(3) 4856 ! integer(C_INT), parameter :: type = SIDRE_DOUBLE_ID 4857 type(C_PTR) addr, viewptr 4858 4859 lname = len_trim(name) 4860 ! extents = shape(value, kind=SIDRE_IndexType) 4861 viewptr = c_group_get_view_from_name_bufferify(grp%cxxmem, name, lname, view) 4862 if (c_associated(view%addr)) then 4863#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 4864 addr = c_loc(value) 4865#else 4866 call SIDRE_C_LOC(value(lbound(value,1),lbound(value,2),lbound(value,3)), addr) 4867#endif 4868 call c_view_set_external_data_ptr_only(view, addr) 4869 ! call c_view_apply_type_shape(rv%cxxmem, type, 3, extents) 4870 endif 4871 end subroutine group_set_array_data_ptr_double_3d 4872 4873 ! Generated by genfsidresplicer.py 4874 ! This function does nothing if view name does not exist in group. 4875 subroutine group_set_array_data_ptr_double_4d(grp, name, value) 4876 use iso_c_binding 4877 implicit none 4878 4879 class(SidreGroup), intent(IN) :: grp 4880 character(len=*), intent(IN) :: name 4881 real(C_DOUBLE), target, intent(IN) :: value(:,:,:,:) 4882 integer(C_INT) :: lname 4883 type(SIDRE_SHROUD_view_capsule) view 4884 ! integer(SIDRE_IndexType) :: extents(4) 4885 ! integer(C_INT), parameter :: type = SIDRE_DOUBLE_ID 4886 type(C_PTR) addr, viewptr 4887 4888 lname = len_trim(name) 4889 ! extents = shape(value, kind=SIDRE_IndexType) 4890 viewptr = c_group_get_view_from_name_bufferify(grp%cxxmem, name, lname, view) 4891 if (c_associated(view%addr)) then 4892#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 4893 addr = c_loc(value) 4894#else 4895 call SIDRE_C_LOC(value(lbound(value,1),lbound(value,2),lbound(value,3),lbound(value,4)), addr) 4896#endif 4897 call c_view_set_external_data_ptr_only(view, addr) 4898 ! call c_view_apply_type_shape(rv%cxxmem, type, 4, extents) 4899 endif 4900 end subroutine group_set_array_data_ptr_double_4d 4901 4902 subroutine group_get_string(grp, name, value) 4903 use iso_c_binding 4904 class(SidreGroup), intent(IN) :: grp 4905 character(*), intent(IN) :: name 4906 character(*), intent(OUT) :: value 4907 integer(C_INT) :: lname 4908 type(SIDRE_SHROUD_view_capsule) view 4909 type(C_PTR) viewptr 4910 4911 lname = len_trim(name) 4912 viewptr = c_group_get_view_from_name_bufferify(grp%cxxmem, name, lname, view) 4913 call c_view_get_string_bufferify(view, value, len(value, kind=C_INT)) 4914 end subroutine group_get_string 4915 4916 subroutine group_set_string(grp, name, value) 4917 use iso_c_binding 4918 class(SidreGroup), intent(IN) :: grp 4919 character(*), intent(IN) :: name 4920 character(*), intent(IN) :: value 4921 integer(C_INT) :: lname 4922 type(SIDRE_SHROUD_view_capsule) view 4923 type(C_PTR) viewptr 4924 4925 lname = len_trim(name) 4926 viewptr = c_group_get_view_from_name_bufferify(grp%cxxmem, name, lname, view) 4927 call c_view_set_string_bufferify(view, value, len_trim(value, kind=C_INT)) 4928 end subroutine group_set_string 4929 4930 ! splicer end class.Group.additional_functions 4931 4932 function view_get_index(obj) & 4933 result(SHT_rv) 4934 use iso_c_binding, only : C_INT64_T 4935 class(SidreView) :: obj 4936 integer(C_INT64_T) :: SHT_rv 4937 ! splicer begin class.View.method.get_index 4938 SHT_rv = c_view_get_index(obj%cxxmem) 4939 ! splicer end class.View.method.get_index 4940 end function view_get_index 4941 4942 function view_get_name(obj) & 4943 result(SHT_rv) 4944 use iso_c_binding, only : C_INT 4945 class(SidreView) :: obj 4946 character(len=MAXNAMESIZE) :: SHT_rv 4947 ! splicer begin class.View.method.get_name 4948 call c_view_get_name_bufferify(obj%cxxmem, SHT_rv, & 4949 len(SHT_rv, kind=C_INT)) 4950 ! splicer end class.View.method.get_name 4951 end function view_get_name 4952 4953 function view_get_path(obj) & 4954 result(SHT_rv) 4955 use iso_c_binding, only : C_INT 4956 class(SidreView) :: obj 4957 character(len=MAXNAMESIZE) :: SHT_rv 4958 ! splicer begin class.View.method.get_path 4959 call c_view_get_path_bufferify(obj%cxxmem, SHT_rv, & 4960 len(SHT_rv, kind=C_INT)) 4961 ! splicer end class.View.method.get_path 4962 end function view_get_path 4963 4964 function view_get_path_name(obj) & 4965 result(SHT_rv) 4966 use iso_c_binding, only : C_INT 4967 class(SidreView) :: obj 4968 character(len=MAXNAMESIZE) :: SHT_rv 4969 ! splicer begin class.View.method.get_path_name 4970 call c_view_get_path_name_bufferify(obj%cxxmem, SHT_rv, & 4971 len(SHT_rv, kind=C_INT)) 4972 ! splicer end class.View.method.get_path_name 4973 end function view_get_path_name 4974 4975 function view_get_owning_group(obj) & 4976 result(SHT_rv) 4977 use iso_c_binding, only : C_PTR 4978 class(SidreView) :: obj 4979 type(SidreGroup) :: SHT_rv 4980 ! splicer begin class.View.method.get_owning_group 4981 type(C_PTR) :: SHT_prv 4982 SHT_prv = c_view_get_owning_group(obj%cxxmem, SHT_rv%cxxmem) 4983 ! splicer end class.View.method.get_owning_group 4984 end function view_get_owning_group 4985 4986 function view_has_buffer(obj) & 4987 result(SHT_rv) 4988 use iso_c_binding, only : C_BOOL 4989 class(SidreView) :: obj 4990 logical :: SHT_rv 4991 ! splicer begin class.View.method.has_buffer 4992 SHT_rv = c_view_has_buffer(obj%cxxmem) 4993 ! splicer end class.View.method.has_buffer 4994 end function view_has_buffer 4995 4996 function view_get_buffer(obj) & 4997 result(SHT_rv) 4998 use iso_c_binding, only : C_PTR 4999 class(SidreView) :: obj 5000 type(SidreBuffer) :: SHT_rv 5001 ! splicer begin class.View.method.get_buffer 5002 type(C_PTR) :: SHT_prv 5003 SHT_prv = c_view_get_buffer(obj%cxxmem, SHT_rv%cxxmem) 5004 ! splicer end class.View.method.get_buffer 5005 end function view_get_buffer 5006 5007 function view_is_external(obj) & 5008 result(SHT_rv) 5009 use iso_c_binding, only : C_BOOL 5010 class(SidreView) :: obj 5011 logical :: SHT_rv 5012 ! splicer begin class.View.method.is_external 5013 SHT_rv = c_view_is_external(obj%cxxmem) 5014 ! splicer end class.View.method.is_external 5015 end function view_is_external 5016 5017 function view_is_allocated(obj) & 5018 result(SHT_rv) 5019 use iso_c_binding, only : C_BOOL 5020 class(SidreView) :: obj 5021 logical :: SHT_rv 5022 ! splicer begin class.View.method.is_allocated 5023 SHT_rv = c_view_is_allocated(obj%cxxmem) 5024 ! splicer end class.View.method.is_allocated 5025 end function view_is_allocated 5026 5027 function view_is_applied(obj) & 5028 result(SHT_rv) 5029 use iso_c_binding, only : C_BOOL 5030 class(SidreView) :: obj 5031 logical :: SHT_rv 5032 ! splicer begin class.View.method.is_applied 5033 SHT_rv = c_view_is_applied(obj%cxxmem) 5034 ! splicer end class.View.method.is_applied 5035 end function view_is_applied 5036 5037 function view_is_described(obj) & 5038 result(SHT_rv) 5039 use iso_c_binding, only : C_BOOL 5040 class(SidreView) :: obj 5041 logical :: SHT_rv 5042 ! splicer begin class.View.method.is_described 5043 SHT_rv = c_view_is_described(obj%cxxmem) 5044 ! splicer end class.View.method.is_described 5045 end function view_is_described 5046 5047 function view_is_empty(obj) & 5048 result(SHT_rv) 5049 use iso_c_binding, only : C_BOOL 5050 class(SidreView) :: obj 5051 logical :: SHT_rv 5052 ! splicer begin class.View.method.is_empty 5053 SHT_rv = c_view_is_empty(obj%cxxmem) 5054 ! splicer end class.View.method.is_empty 5055 end function view_is_empty 5056 5057 function view_is_opaque(obj) & 5058 result(SHT_rv) 5059 use iso_c_binding, only : C_BOOL 5060 class(SidreView) :: obj 5061 logical :: SHT_rv 5062 ! splicer begin class.View.method.is_opaque 5063 SHT_rv = c_view_is_opaque(obj%cxxmem) 5064 ! splicer end class.View.method.is_opaque 5065 end function view_is_opaque 5066 5067 function view_is_scalar(obj) & 5068 result(SHT_rv) 5069 use iso_c_binding, only : C_BOOL 5070 class(SidreView) :: obj 5071 logical :: SHT_rv 5072 ! splicer begin class.View.method.is_scalar 5073 SHT_rv = c_view_is_scalar(obj%cxxmem) 5074 ! splicer end class.View.method.is_scalar 5075 end function view_is_scalar 5076 5077 function view_is_string(obj) & 5078 result(SHT_rv) 5079 use iso_c_binding, only : C_BOOL 5080 class(SidreView) :: obj 5081 logical :: SHT_rv 5082 ! splicer begin class.View.method.is_string 5083 SHT_rv = c_view_is_string(obj%cxxmem) 5084 ! splicer end class.View.method.is_string 5085 end function view_is_string 5086 5087 function view_get_type_id(obj) & 5088 result(SHT_rv) 5089 use iso_c_binding, only : C_INT 5090 class(SidreView) :: obj 5091 integer(C_INT) :: SHT_rv 5092 ! splicer begin class.View.method.get_type_id 5093 SHT_rv = c_view_get_type_id(obj%cxxmem) 5094 ! splicer end class.View.method.get_type_id 5095 end function view_get_type_id 5096 5097 function view_get_total_bytes(obj) & 5098 result(SHT_rv) 5099 use iso_c_binding, only : C_SIZE_T 5100 class(SidreView) :: obj 5101 integer(C_SIZE_T) :: SHT_rv 5102 ! splicer begin class.View.method.get_total_bytes 5103 SHT_rv = c_view_get_total_bytes(obj%cxxmem) 5104 ! splicer end class.View.method.get_total_bytes 5105 end function view_get_total_bytes 5106 5107 function view_get_num_elements(obj) & 5108 result(SHT_rv) 5109 use iso_c_binding, only : C_SIZE_T 5110 class(SidreView) :: obj 5111 integer(C_SIZE_T) :: SHT_rv 5112 ! splicer begin class.View.method.get_num_elements 5113 SHT_rv = c_view_get_num_elements(obj%cxxmem) 5114 ! splicer end class.View.method.get_num_elements 5115 end function view_get_num_elements 5116 5117 function view_get_bytes_per_element(obj) & 5118 result(SHT_rv) 5119 use iso_c_binding, only : C_SIZE_T 5120 class(SidreView) :: obj 5121 integer(C_SIZE_T) :: SHT_rv 5122 ! splicer begin class.View.method.get_bytes_per_element 5123 SHT_rv = c_view_get_bytes_per_element(obj%cxxmem) 5124 ! splicer end class.View.method.get_bytes_per_element 5125 end function view_get_bytes_per_element 5126 5127 function view_get_offset(obj) & 5128 result(SHT_rv) 5129 use iso_c_binding, only : C_SIZE_T 5130 class(SidreView) :: obj 5131 integer(C_SIZE_T) :: SHT_rv 5132 ! splicer begin class.View.method.get_offset 5133 SHT_rv = c_view_get_offset(obj%cxxmem) 5134 ! splicer end class.View.method.get_offset 5135 end function view_get_offset 5136 5137 function view_get_stride(obj) & 5138 result(SHT_rv) 5139 use iso_c_binding, only : C_SIZE_T 5140 class(SidreView) :: obj 5141 integer(C_SIZE_T) :: SHT_rv 5142 ! splicer begin class.View.method.get_stride 5143 SHT_rv = c_view_get_stride(obj%cxxmem) 5144 ! splicer end class.View.method.get_stride 5145 end function view_get_stride 5146 5147 function view_get_num_dimensions(obj) & 5148 result(SHT_rv) 5149 use iso_c_binding, only : C_INT 5150 class(SidreView) :: obj 5151 integer(C_INT) :: SHT_rv 5152 ! splicer begin class.View.method.get_num_dimensions 5153 SHT_rv = c_view_get_num_dimensions(obj%cxxmem) 5154 ! splicer end class.View.method.get_num_dimensions 5155 end function view_get_num_dimensions 5156 5157 function view_get_shape(obj, ndims, shape) & 5158 result(SHT_rv) 5159 use iso_c_binding, only : C_INT, C_INT64_T 5160 class(SidreView) :: obj 5161 integer(C_INT), value, intent(IN) :: ndims 5162 integer(C_INT64_T), intent(OUT) :: shape(:) 5163 integer(C_INT) :: SHT_rv 5164 ! splicer begin class.View.method.get_shape 5165 SHT_rv = c_view_get_shape(obj%cxxmem, ndims, shape) 5166 ! splicer end class.View.method.get_shape 5167 end function view_get_shape 5168 5169 subroutine view_allocate_simple(obj) 5170 class(SidreView) :: obj 5171 ! splicer begin class.View.method.allocate_simple 5172 call c_view_allocate_simple(obj%cxxmem) 5173 ! splicer end class.View.method.allocate_simple 5174 end subroutine view_allocate_simple 5175 5176 subroutine view_allocate_from_type_int32_t(obj, type, num_elems) 5177 use iso_c_binding, only : C_INT, C_INT32_T, C_INT64_T 5178 class(SidreView) :: obj 5179 integer(C_INT), value, intent(IN) :: type 5180 integer(C_INT32_T), value, intent(IN) :: num_elems 5181 ! splicer begin class.View.method.allocate_from_type_int32_t 5182 call c_view_allocate_from_type(obj%cxxmem, type, & 5183 int(num_elems, C_INT64_t)) 5184 ! splicer end class.View.method.allocate_from_type_int32_t 5185 end subroutine view_allocate_from_type_int32_t 5186 5187 subroutine view_allocate_from_type_int64_t(obj, type, num_elems) 5188 use iso_c_binding, only : C_INT, C_INT64_T 5189 class(SidreView) :: obj 5190 integer(C_INT), value, intent(IN) :: type 5191 integer(C_INT64_T), value, intent(IN) :: num_elems 5192 ! splicer begin class.View.method.allocate_from_type_int64_t 5193 call c_view_allocate_from_type(obj%cxxmem, type, & 5194 int(num_elems, C_INT64_t)) 5195 ! splicer end class.View.method.allocate_from_type_int64_t 5196 end subroutine view_allocate_from_type_int64_t 5197 5198 subroutine view_reallocate_int32_t(obj, num_elems) 5199 use iso_c_binding, only : C_INT32_T, C_INT64_T 5200 class(SidreView) :: obj 5201 integer(C_INT32_T), value, intent(IN) :: num_elems 5202 ! splicer begin class.View.method.reallocate_int32_t 5203 call c_view_reallocate(obj%cxxmem, int(num_elems, C_INT64_t)) 5204 ! splicer end class.View.method.reallocate_int32_t 5205 end subroutine view_reallocate_int32_t 5206 5207 subroutine view_reallocate_int64_t(obj, num_elems) 5208 use iso_c_binding, only : C_INT64_T 5209 class(SidreView) :: obj 5210 integer(C_INT64_T), value, intent(IN) :: num_elems 5211 ! splicer begin class.View.method.reallocate_int64_t 5212 call c_view_reallocate(obj%cxxmem, int(num_elems, C_INT64_t)) 5213 ! splicer end class.View.method.reallocate_int64_t 5214 end subroutine view_reallocate_int64_t 5215 5216 subroutine view_attach_buffer_only(obj, buff) 5217 class(SidreView) :: obj 5218 type(SidreBuffer), intent(INOUT) :: buff 5219 ! splicer begin class.View.method.attach_buffer_only 5220 call c_view_attach_buffer_only(obj%cxxmem, buff%cxxmem) 5221 ! splicer end class.View.method.attach_buffer_only 5222 end subroutine view_attach_buffer_only 5223 5224 subroutine view_attach_buffer_type_int32_t(obj, type, num_elems, & 5225 buff) 5226 use iso_c_binding, only : C_INT, C_INT32_T, C_INT64_T 5227 class(SidreView) :: obj 5228 integer(C_INT), value, intent(IN) :: type 5229 integer(C_INT32_T), value, intent(IN) :: num_elems 5230 type(SidreBuffer), intent(INOUT) :: buff 5231 ! splicer begin class.View.method.attach_buffer_type_int32_t 5232 call c_view_attach_buffer_type(obj%cxxmem, type, & 5233 int(num_elems, C_INT64_t), buff%cxxmem) 5234 ! splicer end class.View.method.attach_buffer_type_int32_t 5235 end subroutine view_attach_buffer_type_int32_t 5236 5237 subroutine view_attach_buffer_type_int64_t(obj, type, num_elems, & 5238 buff) 5239 use iso_c_binding, only : C_INT, C_INT64_T 5240 class(SidreView) :: obj 5241 integer(C_INT), value, intent(IN) :: type 5242 integer(C_INT64_T), value, intent(IN) :: num_elems 5243 type(SidreBuffer), intent(INOUT) :: buff 5244 ! splicer begin class.View.method.attach_buffer_type_int64_t 5245 call c_view_attach_buffer_type(obj%cxxmem, type, & 5246 int(num_elems, C_INT64_t), buff%cxxmem) 5247 ! splicer end class.View.method.attach_buffer_type_int64_t 5248 end subroutine view_attach_buffer_type_int64_t 5249 5250 subroutine view_attach_buffer_shape(obj, type, ndims, shape, buff) 5251 use iso_c_binding, only : C_INT, C_INT64_T 5252 class(SidreView) :: obj 5253 integer(C_INT), value, intent(IN) :: type 5254 integer(C_INT), value, intent(IN) :: ndims 5255 integer(C_INT64_T), intent(IN) :: shape(:) 5256 type(SidreBuffer), intent(INOUT) :: buff 5257 ! splicer begin class.View.method.attach_buffer_shape 5258 call c_view_attach_buffer_shape(obj%cxxmem, type, ndims, shape, & 5259 buff%cxxmem) 5260 ! splicer end class.View.method.attach_buffer_shape 5261 end subroutine view_attach_buffer_shape 5262 5263 subroutine view_clear(obj) 5264 class(SidreView) :: obj 5265 ! splicer begin class.View.method.clear 5266 call c_view_clear(obj%cxxmem) 5267 ! splicer end class.View.method.clear 5268 end subroutine view_clear 5269 5270 subroutine view_apply_0(obj) 5271 class(SidreView) :: obj 5272 ! splicer begin class.View.method.apply_0 5273 call c_view_apply_0(obj%cxxmem) 5274 ! splicer end class.View.method.apply_0 5275 end subroutine view_apply_0 5276 5277 subroutine view_apply_nelems(obj, num_elems) 5278 use iso_c_binding, only : C_INT64_T 5279 class(SidreView) :: obj 5280 integer(C_INT64_T), value, intent(IN) :: num_elems 5281 ! splicer begin class.View.method.apply_nelems 5282 call c_view_apply_nelems(obj%cxxmem, num_elems) 5283 ! splicer end class.View.method.apply_nelems 5284 end subroutine view_apply_nelems 5285 5286 subroutine view_apply_nelems_offset(obj, num_elems, offset) 5287 use iso_c_binding, only : C_INT64_T 5288 class(SidreView) :: obj 5289 integer(C_INT64_T), value, intent(IN) :: num_elems 5290 integer(C_INT64_T), value, intent(IN) :: offset 5291 ! splicer begin class.View.method.apply_nelems_offset 5292 call c_view_apply_nelems_offset(obj%cxxmem, num_elems, offset) 5293 ! splicer end class.View.method.apply_nelems_offset 5294 end subroutine view_apply_nelems_offset 5295 5296 subroutine view_apply_nelems_offset_stride(obj, num_elems, offset, & 5297 stride) 5298 use iso_c_binding, only : C_INT64_T 5299 class(SidreView) :: obj 5300 integer(C_INT64_T), value, intent(IN) :: num_elems 5301 integer(C_INT64_T), value, intent(IN) :: offset 5302 integer(C_INT64_T), value, intent(IN) :: stride 5303 ! splicer begin class.View.method.apply_nelems_offset_stride 5304 call c_view_apply_nelems_offset_stride(obj%cxxmem, num_elems, & 5305 offset, stride) 5306 ! splicer end class.View.method.apply_nelems_offset_stride 5307 end subroutine view_apply_nelems_offset_stride 5308 5309 subroutine view_apply_type_nelems(obj, type, num_elems) 5310 use iso_c_binding, only : C_INT, C_INT64_T 5311 class(SidreView) :: obj 5312 integer(C_INT), value, intent(IN) :: type 5313 integer(C_INT64_T), value, intent(IN) :: num_elems 5314 ! splicer begin class.View.method.apply_type_nelems 5315 call c_view_apply_type_nelems(obj%cxxmem, type, num_elems) 5316 ! splicer end class.View.method.apply_type_nelems 5317 end subroutine view_apply_type_nelems 5318 5319 subroutine view_apply_type_nelems_offset(obj, type, num_elems, & 5320 offset) 5321 use iso_c_binding, only : C_INT, C_INT64_T 5322 class(SidreView) :: obj 5323 integer(C_INT), value, intent(IN) :: type 5324 integer(C_INT64_T), value, intent(IN) :: num_elems 5325 integer(C_INT64_T), value, intent(IN) :: offset 5326 ! splicer begin class.View.method.apply_type_nelems_offset 5327 call c_view_apply_type_nelems_offset(obj%cxxmem, type, & 5328 num_elems, offset) 5329 ! splicer end class.View.method.apply_type_nelems_offset 5330 end subroutine view_apply_type_nelems_offset 5331 5332 subroutine view_apply_type_nelems_offset_stride(obj, type, & 5333 num_elems, offset, stride) 5334 use iso_c_binding, only : C_INT, C_INT64_T 5335 class(SidreView) :: obj 5336 integer(C_INT), value, intent(IN) :: type 5337 integer(C_INT64_T), value, intent(IN) :: num_elems 5338 integer(C_INT64_T), value, intent(IN) :: offset 5339 integer(C_INT64_T), value, intent(IN) :: stride 5340 ! splicer begin class.View.method.apply_type_nelems_offset_stride 5341 call c_view_apply_type_nelems_offset_stride(obj%cxxmem, type, & 5342 num_elems, offset, stride) 5343 ! splicer end class.View.method.apply_type_nelems_offset_stride 5344 end subroutine view_apply_type_nelems_offset_stride 5345 5346 subroutine view_apply_type_shape(obj, type, ndims, shape) 5347 use iso_c_binding, only : C_INT, C_INT64_T 5348 class(SidreView) :: obj 5349 integer(C_INT), value, intent(IN) :: type 5350 integer(C_INT), value, intent(IN) :: ndims 5351 integer(C_INT64_T), intent(IN) :: shape(:) 5352 ! splicer begin class.View.method.apply_type_shape 5353 call c_view_apply_type_shape(obj%cxxmem, type, ndims, shape) 5354 ! splicer end class.View.method.apply_type_shape 5355 end subroutine view_apply_type_shape 5356 5357 subroutine view_set_scalar_int(obj, value) 5358 use iso_c_binding, only : C_INT 5359 class(SidreView) :: obj 5360 integer(C_INT), value, intent(IN) :: value 5361 ! splicer begin class.View.method.set_scalar_int 5362 call c_view_set_scalar_int(obj%cxxmem, value) 5363 ! splicer end class.View.method.set_scalar_int 5364 end subroutine view_set_scalar_int 5365 5366 subroutine view_set_scalar_long(obj, value) 5367 use iso_c_binding, only : C_LONG 5368 class(SidreView) :: obj 5369 integer(C_LONG), value, intent(IN) :: value 5370 ! splicer begin class.View.method.set_scalar_long 5371 call c_view_set_scalar_long(obj%cxxmem, value) 5372 ! splicer end class.View.method.set_scalar_long 5373 end subroutine view_set_scalar_long 5374 5375 subroutine view_set_scalar_float(obj, value) 5376 use iso_c_binding, only : C_FLOAT 5377 class(SidreView) :: obj 5378 real(C_FLOAT), value, intent(IN) :: value 5379 ! splicer begin class.View.method.set_scalar_float 5380 call c_view_set_scalar_float(obj%cxxmem, value) 5381 ! splicer end class.View.method.set_scalar_float 5382 end subroutine view_set_scalar_float 5383 5384 subroutine view_set_scalar_double(obj, value) 5385 use iso_c_binding, only : C_DOUBLE 5386 class(SidreView) :: obj 5387 real(C_DOUBLE), value, intent(IN) :: value 5388 ! splicer begin class.View.method.set_scalar_double 5389 call c_view_set_scalar_double(obj%cxxmem, value) 5390 ! splicer end class.View.method.set_scalar_double 5391 end subroutine view_set_scalar_double 5392 5393 subroutine view_set_string(obj, value) 5394 use iso_c_binding, only : C_INT 5395 class(SidreView) :: obj 5396 character(len=*), intent(IN) :: value 5397 ! splicer begin class.View.method.set_string 5398 call c_view_set_string_bufferify(obj%cxxmem, value, & 5399 len_trim(value, kind=C_INT)) 5400 ! splicer end class.View.method.set_string 5401 end subroutine view_set_string 5402 5403 subroutine view_set_external_data_ptr_only(obj, external_ptr) 5404 use iso_c_binding, only : C_PTR 5405 class(SidreView) :: obj 5406 type(C_PTR), intent(IN) :: external_ptr 5407 ! splicer begin class.View.method.set_external_data_ptr_only 5408 call c_view_set_external_data_ptr_only(obj%cxxmem, external_ptr) 5409 ! splicer end class.View.method.set_external_data_ptr_only 5410 end subroutine view_set_external_data_ptr_only 5411 5412 subroutine view_set_external_data_ptr_type_int32_t(obj, type, & 5413 num_elems, external_ptr) 5414 use iso_c_binding, only : C_INT, C_INT32_T, C_INT64_T, C_PTR 5415 class(SidreView) :: obj 5416 integer(C_INT), value, intent(IN) :: type 5417 integer(C_INT32_T), value, intent(IN) :: num_elems 5418 type(C_PTR), intent(IN) :: external_ptr 5419 ! splicer begin class.View.method.set_external_data_ptr_type_int32_t 5420 call c_view_set_external_data_ptr_type(obj%cxxmem, type, & 5421 int(num_elems, C_INT64_t), external_ptr) 5422 ! splicer end class.View.method.set_external_data_ptr_type_int32_t 5423 end subroutine view_set_external_data_ptr_type_int32_t 5424 5425 subroutine view_set_external_data_ptr_type_int64_t(obj, type, & 5426 num_elems, external_ptr) 5427 use iso_c_binding, only : C_INT, C_INT64_T, C_PTR 5428 class(SidreView) :: obj 5429 integer(C_INT), value, intent(IN) :: type 5430 integer(C_INT64_T), value, intent(IN) :: num_elems 5431 type(C_PTR), intent(IN) :: external_ptr 5432 ! splicer begin class.View.method.set_external_data_ptr_type_int64_t 5433 call c_view_set_external_data_ptr_type(obj%cxxmem, type, & 5434 int(num_elems, C_INT64_t), external_ptr) 5435 ! splicer end class.View.method.set_external_data_ptr_type_int64_t 5436 end subroutine view_set_external_data_ptr_type_int64_t 5437 5438 subroutine view_set_external_data_ptr_shape(obj, type, ndims, shape, & 5439 external_ptr) 5440 use iso_c_binding, only : C_INT, C_INT64_T, C_PTR 5441 class(SidreView) :: obj 5442 integer(C_INT), value, intent(IN) :: type 5443 integer(C_INT), value, intent(IN) :: ndims 5444 integer(C_INT64_T), intent(IN) :: shape(:) 5445 type(C_PTR), intent(IN) :: external_ptr 5446 ! splicer begin class.View.method.set_external_data_ptr_shape 5447 call c_view_set_external_data_ptr_shape(obj%cxxmem, type, ndims, & 5448 shape, external_ptr) 5449 ! splicer end class.View.method.set_external_data_ptr_shape 5450 end subroutine view_set_external_data_ptr_shape 5451 5452 subroutine view_get_string(obj, name) 5453 use iso_c_binding, only : C_INT 5454 class(SidreView) :: obj 5455 character(len=*), intent(OUT) :: name 5456 ! splicer begin class.View.method.get_string 5457 call c_view_get_string_bufferify(obj%cxxmem, name, & 5458 len(name, kind=C_INT)) 5459 ! splicer end class.View.method.get_string 5460 end subroutine view_get_string 5461 5462 function view_get_data_int(obj) & 5463 result(SHT_rv) 5464 use iso_c_binding, only : C_INT 5465 class(SidreView) :: obj 5466 integer(C_INT) :: SHT_rv 5467 ! splicer begin class.View.method.get_data_int 5468 SHT_rv = c_view_get_data_int(obj%cxxmem) 5469 ! splicer end class.View.method.get_data_int 5470 end function view_get_data_int 5471 5472 function view_get_data_long(obj) & 5473 result(SHT_rv) 5474 use iso_c_binding, only : C_LONG 5475 class(SidreView) :: obj 5476 integer(C_LONG) :: SHT_rv 5477 ! splicer begin class.View.method.get_data_long 5478 SHT_rv = c_view_get_data_long(obj%cxxmem) 5479 ! splicer end class.View.method.get_data_long 5480 end function view_get_data_long 5481 5482 function view_get_data_float(obj) & 5483 result(SHT_rv) 5484 use iso_c_binding, only : C_FLOAT 5485 class(SidreView) :: obj 5486 real(C_FLOAT) :: SHT_rv 5487 ! splicer begin class.View.method.get_data_float 5488 SHT_rv = c_view_get_data_float(obj%cxxmem) 5489 ! splicer end class.View.method.get_data_float 5490 end function view_get_data_float 5491 5492 function view_get_data_double(obj) & 5493 result(SHT_rv) 5494 use iso_c_binding, only : C_DOUBLE 5495 class(SidreView) :: obj 5496 real(C_DOUBLE) :: SHT_rv 5497 ! splicer begin class.View.method.get_data_double 5498 SHT_rv = c_view_get_data_double(obj%cxxmem) 5499 ! splicer end class.View.method.get_data_double 5500 end function view_get_data_double 5501 5502 function view_get_void_ptr(obj) & 5503 result(SHT_rv) 5504 use iso_c_binding, only : C_PTR 5505 class(SidreView) :: obj 5506 type(C_PTR) :: SHT_rv 5507 ! splicer begin class.View.method.get_void_ptr 5508 SHT_rv = c_view_get_void_ptr(obj%cxxmem) 5509 ! splicer end class.View.method.get_void_ptr 5510 end function view_get_void_ptr 5511 5512 subroutine view_print(obj) 5513 class(SidreView) :: obj 5514 ! splicer begin class.View.method.print 5515 call c_view_print(obj%cxxmem) 5516 ! splicer end class.View.method.print 5517 end subroutine view_print 5518 5519 function view_rename(obj, new_name) & 5520 result(SHT_rv) 5521 use iso_c_binding, only : C_BOOL, C_INT 5522 class(SidreView) :: obj 5523 character(len=*), intent(IN) :: new_name 5524 logical :: SHT_rv 5525 ! splicer begin class.View.method.rename 5526 SHT_rv = c_view_rename_bufferify(obj%cxxmem, new_name, & 5527 len_trim(new_name, kind=C_INT)) 5528 ! splicer end class.View.method.rename 5529 end function view_rename 5530 5531 ! Return pointer to C++ memory. 5532 function view_get_instance(obj) result (cxxptr) 5533 use iso_c_binding, only: C_PTR 5534 class(SidreView), intent(IN) :: obj 5535 type(C_PTR) :: cxxptr 5536 cxxptr = obj%cxxmem%addr 5537 end function view_get_instance 5538 5539 subroutine view_set_instance(obj, cxxmem) 5540 use iso_c_binding, only: C_PTR 5541 class(SidreView), intent(INOUT) :: obj 5542 type(C_PTR), intent(IN) :: cxxmem 5543 obj%cxxmem%addr = cxxmem 5544 obj%cxxmem%idtor = 0 5545 end subroutine view_set_instance 5546 5547 function view_associated(obj) result (rv) 5548 use iso_c_binding, only: c_associated 5549 class(SidreView), intent(IN) :: obj 5550 logical rv 5551 rv = c_associated(obj%cxxmem%addr) 5552 end function view_associated 5553 5554 ! splicer begin class.View.additional_functions 5555 5556 ! Generated by genfsidresplicer.py 5557 subroutine view_get_data_int_scalar_ptr(view, value) 5558 use iso_c_binding 5559 implicit none 5560 class(SidreView), intent(IN) :: view 5561 integer(C_INT), pointer, intent(OUT) :: value 5562 integer(C_INT), pointer :: tmp(:) 5563 type(C_PTR) cptr 5564 integer(SIDRE_IndexType) :: offset 5565 5566 cptr = view%get_void_ptr() 5567 if (c_associated(cptr)) then 5568 offset = view%get_offset() 5569 if (offset > 0) then 5570 call c_f_pointer(cptr, tmp, [offset+1]) ! +1 to convert 0-based offset to 1-based index 5571 cptr = c_loc(tmp(offset+1)) ! Emulates pointer arithmetic 5572 endif 5573 5574 call c_f_pointer(cptr, value) 5575 else 5576 nullify(value) 5577 endif 5578 end subroutine view_get_data_int_scalar_ptr 5579 5580 ! Generated by genfsidresplicer.py 5581 subroutine view_get_data_int_1d_ptr(view, value) 5582 use iso_c_binding 5583 implicit none 5584 class(SidreView), intent(IN) :: view 5585 integer(C_INT), pointer, intent(OUT) :: value(:) 5586 integer(C_INT), pointer :: tmp(:) 5587 type(C_PTR) cptr 5588 integer rank 5589 integer(SIDRE_IndexType) extents(1) 5590 integer(SIDRE_IndexType) :: offset 5591 5592 cptr = view%get_void_ptr() 5593 if (c_associated(cptr)) then 5594 offset = view%get_offset() 5595 if (offset > 0) then 5596 call c_f_pointer(cptr, tmp, [offset+1]) ! +1 to convert 0-based offset to 1-based index 5597 cptr = c_loc(tmp(offset+1)) ! Emulates pointer arithmetic 5598 endif 5599 5600 rank = view%get_shape(1, extents) 5601 call c_f_pointer(cptr, value, extents) 5602 else 5603 nullify(value) 5604 endif 5605 end subroutine view_get_data_int_1d_ptr 5606 5607 ! Generated by genfsidresplicer.py 5608 subroutine view_get_data_int_2d_ptr(view, value) 5609 use iso_c_binding 5610 implicit none 5611 class(SidreView), intent(IN) :: view 5612 integer(C_INT), pointer, intent(OUT) :: value(:,:) 5613 integer(C_INT), pointer :: tmp(:) 5614 type(C_PTR) cptr 5615 integer rank 5616 integer(SIDRE_IndexType) extents(2) 5617 integer(SIDRE_IndexType) :: offset 5618 5619 cptr = view%get_void_ptr() 5620 if (c_associated(cptr)) then 5621 offset = view%get_offset() 5622 if (offset > 0) then 5623 call c_f_pointer(cptr, tmp, [offset+1]) ! +1 to convert 0-based offset to 1-based index 5624 cptr = c_loc(tmp(offset+1)) ! Emulates pointer arithmetic 5625 endif 5626 5627 rank = view%get_shape(2, extents) 5628 call c_f_pointer(cptr, value, extents) 5629 else 5630 nullify(value) 5631 endif 5632 end subroutine view_get_data_int_2d_ptr 5633 5634 ! Generated by genfsidresplicer.py 5635 subroutine view_get_data_int_3d_ptr(view, value) 5636 use iso_c_binding 5637 implicit none 5638 class(SidreView), intent(IN) :: view 5639 integer(C_INT), pointer, intent(OUT) :: value(:,:,:) 5640 integer(C_INT), pointer :: tmp(:) 5641 type(C_PTR) cptr 5642 integer rank 5643 integer(SIDRE_IndexType) extents(3) 5644 integer(SIDRE_IndexType) :: offset 5645 5646 cptr = view%get_void_ptr() 5647 if (c_associated(cptr)) then 5648 offset = view%get_offset() 5649 if (offset > 0) then 5650 call c_f_pointer(cptr, tmp, [offset+1]) ! +1 to convert 0-based offset to 1-based index 5651 cptr = c_loc(tmp(offset+1)) ! Emulates pointer arithmetic 5652 endif 5653 5654 rank = view%get_shape(3, extents) 5655 call c_f_pointer(cptr, value, extents) 5656 else 5657 nullify(value) 5658 endif 5659 end subroutine view_get_data_int_3d_ptr 5660 5661 ! Generated by genfsidresplicer.py 5662 subroutine view_get_data_int_4d_ptr(view, value) 5663 use iso_c_binding 5664 implicit none 5665 class(SidreView), intent(IN) :: view 5666 integer(C_INT), pointer, intent(OUT) :: value(:,:,:,:) 5667 integer(C_INT), pointer :: tmp(:) 5668 type(C_PTR) cptr 5669 integer rank 5670 integer(SIDRE_IndexType) extents(4) 5671 integer(SIDRE_IndexType) :: offset 5672 5673 cptr = view%get_void_ptr() 5674 if (c_associated(cptr)) then 5675 offset = view%get_offset() 5676 if (offset > 0) then 5677 call c_f_pointer(cptr, tmp, [offset+1]) ! +1 to convert 0-based offset to 1-based index 5678 cptr = c_loc(tmp(offset+1)) ! Emulates pointer arithmetic 5679 endif 5680 5681 rank = view%get_shape(4, extents) 5682 call c_f_pointer(cptr, value, extents) 5683 else 5684 nullify(value) 5685 endif 5686 end subroutine view_get_data_int_4d_ptr 5687 5688 ! Generated by genfsidresplicer.py 5689 subroutine view_get_data_long_scalar_ptr(view, value) 5690 use iso_c_binding 5691 implicit none 5692 class(SidreView), intent(IN) :: view 5693 integer(C_LONG), pointer, intent(OUT) :: value 5694 integer(C_LONG), pointer :: tmp(:) 5695 type(C_PTR) cptr 5696 integer(SIDRE_IndexType) :: offset 5697 5698 cptr = view%get_void_ptr() 5699 if (c_associated(cptr)) then 5700 offset = view%get_offset() 5701 if (offset > 0) then 5702 call c_f_pointer(cptr, tmp, [offset+1]) ! +1 to convert 0-based offset to 1-based index 5703 cptr = c_loc(tmp(offset+1)) ! Emulates pointer arithmetic 5704 endif 5705 5706 call c_f_pointer(cptr, value) 5707 else 5708 nullify(value) 5709 endif 5710 end subroutine view_get_data_long_scalar_ptr 5711 5712 ! Generated by genfsidresplicer.py 5713 subroutine view_get_data_long_1d_ptr(view, value) 5714 use iso_c_binding 5715 implicit none 5716 class(SidreView), intent(IN) :: view 5717 integer(C_LONG), pointer, intent(OUT) :: value(:) 5718 integer(C_LONG), pointer :: tmp(:) 5719 type(C_PTR) cptr 5720 integer rank 5721 integer(SIDRE_IndexType) extents(1) 5722 integer(SIDRE_IndexType) :: offset 5723 5724 cptr = view%get_void_ptr() 5725 if (c_associated(cptr)) then 5726 offset = view%get_offset() 5727 if (offset > 0) then 5728 call c_f_pointer(cptr, tmp, [offset+1]) ! +1 to convert 0-based offset to 1-based index 5729 cptr = c_loc(tmp(offset+1)) ! Emulates pointer arithmetic 5730 endif 5731 5732 rank = view%get_shape(1, extents) 5733 call c_f_pointer(cptr, value, extents) 5734 else 5735 nullify(value) 5736 endif 5737 end subroutine view_get_data_long_1d_ptr 5738 5739 ! Generated by genfsidresplicer.py 5740 subroutine view_get_data_long_2d_ptr(view, value) 5741 use iso_c_binding 5742 implicit none 5743 class(SidreView), intent(IN) :: view 5744 integer(C_LONG), pointer, intent(OUT) :: value(:,:) 5745 integer(C_LONG), pointer :: tmp(:) 5746 type(C_PTR) cptr 5747 integer rank 5748 integer(SIDRE_IndexType) extents(2) 5749 integer(SIDRE_IndexType) :: offset 5750 5751 cptr = view%get_void_ptr() 5752 if (c_associated(cptr)) then 5753 offset = view%get_offset() 5754 if (offset > 0) then 5755 call c_f_pointer(cptr, tmp, [offset+1]) ! +1 to convert 0-based offset to 1-based index 5756 cptr = c_loc(tmp(offset+1)) ! Emulates pointer arithmetic 5757 endif 5758 5759 rank = view%get_shape(2, extents) 5760 call c_f_pointer(cptr, value, extents) 5761 else 5762 nullify(value) 5763 endif 5764 end subroutine view_get_data_long_2d_ptr 5765 5766 ! Generated by genfsidresplicer.py 5767 subroutine view_get_data_long_3d_ptr(view, value) 5768 use iso_c_binding 5769 implicit none 5770 class(SidreView), intent(IN) :: view 5771 integer(C_LONG), pointer, intent(OUT) :: value(:,:,:) 5772 integer(C_LONG), pointer :: tmp(:) 5773 type(C_PTR) cptr 5774 integer rank 5775 integer(SIDRE_IndexType) extents(3) 5776 integer(SIDRE_IndexType) :: offset 5777 5778 cptr = view%get_void_ptr() 5779 if (c_associated(cptr)) then 5780 offset = view%get_offset() 5781 if (offset > 0) then 5782 call c_f_pointer(cptr, tmp, [offset+1]) ! +1 to convert 0-based offset to 1-based index 5783 cptr = c_loc(tmp(offset+1)) ! Emulates pointer arithmetic 5784 endif 5785 5786 rank = view%get_shape(3, extents) 5787 call c_f_pointer(cptr, value, extents) 5788 else 5789 nullify(value) 5790 endif 5791 end subroutine view_get_data_long_3d_ptr 5792 5793 ! Generated by genfsidresplicer.py 5794 subroutine view_get_data_long_4d_ptr(view, value) 5795 use iso_c_binding 5796 implicit none 5797 class(SidreView), intent(IN) :: view 5798 integer(C_LONG), pointer, intent(OUT) :: value(:,:,:,:) 5799 integer(C_LONG), pointer :: tmp(:) 5800 type(C_PTR) cptr 5801 integer rank 5802 integer(SIDRE_IndexType) extents(4) 5803 integer(SIDRE_IndexType) :: offset 5804 5805 cptr = view%get_void_ptr() 5806 if (c_associated(cptr)) then 5807 offset = view%get_offset() 5808 if (offset > 0) then 5809 call c_f_pointer(cptr, tmp, [offset+1]) ! +1 to convert 0-based offset to 1-based index 5810 cptr = c_loc(tmp(offset+1)) ! Emulates pointer arithmetic 5811 endif 5812 5813 rank = view%get_shape(4, extents) 5814 call c_f_pointer(cptr, value, extents) 5815 else 5816 nullify(value) 5817 endif 5818 end subroutine view_get_data_long_4d_ptr 5819 5820 ! Generated by genfsidresplicer.py 5821 subroutine view_get_data_float_scalar_ptr(view, value) 5822 use iso_c_binding 5823 implicit none 5824 class(SidreView), intent(IN) :: view 5825 real(C_FLOAT), pointer, intent(OUT) :: value 5826 real(C_FLOAT), pointer :: tmp(:) 5827 type(C_PTR) cptr 5828 integer(SIDRE_IndexType) :: offset 5829 5830 cptr = view%get_void_ptr() 5831 if (c_associated(cptr)) then 5832 offset = view%get_offset() 5833 if (offset > 0) then 5834 call c_f_pointer(cptr, tmp, [offset+1]) ! +1 to convert 0-based offset to 1-based index 5835 cptr = c_loc(tmp(offset+1)) ! Emulates pointer arithmetic 5836 endif 5837 5838 call c_f_pointer(cptr, value) 5839 else 5840 nullify(value) 5841 endif 5842 end subroutine view_get_data_float_scalar_ptr 5843 5844 ! Generated by genfsidresplicer.py 5845 subroutine view_get_data_float_1d_ptr(view, value) 5846 use iso_c_binding 5847 implicit none 5848 class(SidreView), intent(IN) :: view 5849 real(C_FLOAT), pointer, intent(OUT) :: value(:) 5850 real(C_FLOAT), pointer :: tmp(:) 5851 type(C_PTR) cptr 5852 integer rank 5853 integer(SIDRE_IndexType) extents(1) 5854 integer(SIDRE_IndexType) :: offset 5855 5856 cptr = view%get_void_ptr() 5857 if (c_associated(cptr)) then 5858 offset = view%get_offset() 5859 if (offset > 0) then 5860 call c_f_pointer(cptr, tmp, [offset+1]) ! +1 to convert 0-based offset to 1-based index 5861 cptr = c_loc(tmp(offset+1)) ! Emulates pointer arithmetic 5862 endif 5863 5864 rank = view%get_shape(1, extents) 5865 call c_f_pointer(cptr, value, extents) 5866 else 5867 nullify(value) 5868 endif 5869 end subroutine view_get_data_float_1d_ptr 5870 5871 ! Generated by genfsidresplicer.py 5872 subroutine view_get_data_float_2d_ptr(view, value) 5873 use iso_c_binding 5874 implicit none 5875 class(SidreView), intent(IN) :: view 5876 real(C_FLOAT), pointer, intent(OUT) :: value(:,:) 5877 real(C_FLOAT), pointer :: tmp(:) 5878 type(C_PTR) cptr 5879 integer rank 5880 integer(SIDRE_IndexType) extents(2) 5881 integer(SIDRE_IndexType) :: offset 5882 5883 cptr = view%get_void_ptr() 5884 if (c_associated(cptr)) then 5885 offset = view%get_offset() 5886 if (offset > 0) then 5887 call c_f_pointer(cptr, tmp, [offset+1]) ! +1 to convert 0-based offset to 1-based index 5888 cptr = c_loc(tmp(offset+1)) ! Emulates pointer arithmetic 5889 endif 5890 5891 rank = view%get_shape(2, extents) 5892 call c_f_pointer(cptr, value, extents) 5893 else 5894 nullify(value) 5895 endif 5896 end subroutine view_get_data_float_2d_ptr 5897 5898 ! Generated by genfsidresplicer.py 5899 subroutine view_get_data_float_3d_ptr(view, value) 5900 use iso_c_binding 5901 implicit none 5902 class(SidreView), intent(IN) :: view 5903 real(C_FLOAT), pointer, intent(OUT) :: value(:,:,:) 5904 real(C_FLOAT), pointer :: tmp(:) 5905 type(C_PTR) cptr 5906 integer rank 5907 integer(SIDRE_IndexType) extents(3) 5908 integer(SIDRE_IndexType) :: offset 5909 5910 cptr = view%get_void_ptr() 5911 if (c_associated(cptr)) then 5912 offset = view%get_offset() 5913 if (offset > 0) then 5914 call c_f_pointer(cptr, tmp, [offset+1]) ! +1 to convert 0-based offset to 1-based index 5915 cptr = c_loc(tmp(offset+1)) ! Emulates pointer arithmetic 5916 endif 5917 5918 rank = view%get_shape(3, extents) 5919 call c_f_pointer(cptr, value, extents) 5920 else 5921 nullify(value) 5922 endif 5923 end subroutine view_get_data_float_3d_ptr 5924 5925 ! Generated by genfsidresplicer.py 5926 subroutine view_get_data_float_4d_ptr(view, value) 5927 use iso_c_binding 5928 implicit none 5929 class(SidreView), intent(IN) :: view 5930 real(C_FLOAT), pointer, intent(OUT) :: value(:,:,:,:) 5931 real(C_FLOAT), pointer :: tmp(:) 5932 type(C_PTR) cptr 5933 integer rank 5934 integer(SIDRE_IndexType) extents(4) 5935 integer(SIDRE_IndexType) :: offset 5936 5937 cptr = view%get_void_ptr() 5938 if (c_associated(cptr)) then 5939 offset = view%get_offset() 5940 if (offset > 0) then 5941 call c_f_pointer(cptr, tmp, [offset+1]) ! +1 to convert 0-based offset to 1-based index 5942 cptr = c_loc(tmp(offset+1)) ! Emulates pointer arithmetic 5943 endif 5944 5945 rank = view%get_shape(4, extents) 5946 call c_f_pointer(cptr, value, extents) 5947 else 5948 nullify(value) 5949 endif 5950 end subroutine view_get_data_float_4d_ptr 5951 5952 ! Generated by genfsidresplicer.py 5953 subroutine view_get_data_double_scalar_ptr(view, value) 5954 use iso_c_binding 5955 implicit none 5956 class(SidreView), intent(IN) :: view 5957 real(C_DOUBLE), pointer, intent(OUT) :: value 5958 real(C_DOUBLE), pointer :: tmp(:) 5959 type(C_PTR) cptr 5960 integer(SIDRE_IndexType) :: offset 5961 5962 cptr = view%get_void_ptr() 5963 if (c_associated(cptr)) then 5964 offset = view%get_offset() 5965 if (offset > 0) then 5966 call c_f_pointer(cptr, tmp, [offset+1]) ! +1 to convert 0-based offset to 1-based index 5967 cptr = c_loc(tmp(offset+1)) ! Emulates pointer arithmetic 5968 endif 5969 5970 call c_f_pointer(cptr, value) 5971 else 5972 nullify(value) 5973 endif 5974 end subroutine view_get_data_double_scalar_ptr 5975 5976 ! Generated by genfsidresplicer.py 5977 subroutine view_get_data_double_1d_ptr(view, value) 5978 use iso_c_binding 5979 implicit none 5980 class(SidreView), intent(IN) :: view 5981 real(C_DOUBLE), pointer, intent(OUT) :: value(:) 5982 real(C_DOUBLE), pointer :: tmp(:) 5983 type(C_PTR) cptr 5984 integer rank 5985 integer(SIDRE_IndexType) extents(1) 5986 integer(SIDRE_IndexType) :: offset 5987 5988 cptr = view%get_void_ptr() 5989 if (c_associated(cptr)) then 5990 offset = view%get_offset() 5991 if (offset > 0) then 5992 call c_f_pointer(cptr, tmp, [offset+1]) ! +1 to convert 0-based offset to 1-based index 5993 cptr = c_loc(tmp(offset+1)) ! Emulates pointer arithmetic 5994 endif 5995 5996 rank = view%get_shape(1, extents) 5997 call c_f_pointer(cptr, value, extents) 5998 else 5999 nullify(value) 6000 endif 6001 end subroutine view_get_data_double_1d_ptr 6002 6003 ! Generated by genfsidresplicer.py 6004 subroutine view_get_data_double_2d_ptr(view, value) 6005 use iso_c_binding 6006 implicit none 6007 class(SidreView), intent(IN) :: view 6008 real(C_DOUBLE), pointer, intent(OUT) :: value(:,:) 6009 real(C_DOUBLE), pointer :: tmp(:) 6010 type(C_PTR) cptr 6011 integer rank 6012 integer(SIDRE_IndexType) extents(2) 6013 integer(SIDRE_IndexType) :: offset 6014 6015 cptr = view%get_void_ptr() 6016 if (c_associated(cptr)) then 6017 offset = view%get_offset() 6018 if (offset > 0) then 6019 call c_f_pointer(cptr, tmp, [offset+1]) ! +1 to convert 0-based offset to 1-based index 6020 cptr = c_loc(tmp(offset+1)) ! Emulates pointer arithmetic 6021 endif 6022 6023 rank = view%get_shape(2, extents) 6024 call c_f_pointer(cptr, value, extents) 6025 else 6026 nullify(value) 6027 endif 6028 end subroutine view_get_data_double_2d_ptr 6029 6030 ! Generated by genfsidresplicer.py 6031 subroutine view_get_data_double_3d_ptr(view, value) 6032 use iso_c_binding 6033 implicit none 6034 class(SidreView), intent(IN) :: view 6035 real(C_DOUBLE), pointer, intent(OUT) :: value(:,:,:) 6036 real(C_DOUBLE), pointer :: tmp(:) 6037 type(C_PTR) cptr 6038 integer rank 6039 integer(SIDRE_IndexType) extents(3) 6040 integer(SIDRE_IndexType) :: offset 6041 6042 cptr = view%get_void_ptr() 6043 if (c_associated(cptr)) then 6044 offset = view%get_offset() 6045 if (offset > 0) then 6046 call c_f_pointer(cptr, tmp, [offset+1]) ! +1 to convert 0-based offset to 1-based index 6047 cptr = c_loc(tmp(offset+1)) ! Emulates pointer arithmetic 6048 endif 6049 6050 rank = view%get_shape(3, extents) 6051 call c_f_pointer(cptr, value, extents) 6052 else 6053 nullify(value) 6054 endif 6055 end subroutine view_get_data_double_3d_ptr 6056 6057 ! Generated by genfsidresplicer.py 6058 subroutine view_get_data_double_4d_ptr(view, value) 6059 use iso_c_binding 6060 implicit none 6061 class(SidreView), intent(IN) :: view 6062 real(C_DOUBLE), pointer, intent(OUT) :: value(:,:,:,:) 6063 real(C_DOUBLE), pointer :: tmp(:) 6064 type(C_PTR) cptr 6065 integer rank 6066 integer(SIDRE_IndexType) extents(4) 6067 integer(SIDRE_IndexType) :: offset 6068 6069 cptr = view%get_void_ptr() 6070 if (c_associated(cptr)) then 6071 offset = view%get_offset() 6072 if (offset > 0) then 6073 call c_f_pointer(cptr, tmp, [offset+1]) ! +1 to convert 0-based offset to 1-based index 6074 cptr = c_loc(tmp(offset+1)) ! Emulates pointer arithmetic 6075 endif 6076 6077 rank = view%get_shape(4, extents) 6078 call c_f_pointer(cptr, value, extents) 6079 else 6080 nullify(value) 6081 endif 6082 end subroutine view_get_data_double_4d_ptr 6083 6084 ! Generated by genfsidresplicer.py 6085 subroutine view_set_array_data_ptr_int_scalar(view, value) 6086 use iso_c_binding 6087 implicit none 6088 6089 class(SidreView), intent(IN) :: view 6090 integer(C_INT), target, intent(IN) :: value 6091 ! integer(SIDRE_IndexType) :: extents(1) 6092 ! integer(C_INT), parameter :: type = SIDRE_INT_ID 6093 type(C_PTR) addr 6094 6095 ! lname = len_trim(name) 6096 ! extents(1) = 1_SIDRE_IndexType 6097#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 6098 addr = c_loc(value) 6099#else 6100 call SIDRE_C_LOC(value, addr) 6101#endif 6102 call c_view_set_external_data_ptr_only(view%cxxmem, addr) 6103 ! call c_view_apply_type_shape(rv%cxxmem, type, 0, extents) 6104 end subroutine view_set_array_data_ptr_int_scalar 6105 6106 ! Generated by genfsidresplicer.py 6107 subroutine view_set_array_data_ptr_int_1d(view, value) 6108 use iso_c_binding 6109 implicit none 6110 6111 class(SidreView), intent(IN) :: view 6112 integer(C_INT), target, intent(IN) :: value(:) 6113 ! integer(SIDRE_IndexType) :: extents(1) 6114 ! integer(C_INT), parameter :: type = SIDRE_INT_ID 6115 type(C_PTR) addr 6116 6117 ! lname = len_trim(name) 6118 ! extents = shape(value, kind=SIDRE_IndexType) 6119#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 6120 addr = c_loc(value) 6121#else 6122 call SIDRE_C_LOC(value(lbound(value,1)), addr) 6123#endif 6124 call c_view_set_external_data_ptr_only(view%cxxmem, addr) 6125 ! call c_view_apply_type_shape(rv%cxxmem, type, 1, extents) 6126 end subroutine view_set_array_data_ptr_int_1d 6127 6128 ! Generated by genfsidresplicer.py 6129 subroutine view_set_array_data_ptr_int_2d(view, value) 6130 use iso_c_binding 6131 implicit none 6132 6133 class(SidreView), intent(IN) :: view 6134 integer(C_INT), target, intent(IN) :: value(:,:) 6135 ! integer(SIDRE_IndexType) :: extents(2) 6136 ! integer(C_INT), parameter :: type = SIDRE_INT_ID 6137 type(C_PTR) addr 6138 6139 ! lname = len_trim(name) 6140 ! extents = shape(value, kind=SIDRE_IndexType) 6141#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 6142 addr = c_loc(value) 6143#else 6144 call SIDRE_C_LOC(value(lbound(value,1),lbound(value,2)), addr) 6145#endif 6146 call c_view_set_external_data_ptr_only(view%cxxmem, addr) 6147 ! call c_view_apply_type_shape(rv%cxxmem, type, 2, extents) 6148 end subroutine view_set_array_data_ptr_int_2d 6149 6150 ! Generated by genfsidresplicer.py 6151 subroutine view_set_array_data_ptr_int_3d(view, value) 6152 use iso_c_binding 6153 implicit none 6154 6155 class(SidreView), intent(IN) :: view 6156 integer(C_INT), target, intent(IN) :: value(:,:,:) 6157 ! integer(SIDRE_IndexType) :: extents(3) 6158 ! integer(C_INT), parameter :: type = SIDRE_INT_ID 6159 type(C_PTR) addr 6160 6161 ! lname = len_trim(name) 6162 ! extents = shape(value, kind=SIDRE_IndexType) 6163#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 6164 addr = c_loc(value) 6165#else 6166 call SIDRE_C_LOC(value(lbound(value,1),lbound(value,2),lbound(value,3)), addr) 6167#endif 6168 call c_view_set_external_data_ptr_only(view%cxxmem, addr) 6169 ! call c_view_apply_type_shape(rv%cxxmem, type, 3, extents) 6170 end subroutine view_set_array_data_ptr_int_3d 6171 6172 ! Generated by genfsidresplicer.py 6173 subroutine view_set_array_data_ptr_int_4d(view, value) 6174 use iso_c_binding 6175 implicit none 6176 6177 class(SidreView), intent(IN) :: view 6178 integer(C_INT), target, intent(IN) :: value(:,:,:,:) 6179 ! integer(SIDRE_IndexType) :: extents(4) 6180 ! integer(C_INT), parameter :: type = SIDRE_INT_ID 6181 type(C_PTR) addr 6182 6183 ! lname = len_trim(name) 6184 ! extents = shape(value, kind=SIDRE_IndexType) 6185#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 6186 addr = c_loc(value) 6187#else 6188 call SIDRE_C_LOC(value(lbound(value,1),lbound(value,2),lbound(value,3),lbound(value,4)), addr) 6189#endif 6190 call c_view_set_external_data_ptr_only(view%cxxmem, addr) 6191 ! call c_view_apply_type_shape(rv%cxxmem, type, 4, extents) 6192 end subroutine view_set_array_data_ptr_int_4d 6193 6194 ! Generated by genfsidresplicer.py 6195 subroutine view_set_array_data_ptr_long_scalar(view, value) 6196 use iso_c_binding 6197 implicit none 6198 6199 class(SidreView), intent(IN) :: view 6200 integer(C_LONG), target, intent(IN) :: value 6201 ! integer(SIDRE_IndexType) :: extents(1) 6202 ! integer(C_INT), parameter :: type = SIDRE_LONG_ID 6203 type(C_PTR) addr 6204 6205 ! lname = len_trim(name) 6206 ! extents(1) = 1_SIDRE_IndexType 6207#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 6208 addr = c_loc(value) 6209#else 6210 call SIDRE_C_LOC(value, addr) 6211#endif 6212 call c_view_set_external_data_ptr_only(view%cxxmem, addr) 6213 ! call c_view_apply_type_shape(rv%cxxmem, type, 0, extents) 6214 end subroutine view_set_array_data_ptr_long_scalar 6215 6216 ! Generated by genfsidresplicer.py 6217 subroutine view_set_array_data_ptr_long_1d(view, value) 6218 use iso_c_binding 6219 implicit none 6220 6221 class(SidreView), intent(IN) :: view 6222 integer(C_LONG), target, intent(IN) :: value(:) 6223 ! integer(SIDRE_IndexType) :: extents(1) 6224 ! integer(C_INT), parameter :: type = SIDRE_LONG_ID 6225 type(C_PTR) addr 6226 6227 ! lname = len_trim(name) 6228 ! extents = shape(value, kind=SIDRE_IndexType) 6229#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 6230 addr = c_loc(value) 6231#else 6232 call SIDRE_C_LOC(value(lbound(value,1)), addr) 6233#endif 6234 call c_view_set_external_data_ptr_only(view%cxxmem, addr) 6235 ! call c_view_apply_type_shape(rv%cxxmem, type, 1, extents) 6236 end subroutine view_set_array_data_ptr_long_1d 6237 6238 ! Generated by genfsidresplicer.py 6239 subroutine view_set_array_data_ptr_long_2d(view, value) 6240 use iso_c_binding 6241 implicit none 6242 6243 class(SidreView), intent(IN) :: view 6244 integer(C_LONG), target, intent(IN) :: value(:,:) 6245 ! integer(SIDRE_IndexType) :: extents(2) 6246 ! integer(C_INT), parameter :: type = SIDRE_LONG_ID 6247 type(C_PTR) addr 6248 6249 ! lname = len_trim(name) 6250 ! extents = shape(value, kind=SIDRE_IndexType) 6251#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 6252 addr = c_loc(value) 6253#else 6254 call SIDRE_C_LOC(value(lbound(value,1),lbound(value,2)), addr) 6255#endif 6256 call c_view_set_external_data_ptr_only(view%cxxmem, addr) 6257 ! call c_view_apply_type_shape(rv%cxxmem, type, 2, extents) 6258 end subroutine view_set_array_data_ptr_long_2d 6259 6260 ! Generated by genfsidresplicer.py 6261 subroutine view_set_array_data_ptr_long_3d(view, value) 6262 use iso_c_binding 6263 implicit none 6264 6265 class(SidreView), intent(IN) :: view 6266 integer(C_LONG), target, intent(IN) :: value(:,:,:) 6267 ! integer(SIDRE_IndexType) :: extents(3) 6268 ! integer(C_INT), parameter :: type = SIDRE_LONG_ID 6269 type(C_PTR) addr 6270 6271 ! lname = len_trim(name) 6272 ! extents = shape(value, kind=SIDRE_IndexType) 6273#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 6274 addr = c_loc(value) 6275#else 6276 call SIDRE_C_LOC(value(lbound(value,1),lbound(value,2),lbound(value,3)), addr) 6277#endif 6278 call c_view_set_external_data_ptr_only(view%cxxmem, addr) 6279 ! call c_view_apply_type_shape(rv%cxxmem, type, 3, extents) 6280 end subroutine view_set_array_data_ptr_long_3d 6281 6282 ! Generated by genfsidresplicer.py 6283 subroutine view_set_array_data_ptr_long_4d(view, value) 6284 use iso_c_binding 6285 implicit none 6286 6287 class(SidreView), intent(IN) :: view 6288 integer(C_LONG), target, intent(IN) :: value(:,:,:,:) 6289 ! integer(SIDRE_IndexType) :: extents(4) 6290 ! integer(C_INT), parameter :: type = SIDRE_LONG_ID 6291 type(C_PTR) addr 6292 6293 ! lname = len_trim(name) 6294 ! extents = shape(value, kind=SIDRE_IndexType) 6295#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 6296 addr = c_loc(value) 6297#else 6298 call SIDRE_C_LOC(value(lbound(value,1),lbound(value,2),lbound(value,3),lbound(value,4)), addr) 6299#endif 6300 call c_view_set_external_data_ptr_only(view%cxxmem, addr) 6301 ! call c_view_apply_type_shape(rv%cxxmem, type, 4, extents) 6302 end subroutine view_set_array_data_ptr_long_4d 6303 6304 ! Generated by genfsidresplicer.py 6305 subroutine view_set_array_data_ptr_float_scalar(view, value) 6306 use iso_c_binding 6307 implicit none 6308 6309 class(SidreView), intent(IN) :: view 6310 real(C_FLOAT), target, intent(IN) :: value 6311 ! integer(SIDRE_IndexType) :: extents(1) 6312 ! integer(C_INT), parameter :: type = SIDRE_FLOAT_ID 6313 type(C_PTR) addr 6314 6315 ! lname = len_trim(name) 6316 ! extents(1) = 1_SIDRE_IndexType 6317#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 6318 addr = c_loc(value) 6319#else 6320 call SIDRE_C_LOC(value, addr) 6321#endif 6322 call c_view_set_external_data_ptr_only(view%cxxmem, addr) 6323 ! call c_view_apply_type_shape(rv%cxxmem, type, 0, extents) 6324 end subroutine view_set_array_data_ptr_float_scalar 6325 6326 ! Generated by genfsidresplicer.py 6327 subroutine view_set_array_data_ptr_float_1d(view, value) 6328 use iso_c_binding 6329 implicit none 6330 6331 class(SidreView), intent(IN) :: view 6332 real(C_FLOAT), target, intent(IN) :: value(:) 6333 ! integer(SIDRE_IndexType) :: extents(1) 6334 ! integer(C_INT), parameter :: type = SIDRE_FLOAT_ID 6335 type(C_PTR) addr 6336 6337 ! lname = len_trim(name) 6338 ! extents = shape(value, kind=SIDRE_IndexType) 6339#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 6340 addr = c_loc(value) 6341#else 6342 call SIDRE_C_LOC(value(lbound(value,1)), addr) 6343#endif 6344 call c_view_set_external_data_ptr_only(view%cxxmem, addr) 6345 ! call c_view_apply_type_shape(rv%cxxmem, type, 1, extents) 6346 end subroutine view_set_array_data_ptr_float_1d 6347 6348 ! Generated by genfsidresplicer.py 6349 subroutine view_set_array_data_ptr_float_2d(view, value) 6350 use iso_c_binding 6351 implicit none 6352 6353 class(SidreView), intent(IN) :: view 6354 real(C_FLOAT), target, intent(IN) :: value(:,:) 6355 ! integer(SIDRE_IndexType) :: extents(2) 6356 ! integer(C_INT), parameter :: type = SIDRE_FLOAT_ID 6357 type(C_PTR) addr 6358 6359 ! lname = len_trim(name) 6360 ! extents = shape(value, kind=SIDRE_IndexType) 6361#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 6362 addr = c_loc(value) 6363#else 6364 call SIDRE_C_LOC(value(lbound(value,1),lbound(value,2)), addr) 6365#endif 6366 call c_view_set_external_data_ptr_only(view%cxxmem, addr) 6367 ! call c_view_apply_type_shape(rv%cxxmem, type, 2, extents) 6368 end subroutine view_set_array_data_ptr_float_2d 6369 6370 ! Generated by genfsidresplicer.py 6371 subroutine view_set_array_data_ptr_float_3d(view, value) 6372 use iso_c_binding 6373 implicit none 6374 6375 class(SidreView), intent(IN) :: view 6376 real(C_FLOAT), target, intent(IN) :: value(:,:,:) 6377 ! integer(SIDRE_IndexType) :: extents(3) 6378 ! integer(C_INT), parameter :: type = SIDRE_FLOAT_ID 6379 type(C_PTR) addr 6380 6381 ! lname = len_trim(name) 6382 ! extents = shape(value, kind=SIDRE_IndexType) 6383#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 6384 addr = c_loc(value) 6385#else 6386 call SIDRE_C_LOC(value(lbound(value,1),lbound(value,2),lbound(value,3)), addr) 6387#endif 6388 call c_view_set_external_data_ptr_only(view%cxxmem, addr) 6389 ! call c_view_apply_type_shape(rv%cxxmem, type, 3, extents) 6390 end subroutine view_set_array_data_ptr_float_3d 6391 6392 ! Generated by genfsidresplicer.py 6393 subroutine view_set_array_data_ptr_float_4d(view, value) 6394 use iso_c_binding 6395 implicit none 6396 6397 class(SidreView), intent(IN) :: view 6398 real(C_FLOAT), target, intent(IN) :: value(:,:,:,:) 6399 ! integer(SIDRE_IndexType) :: extents(4) 6400 ! integer(C_INT), parameter :: type = SIDRE_FLOAT_ID 6401 type(C_PTR) addr 6402 6403 ! lname = len_trim(name) 6404 ! extents = shape(value, kind=SIDRE_IndexType) 6405#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 6406 addr = c_loc(value) 6407#else 6408 call SIDRE_C_LOC(value(lbound(value,1),lbound(value,2),lbound(value,3),lbound(value,4)), addr) 6409#endif 6410 call c_view_set_external_data_ptr_only(view%cxxmem, addr) 6411 ! call c_view_apply_type_shape(rv%cxxmem, type, 4, extents) 6412 end subroutine view_set_array_data_ptr_float_4d 6413 6414 ! Generated by genfsidresplicer.py 6415 subroutine view_set_array_data_ptr_double_scalar(view, value) 6416 use iso_c_binding 6417 implicit none 6418 6419 class(SidreView), intent(IN) :: view 6420 real(C_DOUBLE), target, intent(IN) :: value 6421 ! integer(SIDRE_IndexType) :: extents(1) 6422 ! integer(C_INT), parameter :: type = SIDRE_DOUBLE_ID 6423 type(C_PTR) addr 6424 6425 ! lname = len_trim(name) 6426 ! extents(1) = 1_SIDRE_IndexType 6427#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 6428 addr = c_loc(value) 6429#else 6430 call SIDRE_C_LOC(value, addr) 6431#endif 6432 call c_view_set_external_data_ptr_only(view%cxxmem, addr) 6433 ! call c_view_apply_type_shape(rv%cxxmem, type, 0, extents) 6434 end subroutine view_set_array_data_ptr_double_scalar 6435 6436 ! Generated by genfsidresplicer.py 6437 subroutine view_set_array_data_ptr_double_1d(view, value) 6438 use iso_c_binding 6439 implicit none 6440 6441 class(SidreView), intent(IN) :: view 6442 real(C_DOUBLE), target, intent(IN) :: value(:) 6443 ! integer(SIDRE_IndexType) :: extents(1) 6444 ! integer(C_INT), parameter :: type = SIDRE_DOUBLE_ID 6445 type(C_PTR) addr 6446 6447 ! lname = len_trim(name) 6448 ! extents = shape(value, kind=SIDRE_IndexType) 6449#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 6450 addr = c_loc(value) 6451#else 6452 call SIDRE_C_LOC(value(lbound(value,1)), addr) 6453#endif 6454 call c_view_set_external_data_ptr_only(view%cxxmem, addr) 6455 ! call c_view_apply_type_shape(rv%cxxmem, type, 1, extents) 6456 end subroutine view_set_array_data_ptr_double_1d 6457 6458 ! Generated by genfsidresplicer.py 6459 subroutine view_set_array_data_ptr_double_2d(view, value) 6460 use iso_c_binding 6461 implicit none 6462 6463 class(SidreView), intent(IN) :: view 6464 real(C_DOUBLE), target, intent(IN) :: value(:,:) 6465 ! integer(SIDRE_IndexType) :: extents(2) 6466 ! integer(C_INT), parameter :: type = SIDRE_DOUBLE_ID 6467 type(C_PTR) addr 6468 6469 ! lname = len_trim(name) 6470 ! extents = shape(value, kind=SIDRE_IndexType) 6471#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 6472 addr = c_loc(value) 6473#else 6474 call SIDRE_C_LOC(value(lbound(value,1),lbound(value,2)), addr) 6475#endif 6476 call c_view_set_external_data_ptr_only(view%cxxmem, addr) 6477 ! call c_view_apply_type_shape(rv%cxxmem, type, 2, extents) 6478 end subroutine view_set_array_data_ptr_double_2d 6479 6480 ! Generated by genfsidresplicer.py 6481 subroutine view_set_array_data_ptr_double_3d(view, value) 6482 use iso_c_binding 6483 implicit none 6484 6485 class(SidreView), intent(IN) :: view 6486 real(C_DOUBLE), target, intent(IN) :: value(:,:,:) 6487 ! integer(SIDRE_IndexType) :: extents(3) 6488 ! integer(C_INT), parameter :: type = SIDRE_DOUBLE_ID 6489 type(C_PTR) addr 6490 6491 ! lname = len_trim(name) 6492 ! extents = shape(value, kind=SIDRE_IndexType) 6493#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 6494 addr = c_loc(value) 6495#else 6496 call SIDRE_C_LOC(value(lbound(value,1),lbound(value,2),lbound(value,3)), addr) 6497#endif 6498 call c_view_set_external_data_ptr_only(view%cxxmem, addr) 6499 ! call c_view_apply_type_shape(rv%cxxmem, type, 3, extents) 6500 end subroutine view_set_array_data_ptr_double_3d 6501 6502 ! Generated by genfsidresplicer.py 6503 subroutine view_set_array_data_ptr_double_4d(view, value) 6504 use iso_c_binding 6505 implicit none 6506 6507 class(SidreView), intent(IN) :: view 6508 real(C_DOUBLE), target, intent(IN) :: value(:,:,:,:) 6509 ! integer(SIDRE_IndexType) :: extents(4) 6510 ! integer(C_INT), parameter :: type = SIDRE_DOUBLE_ID 6511 type(C_PTR) addr 6512 6513 ! lname = len_trim(name) 6514 ! extents = shape(value, kind=SIDRE_IndexType) 6515#ifdef USE_C_LOC_WITH_ASSUMED_SHAPE 6516 addr = c_loc(value) 6517#else 6518 call SIDRE_C_LOC(value(lbound(value,1),lbound(value,2),lbound(value,3),lbound(value,4)), addr) 6519#endif 6520 call c_view_set_external_data_ptr_only(view%cxxmem, addr) 6521 ! call c_view_apply_type_shape(rv%cxxmem, type, 4, extents) 6522 end subroutine view_set_array_data_ptr_double_4d 6523 ! splicer end class.View.additional_functions 6524 6525 function datastore_new() & 6526 result(SHT_rv) 6527 use iso_c_binding, only : C_PTR 6528 type(SidreDataStore) :: SHT_rv 6529 ! splicer begin class.DataStore.method.new 6530 type(C_PTR) :: SHT_prv 6531 SHT_prv = c_datastore_new(SHT_rv%cxxmem) 6532 ! splicer end class.DataStore.method.new 6533 end function datastore_new 6534 6535 subroutine datastore_delete(obj) 6536 class(SidreDataStore) :: obj 6537 ! splicer begin class.DataStore.method.delete 6538 call c_datastore_delete(obj%cxxmem) 6539 ! splicer end class.DataStore.method.delete 6540 end subroutine datastore_delete 6541 6542 function datastore_get_root(obj) & 6543 result(SHT_rv) 6544 use iso_c_binding, only : C_PTR 6545 class(SidreDataStore) :: obj 6546 type(SidreGroup) :: SHT_rv 6547 ! splicer begin class.DataStore.method.get_root 6548 type(C_PTR) :: SHT_prv 6549 SHT_prv = c_datastore_get_root(obj%cxxmem, SHT_rv%cxxmem) 6550 ! splicer end class.DataStore.method.get_root 6551 end function datastore_get_root 6552 6553 function datastore_get_num_buffers(obj) & 6554 result(SHT_rv) 6555 use iso_c_binding, only : C_SIZE_T 6556 class(SidreDataStore) :: obj 6557 integer(C_SIZE_T) :: SHT_rv 6558 ! splicer begin class.DataStore.method.get_num_buffers 6559 SHT_rv = c_datastore_get_num_buffers(obj%cxxmem) 6560 ! splicer end class.DataStore.method.get_num_buffers 6561 end function datastore_get_num_buffers 6562 6563 function datastore_get_buffer_int32_t(obj, idx) & 6564 result(SHT_rv) 6565 use iso_c_binding, only : C_INT32_T, C_INT64_T, C_PTR 6566 class(SidreDataStore) :: obj 6567 integer(C_INT32_T), value, intent(IN) :: idx 6568 type(SidreBuffer) :: SHT_rv 6569 ! splicer begin class.DataStore.method.get_buffer_int32_t 6570 type(C_PTR) :: SHT_prv 6571 SHT_prv = c_datastore_get_buffer(obj%cxxmem, & 6572 int(idx, C_INT64_t), SHT_rv%cxxmem) 6573 ! splicer end class.DataStore.method.get_buffer_int32_t 6574 end function datastore_get_buffer_int32_t 6575 6576 function datastore_get_buffer_int64_t(obj, idx) & 6577 result(SHT_rv) 6578 use iso_c_binding, only : C_INT64_T, C_PTR 6579 class(SidreDataStore) :: obj 6580 integer(C_INT64_T), value, intent(IN) :: idx 6581 type(SidreBuffer) :: SHT_rv 6582 ! splicer begin class.DataStore.method.get_buffer_int64_t 6583 type(C_PTR) :: SHT_prv 6584 SHT_prv = c_datastore_get_buffer(obj%cxxmem, & 6585 int(idx, C_INT64_t), SHT_rv%cxxmem) 6586 ! splicer end class.DataStore.method.get_buffer_int64_t 6587 end function datastore_get_buffer_int64_t 6588 6589 function datastore_create_buffer_empty(obj) & 6590 result(SHT_rv) 6591 use iso_c_binding, only : C_PTR 6592 class(SidreDataStore) :: obj 6593 type(SidreBuffer) :: SHT_rv 6594 ! splicer begin class.DataStore.method.create_buffer_empty 6595 type(C_PTR) :: SHT_prv 6596 SHT_prv = c_datastore_create_buffer_empty(obj%cxxmem, & 6597 SHT_rv%cxxmem) 6598 ! splicer end class.DataStore.method.create_buffer_empty 6599 end function datastore_create_buffer_empty 6600 6601 function datastore_create_buffer_from_type_int32_t(obj, type, & 6602 num_elems) & 6603 result(SHT_rv) 6604 use iso_c_binding, only : C_INT, C_INT32_T, C_INT64_T, C_PTR 6605 class(SidreDataStore) :: obj 6606 integer(C_INT), value, intent(IN) :: type 6607 integer(C_INT32_T), value, intent(IN) :: num_elems 6608 type(SidreBuffer) :: SHT_rv 6609 ! splicer begin class.DataStore.method.create_buffer_from_type_int32_t 6610 type(C_PTR) :: SHT_prv 6611 SHT_prv = c_datastore_create_buffer_from_type(obj%cxxmem, type, & 6612 int(num_elems, C_INT64_t), SHT_rv%cxxmem) 6613 ! splicer end class.DataStore.method.create_buffer_from_type_int32_t 6614 end function datastore_create_buffer_from_type_int32_t 6615 6616 function datastore_create_buffer_from_type_int64_t(obj, type, & 6617 num_elems) & 6618 result(SHT_rv) 6619 use iso_c_binding, only : C_INT, C_INT64_T, C_PTR 6620 class(SidreDataStore) :: obj 6621 integer(C_INT), value, intent(IN) :: type 6622 integer(C_INT64_T), value, intent(IN) :: num_elems 6623 type(SidreBuffer) :: SHT_rv 6624 ! splicer begin class.DataStore.method.create_buffer_from_type_int64_t 6625 type(C_PTR) :: SHT_prv 6626 SHT_prv = c_datastore_create_buffer_from_type(obj%cxxmem, type, & 6627 int(num_elems, C_INT64_t), SHT_rv%cxxmem) 6628 ! splicer end class.DataStore.method.create_buffer_from_type_int64_t 6629 end function datastore_create_buffer_from_type_int64_t 6630 6631 subroutine datastore_destroy_buffer_int32_t(obj, id) 6632 use iso_c_binding, only : C_INT32_T, C_INT64_T 6633 class(SidreDataStore) :: obj 6634 integer(C_INT32_T), value, intent(IN) :: id 6635 ! splicer begin class.DataStore.method.destroy_buffer_int32_t 6636 call c_datastore_destroy_buffer(obj%cxxmem, int(id, C_INT64_t)) 6637 ! splicer end class.DataStore.method.destroy_buffer_int32_t 6638 end subroutine datastore_destroy_buffer_int32_t 6639 6640 subroutine datastore_destroy_buffer_int64_t(obj, id) 6641 use iso_c_binding, only : C_INT64_T 6642 class(SidreDataStore) :: obj 6643 integer(C_INT64_T), value, intent(IN) :: id 6644 ! splicer begin class.DataStore.method.destroy_buffer_int64_t 6645 call c_datastore_destroy_buffer(obj%cxxmem, int(id, C_INT64_t)) 6646 ! splicer end class.DataStore.method.destroy_buffer_int64_t 6647 end subroutine datastore_destroy_buffer_int64_t 6648 6649 function datastore_generate_blueprint_index_0(obj, domain_path, & 6650 mesh_name, index_path, num_domains) & 6651 result(SHT_rv) 6652 use iso_c_binding, only : C_BOOL, C_INT 6653 class(SidreDataStore) :: obj 6654 character(len=*), intent(IN) :: domain_path 6655 character(len=*), intent(IN) :: mesh_name 6656 character(len=*), intent(IN) :: index_path 6657 integer(C_INT), value, intent(IN) :: num_domains 6658 logical :: SHT_rv 6659 ! splicer begin class.DataStore.method.generate_blueprint_index_0 6660 SHT_rv = c_datastore_generate_blueprint_index_0_bufferify(obj%cxxmem, & 6661 domain_path, len_trim(domain_path, kind=C_INT), mesh_name, & 6662 len_trim(mesh_name, kind=C_INT), index_path, & 6663 len_trim(index_path, kind=C_INT), num_domains) 6664 ! splicer end class.DataStore.method.generate_blueprint_index_0 6665 end function datastore_generate_blueprint_index_0 6666 6667#ifdef AXOM_USE_MPI 6668 function datastore_generate_blueprint_index_1(obj, comm, & 6669 domain_path, mesh_name, index_path) & 6670 result(SHT_rv) 6671 use iso_c_binding, only : C_BOOL, C_INT 6672 class(SidreDataStore) :: obj 6673 integer, value, intent(IN) :: comm 6674 character(len=*), intent(IN) :: domain_path 6675 character(len=*), intent(IN) :: mesh_name 6676 character(len=*), intent(IN) :: index_path 6677 logical :: SHT_rv 6678 ! splicer begin class.DataStore.method.generate_blueprint_index_1 6679 SHT_rv = c_datastore_generate_blueprint_index_1_bufferify(obj%cxxmem, & 6680 comm, domain_path, len_trim(domain_path, kind=C_INT), & 6681 mesh_name, len_trim(mesh_name, kind=C_INT), index_path, & 6682 len_trim(index_path, kind=C_INT)) 6683 ! splicer end class.DataStore.method.generate_blueprint_index_1 6684 end function datastore_generate_blueprint_index_1 6685#endif 6686 6687 subroutine datastore_print(obj) 6688 class(SidreDataStore) :: obj 6689 ! splicer begin class.DataStore.method.print 6690 call c_datastore_print(obj%cxxmem) 6691 ! splicer end class.DataStore.method.print 6692 end subroutine datastore_print 6693 6694 ! Return pointer to C++ memory. 6695 function datastore_get_instance(obj) result (cxxptr) 6696 use iso_c_binding, only: C_PTR 6697 class(SidreDataStore), intent(IN) :: obj 6698 type(C_PTR) :: cxxptr 6699 cxxptr = obj%cxxmem%addr 6700 end function datastore_get_instance 6701 6702 subroutine datastore_set_instance(obj, cxxmem) 6703 use iso_c_binding, only: C_PTR 6704 class(SidreDataStore), intent(INOUT) :: obj 6705 type(C_PTR), intent(IN) :: cxxmem 6706 obj%cxxmem%addr = cxxmem 6707 obj%cxxmem%idtor = 0 6708 end subroutine datastore_set_instance 6709 6710 function datastore_associated(obj) result (rv) 6711 use iso_c_binding, only: c_associated 6712 class(SidreDataStore), intent(IN) :: obj 6713 logical rv 6714 rv = c_associated(obj%cxxmem%addr) 6715 end function datastore_associated 6716 6717 ! splicer begin class.DataStore.additional_functions 6718 ! splicer end class.DataStore.additional_functions 6719 6720 function name_is_valid(name) & 6721 result(SHT_rv) 6722 use iso_c_binding, only : C_BOOL 6723 character(len=*), intent(IN) :: name 6724 logical :: SHT_rv 6725 ! splicer begin function.name_is_valid 6726 SHT_rv = name .ne. " " 6727 ! splicer end function.name_is_valid 6728 end function name_is_valid 6729 6730 ! splicer begin additional_functions 6731 ! splicer end additional_functions 6732 6733 function buffer_eq(a,b) result (rv) 6734 use iso_c_binding, only: c_associated 6735 type(SidreBuffer), intent(IN) ::a,b 6736 logical :: rv 6737 if (c_associated(a%cxxmem%addr, b%cxxmem%addr)) then 6738 rv = .true. 6739 else 6740 rv = .false. 6741 endif 6742 end function buffer_eq 6743 6744 function buffer_ne(a,b) result (rv) 6745 use iso_c_binding, only: c_associated 6746 type(SidreBuffer), intent(IN) ::a,b 6747 logical :: rv 6748 if (.not. c_associated(a%cxxmem%addr, b%cxxmem%addr)) then 6749 rv = .true. 6750 else 6751 rv = .false. 6752 endif 6753 end function buffer_ne 6754 6755 function group_eq(a,b) result (rv) 6756 use iso_c_binding, only: c_associated 6757 type(SidreGroup), intent(IN) ::a,b 6758 logical :: rv 6759 if (c_associated(a%cxxmem%addr, b%cxxmem%addr)) then 6760 rv = .true. 6761 else 6762 rv = .false. 6763 endif 6764 end function group_eq 6765 6766 function group_ne(a,b) result (rv) 6767 use iso_c_binding, only: c_associated 6768 type(SidreGroup), intent(IN) ::a,b 6769 logical :: rv 6770 if (.not. c_associated(a%cxxmem%addr, b%cxxmem%addr)) then 6771 rv = .true. 6772 else 6773 rv = .false. 6774 endif 6775 end function group_ne 6776 6777 function view_eq(a,b) result (rv) 6778 use iso_c_binding, only: c_associated 6779 type(SidreView), intent(IN) ::a,b 6780 logical :: rv 6781 if (c_associated(a%cxxmem%addr, b%cxxmem%addr)) then 6782 rv = .true. 6783 else 6784 rv = .false. 6785 endif 6786 end function view_eq 6787 6788 function view_ne(a,b) result (rv) 6789 use iso_c_binding, only: c_associated 6790 type(SidreView), intent(IN) ::a,b 6791 logical :: rv 6792 if (.not. c_associated(a%cxxmem%addr, b%cxxmem%addr)) then 6793 rv = .true. 6794 else 6795 rv = .false. 6796 endif 6797 end function view_ne 6798 6799 function datastore_eq(a,b) result (rv) 6800 use iso_c_binding, only: c_associated 6801 type(SidreDataStore), intent(IN) ::a,b 6802 logical :: rv 6803 if (c_associated(a%cxxmem%addr, b%cxxmem%addr)) then 6804 rv = .true. 6805 else 6806 rv = .false. 6807 endif 6808 end function datastore_eq 6809 6810 function datastore_ne(a,b) result (rv) 6811 use iso_c_binding, only: c_associated 6812 type(SidreDataStore), intent(IN) ::a,b 6813 logical :: rv 6814 if (.not. c_associated(a%cxxmem%addr, b%cxxmem%addr)) then 6815 rv = .true. 6816 else 6817 rv = .false. 6818 endif 6819 end function datastore_ne 6820 6821end module axom_sidre 6822