From 574bb73d35e2956fc79d28a13bba5a8776624cc3 Mon Sep 17 00:00:00 2001 From: Lee Taylor <taylor16@llnl.gov> Date: Fri, 9 Feb 2024 12:45:41 -0800 Subject: [PATCH 1/3] Changes for Shroud-0.13.0 There were some changes of how names are generated. Changed some YAML files to perserve the current API names. Some changes to how SIDRE_IndexType is inserted into wrappers. --- src/axom/quest/interface/quest_shroud.yaml | 4 +- .../sidre/interface/c_fortran/csidresplicer.c | 17 ++++++++ .../sidre/interface/c_fortran/fsidresplicer.f | 40 ++++++++----------- .../interface/c_fortran/genfsidresplicer.py | 10 ++--- src/axom/sidre/interface/sidre_shroud.yaml | 16 ++++++++ .../sidre/spio/interface/spio_shroud.yaml | 7 +++- src/axom/slic/interface/slic_shroud.yaml | 2 +- 7 files changed, 63 insertions(+), 33 deletions(-) diff --git a/src/axom/quest/interface/quest_shroud.yaml b/src/axom/quest/interface/quest_shroud.yaml index 5a3820d344..9550bc0bbf 100644 --- a/src/axom/quest/interface/quest_shroud.yaml +++ b/src/axom/quest/interface/quest_shroud.yaml @@ -19,8 +19,8 @@ options: F_module_name_library_template: axom_{library_lower} # F_module_per_class: False # Change the default template for Fortran functions to include the library name. - F_name_impl_template: "{library_lower}_{C_name_scope}{underscore_name}{function_suffix}" - F_name_generic_template: "{library_lower}_{underscore_name}" + F_name_impl_template: "{library_lower}_{C_name_scope}{F_name_api}{function_suffix}" + F_name_generic_template: "{library_lower}_{F_name_api}" wrap_python: True format: diff --git a/src/axom/sidre/interface/c_fortran/csidresplicer.c b/src/axom/sidre/interface/c_fortran/csidresplicer.c index 15f8d91606..e3fe98db35 100644 --- a/src/axom/sidre/interface/c_fortran/csidresplicer.c +++ b/src/axom/sidre/interface/c_fortran/csidresplicer.c @@ -13,6 +13,23 @@ ****************************************************************************** */ +// Into typesSidre.h +// splicer begin types.C_declarations +#include <axom/sidre/interface/SidreTypes.h> +// splicer end types.C_declarations + +// splicer begin C_declarations +#if 0 + #ifndef __cplusplus + #if defined(USE_64BIT_INDEXTYPE) +typedef int64_t IndexType; + #else +typedef int32_t IndexType; + #endif + #endif +#endif +// splicer end C_declarations + // splicer begin C_definitions // equivalent to C_LOC // called from Fortran diff --git a/src/axom/sidre/interface/c_fortran/fsidresplicer.f b/src/axom/sidre/interface/c_fortran/fsidresplicer.f index c2eeabbab8..dbc8109c59 100644 --- a/src/axom/sidre/interface/c_fortran/fsidresplicer.f +++ b/src/axom/sidre/interface/c_fortran/fsidresplicer.f @@ -35,12 +35,6 @@ ! splicer begin module_top integer, parameter :: MAXNAMESIZE = 128 -#if defined(AXOM_USE_64BIT_INDEXTYPE) && !defined(AXOM_NO_INT64_T) -integer, parameter :: SIDRE_IndexType = C_INT64_T -#else -integer, parameter :: SIDRE_IndexType = C_INT32_T -#endif - integer, parameter :: TypeID = C_SHORT integer, parameter :: TypeIDint = C_INT @@ -63,26 +57,26 @@ SIDRE_ULONG_ID = CONDUIT_ULONG_ID, & SIDRE_FLOAT_ID = CONDUIT_FLOAT_ID, & SIDRE_DOUBLE_ID = CONDUIT_DOUBLE_ID - -integer, parameter :: invalid_index = -1_SIDRE_IndexType ! splicer end module_top # SIDRE_create_fortran_allocatable_view is not in api.yaml since it is not in src/core and # only required for the fortran interface. -! splicer begin additional_interfaces -function SIDRE_create_array_view(group, name, lname, addr, type, rank, extents) & - result(rv) bind(C,name="SIDRE_create_array_view") - use iso_c_binding - import SIDRE_IndexType - type(C_PTR), value, intent(IN) :: group - character(kind=C_CHAR), intent(IN) :: name(*) - integer(C_INT), value, intent(IN) :: lname - type(C_PTR), value, intent(IN) :: addr - integer(C_INT), value, intent(IN) :: type - integer(C_INT), value, intent(IN) :: rank - integer(SIDRE_IndexType), intent(IN) :: extents(*) - type(C_PTR) rv -end function SIDRE_create_array_view -! splicer end additional_interfaces +! splicer begin additional_declarations +interface + function SIDRE_create_array_view(group, name, lname, addr, type, rank, extents) & + result(rv) bind(C,name="SIDRE_create_array_view") + use iso_c_binding + import SIDRE_IndexType + type(C_PTR), value, intent(IN) :: group + character(kind=C_CHAR), intent(IN) :: name(*) + integer(C_INT), value, intent(IN) :: lname + type(C_PTR), value, intent(IN) :: addr + integer(C_INT), value, intent(IN) :: type + integer(C_INT), value, intent(IN) :: rank + integer(SIDRE_IndexType), intent(IN) :: extents(*) + type(C_PTR) rv + end function SIDRE_create_array_view +end interface +! splicer end additional_declarations diff --git a/src/axom/sidre/interface/c_fortran/genfsidresplicer.py b/src/axom/sidre/interface/c_fortran/genfsidresplicer.py index 6d0912652f..40f0c66c55 100644 --- a/src/axom/sidre/interface/c_fortran/genfsidresplicer.py +++ b/src/axom/sidre/interface/c_fortran/genfsidresplicer.py @@ -37,7 +37,7 @@ def group_get_scalar(d): character(*), intent(IN) :: name {f_type}, intent(OUT) :: value integer(C_INT) :: lname - type(SIDRE_SHROUD_view_capsule) view + type(SIDRE_SHROUD_capsule_data) view type(C_PTR) viewptr lname = len_trim(name) @@ -56,7 +56,7 @@ def group_set_scalar(d): character(*), intent(IN) :: name {f_type}, intent(IN) :: value integer(C_INT) :: lname - type(SIDRE_SHROUD_view_capsule) view + type(SIDRE_SHROUD_capsule_data) view type(C_PTR) viewptr lname = len_trim(name) @@ -133,7 +133,7 @@ def group_set_array_data_ptr(d): character(len=*), intent(IN) :: name {f_type}, target, intent(IN) :: value{shape} integer(C_INT) :: lname - type(SIDRE_SHROUD_view_capsule) view + type(SIDRE_SHROUD_capsule_data) view ! integer(SIDRE_IndexType) :: {extents_decl} ! integer(C_INT), parameter :: type = {sidre_type} type(C_PTR) addr, viewptr @@ -368,7 +368,7 @@ def group_string(): character(*), intent(IN) :: name character(*), intent(OUT) :: value integer(C_INT) :: lname - type(SIDRE_SHROUD_view_capsule) view + type(SIDRE_SHROUD_capsule_data) view type(C_PTR) viewptr lname = len_trim(name) @@ -382,7 +382,7 @@ def group_string(): character(*), intent(IN) :: name character(*), intent(IN) :: value integer(C_INT) :: lname - type(SIDRE_SHROUD_view_capsule) view + type(SIDRE_SHROUD_capsule_data) view type(C_PTR) viewptr lname = len_trim(name) diff --git a/src/axom/sidre/interface/sidre_shroud.yaml b/src/axom/sidre/interface/sidre_shroud.yaml index deb18ac077..28f2af33c6 100644 --- a/src/axom/sidre/interface/sidre_shroud.yaml +++ b/src/axom/sidre/interface/sidre_shroud.yaml @@ -14,6 +14,7 @@ namespace: axom sidre options: # debug: True + C_API_case: underscore C_line_length: 1000 F_module_per_class: False F_module_name_library_template: axom_{library_lower} @@ -46,6 +47,16 @@ declarations: f_c_module: "--import--": - SIDRE_IndexType + splicer: + f: | + #if defined(AXOM_USE_64BIT_INDEXTYPE) && !defined(AXOM_NO_INT64_T) + integer, parameter :: SIDRE_IndexType = C_INT64_T + #else + integer, parameter :: SIDRE_IndexType = C_INT32_T + #endif + integer, parameter :: invalid_index = -1_SIDRE_IndexType + c: + - // See SidreTypes.h - decl: typedef short TypeID fields: @@ -91,22 +102,27 @@ declarations: cxx_header: axom/sidre/core/Buffer.hpp format: F_derived_name: SidreBuffer + C_name_api: Buffer - decl: class Group # SidreTypes.h is required for C_invalid_name pattern. cxx_header: axom/sidre/core/Group.hpp format: F_derived_name: SidreGroup + C_name_api: Group - decl: class View cxx_header: axom/sidre/core/View.hpp format: F_derived_name: SidreView + C_name_api: View #################################################################### - decl: class DataStore cxx_header: axom/sidre/core/DataStore.hpp format: + C_name_api: DataStore + F_name_api: datastore F_derived_name: SidreDataStore declarations: diff --git a/src/axom/sidre/spio/interface/spio_shroud.yaml b/src/axom/sidre/spio/interface/spio_shroud.yaml index e0a7e67e63..b819621357 100644 --- a/src/axom/sidre/spio/interface/spio_shroud.yaml +++ b/src/axom/sidre/spio/interface/spio_shroud.yaml @@ -32,7 +32,7 @@ typemap: c_type: SIDRE_DataStore f_module_name: axom_sidre f_derived_type: SidreDataStore - f_capsule_data_type: SIDRE_SHROUD_datastore_capsule + f_capsule_data_type: SIDRE_SHROUD_capsule_data f_to_c: '{f_var}%cxxmem' - type: axom::sidre::Group @@ -42,12 +42,15 @@ typemap: c_type: SIDRE_Group f_module_name: axom_sidre f_derived_type: SidreGroup - f_capsule_data_type: SIDRE_SHROUD_group_capsule + f_capsule_data_type: SIDRE_SHROUD_capsule_data f_to_c: '{f_var}%cxxmem' declarations: - decl: class IOManager cxx_header: axom/sidre/spio/IOManager.hpp + format: + F_derived_name: iomanager + C_name_scope: IOManager_ declarations: - decl: IOManager(MPI_Comm com, bool use_scr = false) default_arg_suffix: diff --git a/src/axom/slic/interface/slic_shroud.yaml b/src/axom/slic/interface/slic_shroud.yaml index 5c269c9769..70d56204fb 100644 --- a/src/axom/slic/interface/slic_shroud.yaml +++ b/src/axom/slic/interface/slic_shroud.yaml @@ -17,7 +17,7 @@ options: C_line_length: 1000 F_module_name_library_template: axom_{library_lower} # Change the default template for Fortran functions to include the library name. - F_name_impl_template: "{library_lower}_{F_name_scope}{underscore_name}{function_suffix}" + F_name_impl_template: "{library_lower}_{F_name_scope}{F_name_api}{function_suffix}" format: C_prefix: SLIC_ From 8fc2e0000ee2fab9f4257c6f405028b530ed05de Mon Sep 17 00:00:00 2001 From: shroud-robot <axom-dev@llnl.gov> Date: Fri, 9 Feb 2024 13:45:33 -0800 Subject: [PATCH 2/3] generate Shroud wrappers with 0.13.0 make generate make clangformat_style --- .../quest/interface/c_fortran/typesQUEST.h | 8 +- .../quest/interface/c_fortran/wrapQUEST.cpp | 56 +- .../quest/interface/c_fortran/wrapQUEST.h | 44 +- .../quest/interface/c_fortran/wrapfquest.F | 46 +- .../quest/interface/python/pyQUESTmodule.cpp | 2 +- .../quest/interface/python/pyQUESTmodule.hpp | 5 +- .../quest/interface/yaml/quest_types.yaml | 2 +- .../sidre/interface/c_fortran/typesSidre.h | 9 +- .../sidre/interface/c_fortran/wrapBuffer.cpp | 33 +- .../sidre/interface/c_fortran/wrapBuffer.h | 5 +- .../interface/c_fortran/wrapDataStore.cpp | 207 +- .../sidre/interface/c_fortran/wrapDataStore.h | 101 +- .../sidre/interface/c_fortran/wrapGroup.cpp | 892 +++--- .../sidre/interface/c_fortran/wrapGroup.h | 658 +++-- .../sidre/interface/c_fortran/wrapSidre.cpp | 41 +- .../sidre/interface/c_fortran/wrapSidre.h | 28 +- .../sidre/interface/c_fortran/wrapView.cpp | 304 +- src/axom/sidre/interface/c_fortran/wrapView.h | 181 +- .../sidre/interface/c_fortran/wrapfsidre.F | 2494 ++++++++++------- .../sidre/interface/yaml/sidre_types.yaml | 10 +- .../spio/interface/c_fortran/typesSPIO.h | 14 +- .../interface/c_fortran/wrapIOManager.cpp | 201 +- .../spio/interface/c_fortran/wrapIOManager.h | 198 +- .../spio/interface/c_fortran/wrapfspio.f | 544 ++-- .../sidre/spio/interface/yaml/spio_types.yaml | 4 +- src/axom/slic/interface/c_fortran/typesSLIC.h | 8 +- .../c_fortran/wrapGenericOutputStream.cpp | 45 +- .../c_fortran/wrapGenericOutputStream.h | 38 +- .../slic/interface/c_fortran/wrapSLIC.cpp | 297 +- src/axom/slic/interface/c_fortran/wrapSLIC.h | 102 +- src/axom/slic/interface/c_fortran/wrapfslic.f | 300 +- src/axom/slic/interface/slic_types.yaml | 4 +- 32 files changed, 4035 insertions(+), 2846 deletions(-) diff --git a/src/axom/quest/interface/c_fortran/typesQUEST.h b/src/axom/quest/interface/c_fortran/typesQUEST.h index 5ed643de49..d4e830a695 100644 --- a/src/axom/quest/interface/c_fortran/typesQUEST.h +++ b/src/axom/quest/interface/c_fortran/typesQUEST.h @@ -1,5 +1,5 @@ // typesQUEST.h -// This file is generated by Shroud 0.12.2. Do not edit. +// This file is generated by Shroud 0.13.0. Do not edit. // // Copyright (c) 2017-2024, Lawrence Livermore National Security, LLC and // other Axom Project Developers. See the top-level LICENSE file for details. @@ -10,10 +10,16 @@ #ifndef TYPESQUEST_H #define TYPESQUEST_H +// splicer begin types.CXX_declarations +// splicer end types.CXX_declarations + #ifdef __cplusplus extern "C" { #endif +// splicer begin types.C_declarations +// splicer end types.C_declarations + // helper capsule_data_helper struct s_QUEST_SHROUD_capsule_data { diff --git a/src/axom/quest/interface/c_fortran/wrapQUEST.cpp b/src/axom/quest/interface/c_fortran/wrapQUEST.cpp index 040caa8294..6a742d41bb 100644 --- a/src/axom/quest/interface/c_fortran/wrapQUEST.cpp +++ b/src/axom/quest/interface/c_fortran/wrapQUEST.cpp @@ -1,22 +1,39 @@ // wrapQUEST.cpp -// This file is generated by Shroud 0.12.2. Do not edit. +// This file is generated by Shroud 0.13.0. Do not edit. // // Copyright (c) 2017-2024, Lawrence Livermore National Security, LLC and // other Axom Project Developers. See the top-level LICENSE file for details. // // SPDX-License-Identifier: (BSD-3-Clause) -#include "wrapQUEST.h" -#include <cstdlib> -#include <string> + #include "axom/quest/interface/inout.hpp" #include "axom/quest/interface/signed_distance.hpp" -#include "typesQUEST.h" +#include <string> +#include "wrapQUEST.h" // splicer begin CXX_definitions // splicer end CXX_definitions extern "C" { +// helper ShroudLenTrim +// Returns the length of character string src with length nsrc, +// ignoring any trailing blanks. +static int ShroudLenTrim(const char *src, int nsrc) +{ + int i; + + for(i = nsrc - 1; i >= 0; i--) + { + if(src[i] != ' ') + { + break; + } + } + + return i + 1; +} + // splicer begin C_definitions // splicer end C_definitions @@ -33,12 +50,13 @@ int QUEST_inout_init_mpi(const char *fileName, MPI_Fint comm) #endif // ifdef AXOM_USE_MPI #ifdef AXOM_USE_MPI -int QUEST_inout_init_mpi_bufferify(const char *fileName, - int LfileName, +int QUEST_inout_init_mpi_bufferify(char *fileName, + int SHT_fileName_len, MPI_Fint comm) { // splicer begin function.inout_init_mpi_bufferify - const std::string SHCXX_fileName(fileName, LfileName); + const std::string SHCXX_fileName(fileName, + ShroudLenTrim(fileName, SHT_fileName_len)); MPI_Comm SHCXX_comm = MPI_Comm_f2c(comm); int SHC_rv = axom::quest::inout_init(SHCXX_fileName, SHCXX_comm); return SHC_rv; @@ -58,10 +76,11 @@ int QUEST_inout_init_serial(const char *fileName) #endif // ifndef AXOM_USE_MPI #ifndef AXOM_USE_MPI -int QUEST_inout_init_serial_bufferify(const char *fileName, int LfileName) +int QUEST_inout_init_serial_bufferify(char *fileName, int SHT_fileName_len) { // splicer begin function.inout_init_serial_bufferify - const std::string SHCXX_fileName(fileName, LfileName); + const std::string SHCXX_fileName(fileName, + ShroudLenTrim(fileName, SHT_fileName_len)); int SHC_rv = axom::quest::inout_init(SHCXX_fileName); return SHC_rv; // splicer end function.inout_init_serial_bufferify @@ -177,12 +196,12 @@ int QUEST_signed_distance_init_mpi(const char *file, MPI_Fint comm) #endif // ifdef AXOM_USE_MPI #ifdef AXOM_USE_MPI -int QUEST_signed_distance_init_mpi_bufferify(const char *file, - int Lfile, +int QUEST_signed_distance_init_mpi_bufferify(char *file, + int SHT_file_len, MPI_Fint comm) { // splicer begin function.signed_distance_init_mpi_bufferify - const std::string SHCXX_file(file, Lfile); + const std::string SHCXX_file(file, ShroudLenTrim(file, SHT_file_len)); MPI_Comm SHCXX_comm = MPI_Comm_f2c(comm); int SHC_rv = axom::quest::signed_distance_init(SHCXX_file, SHCXX_comm); return SHC_rv; @@ -202,10 +221,10 @@ int QUEST_signed_distance_init_serial(const char *file) #endif // ifndef AXOM_USE_MPI #ifndef AXOM_USE_MPI -int QUEST_signed_distance_init_serial_bufferify(const char *file, int Lfile) +int QUEST_signed_distance_init_serial_bufferify(char *file, int SHT_file_len) { // splicer begin function.signed_distance_init_serial_bufferify - const std::string SHCXX_file(file, Lfile); + const std::string SHCXX_file(file, ShroudLenTrim(file, SHT_file_len)); int SHC_rv = axom::quest::signed_distance_init(SHCXX_file); return SHC_rv; // splicer end function.signed_distance_init_serial_bufferify @@ -317,11 +336,4 @@ void QUEST_signed_distance_finalize(void) // splicer end function.signed_distance_finalize } -// Release library allocated memory. -void QUEST_SHROUD_memory_destructor(QUEST_SHROUD_capsule_data *cap) -{ - cap->addr = nullptr; - cap->idtor = 0; // avoid deleting again -} - } // extern "C" diff --git a/src/axom/quest/interface/c_fortran/wrapQUEST.h b/src/axom/quest/interface/c_fortran/wrapQUEST.h index 88b2919aa2..734dbf7355 100644 --- a/src/axom/quest/interface/c_fortran/wrapQUEST.h +++ b/src/axom/quest/interface/c_fortran/wrapQUEST.h @@ -1,5 +1,5 @@ // wrapQUEST.h -// This file is generated by Shroud 0.12.2. Do not edit. +// This file is generated by Shroud 0.13.0. Do not edit. // // Copyright (c) 2017-2024, Lawrence Livermore National Security, LLC and // other Axom Project Developers. See the top-level LICENSE file for details. @@ -17,10 +17,10 @@ #ifdef AXOM_USE_MPI #include "mpi.h" #endif -#include "typesQUEST.h" #ifndef __cplusplus #include <stdbool.h> #endif +#include "typesQUEST.h" // splicer begin CXX_declarations // splicer end CXX_declarations @@ -41,21 +41,21 @@ enum QUEST_SignedDistExec // splicer end C_declarations #ifdef AXOM_USE_MPI -int QUEST_inout_init_mpi(const char* fileName, MPI_Fint comm); +int QUEST_inout_init_mpi(const char *fileName, MPI_Fint comm); #endif #ifdef AXOM_USE_MPI -int QUEST_inout_init_mpi_bufferify(const char* fileName, - int LfileName, +int QUEST_inout_init_mpi_bufferify(char *fileName, + int SHT_fileName_len, MPI_Fint comm); #endif #ifndef AXOM_USE_MPI -int QUEST_inout_init_serial(const char* fileName); +int QUEST_inout_init_serial(const char *fileName); #endif #ifndef AXOM_USE_MPI -int QUEST_inout_init_serial_bufferify(const char* fileName, int LfileName); +int QUEST_inout_init_serial_bufferify(char *fileName, int SHT_fileName_len); #endif bool QUEST_inout_initialized(void); @@ -72,37 +72,37 @@ bool QUEST_inout_evaluate_0(double x, double y); bool QUEST_inout_evaluate_1(double x, double y, double z); -int QUEST_inout_mesh_min_bounds(double* coords); +int QUEST_inout_mesh_min_bounds(double *coords); -int QUEST_inout_mesh_max_bounds(double* coords); +int QUEST_inout_mesh_max_bounds(double *coords); -int QUEST_inout_mesh_center_of_mass(double* coords); +int QUEST_inout_mesh_center_of_mass(double *coords); int QUEST_inout_get_dimension(void); int QUEST_inout_finalize(void); #ifdef AXOM_USE_MPI -int QUEST_signed_distance_init_mpi(const char* file, MPI_Fint comm); +int QUEST_signed_distance_init_mpi(const char *file, MPI_Fint comm); #endif #ifdef AXOM_USE_MPI -int QUEST_signed_distance_init_mpi_bufferify(const char* file, - int Lfile, +int QUEST_signed_distance_init_mpi_bufferify(char *file, + int SHT_file_len, MPI_Fint comm); #endif #ifndef AXOM_USE_MPI -int QUEST_signed_distance_init_serial(const char* file); +int QUEST_signed_distance_init_serial(const char *file); #endif #ifndef AXOM_USE_MPI -int QUEST_signed_distance_init_serial_bufferify(const char* file, int Lfile); +int QUEST_signed_distance_init_serial_bufferify(char *file, int SHT_file_len); #endif bool QUEST_signed_distance_initialized(void); -void QUEST_signed_distance_get_mesh_bounds(double* lo, double* hi); +void QUEST_signed_distance_get_mesh_bounds(double *lo, double *hi); void QUEST_signed_distance_set_dimension(int dim); @@ -123,12 +123,12 @@ double QUEST_signed_distance_evaluate_0(double x, double y, double z); double QUEST_signed_distance_evaluate_1(double x, double y, double z, - double* cp_x, - double* cp_y, - double* cp_z, - double* n_x, - double* n_y, - double* n_z); + double *cp_x, + double *cp_y, + double *cp_z, + double *n_x, + double *n_y, + double *n_z); void QUEST_signed_distance_finalize(void); diff --git a/src/axom/quest/interface/c_fortran/wrapfquest.F b/src/axom/quest/interface/c_fortran/wrapfquest.F index f5cf00e2a8..e93bd21b24 100644 --- a/src/axom/quest/interface/c_fortran/wrapfquest.F +++ b/src/axom/quest/interface/c_fortran/wrapfquest.F @@ -1,5 +1,5 @@ ! wrapfquest.F -! This file is generated by Shroud 0.12.2. Do not edit. +! This file is generated by Shroud 0.13.0. Do not edit. ! ! Copyright (c) 2017-2024, Lawrence Livermore National Security, LLC and ! other Axom Project Developers. See the top-level LICENSE file for details. @@ -41,13 +41,14 @@ end function c_inout_init_mpi #endif #ifdef AXOM_USE_MPI - function c_inout_init_mpi_bufferify(fileName, LfileName, comm) & + function c_inout_init_mpi_bufferify(fileName, SHT_fileName_len, & + comm) & result(SHT_rv) & bind(C, name="QUEST_inout_init_mpi_bufferify") use iso_c_binding, only : C_CHAR, C_INT implicit none character(kind=C_CHAR), intent(IN) :: fileName(*) - integer(C_INT), value, intent(IN) :: LfileName + integer(C_INT), value, intent(IN) :: SHT_fileName_len integer(C_INT), value, intent(IN) :: comm integer(C_INT) :: SHT_rv end function c_inout_init_mpi_bufferify @@ -65,13 +66,14 @@ end function c_inout_init_serial #endif #ifndef AXOM_USE_MPI - function c_inout_init_serial_bufferify(fileName, LfileName) & + function c_inout_init_serial_bufferify(fileName, & + SHT_fileName_len) & result(SHT_rv) & bind(C, name="QUEST_inout_init_serial_bufferify") use iso_c_binding, only : C_CHAR, C_INT implicit none character(kind=C_CHAR), intent(IN) :: fileName(*) - integer(C_INT), value, intent(IN) :: LfileName + integer(C_INT), value, intent(IN) :: SHT_fileName_len integer(C_INT) :: SHT_rv end function c_inout_init_serial_bufferify #endif @@ -198,13 +200,14 @@ end function c_signed_distance_init_mpi #endif #ifdef AXOM_USE_MPI - function c_signed_distance_init_mpi_bufferify(file, Lfile, comm) & + function c_signed_distance_init_mpi_bufferify(file, & + SHT_file_len, comm) & result(SHT_rv) & bind(C, name="QUEST_signed_distance_init_mpi_bufferify") use iso_c_binding, only : C_CHAR, C_INT implicit none character(kind=C_CHAR), intent(IN) :: file(*) - integer(C_INT), value, intent(IN) :: Lfile + integer(C_INT), value, intent(IN) :: SHT_file_len integer(C_INT), value, intent(IN) :: comm integer(C_INT) :: SHT_rv end function c_signed_distance_init_mpi_bufferify @@ -222,13 +225,14 @@ end function c_signed_distance_init_serial #endif #ifndef AXOM_USE_MPI - function c_signed_distance_init_serial_bufferify(file, Lfile) & + function c_signed_distance_init_serial_bufferify(file, & + SHT_file_len) & result(SHT_rv) & bind(C, name="QUEST_signed_distance_init_serial_bufferify") use iso_c_binding, only : C_CHAR, C_INT implicit none character(kind=C_CHAR), intent(IN) :: file(*) - integer(C_INT), value, intent(IN) :: Lfile + integer(C_INT), value, intent(IN) :: SHT_file_len integer(C_INT) :: SHT_rv end function c_signed_distance_init_serial_bufferify #endif @@ -331,9 +335,6 @@ subroutine quest_signed_distance_finalize() & bind(C, name="QUEST_signed_distance_finalize") implicit none end subroutine quest_signed_distance_finalize - - ! splicer begin additional_interfaces - ! splicer end additional_interfaces end interface interface quest_inout_evaluate @@ -364,6 +365,9 @@ end subroutine quest_signed_distance_finalize #endif end interface quest_signed_distance_init + ! splicer begin additional_declarations + ! splicer end additional_declarations + contains #ifdef AXOM_USE_MPI @@ -374,8 +378,10 @@ function quest_inout_init_mpi(fileName, comm) & integer, value, intent(IN) :: comm integer(C_INT) :: SHT_rv ! splicer begin function.inout_init_mpi - SHT_rv = c_inout_init_mpi_bufferify(fileName, & - len_trim(fileName, kind=C_INT), comm) + integer(C_INT) SHT_fileName_len + SHT_fileName_len = len(fileName, kind=C_INT) + SHT_rv = c_inout_init_mpi_bufferify(fileName, SHT_fileName_len, & + comm) ! splicer end function.inout_init_mpi end function quest_inout_init_mpi #endif @@ -387,8 +393,10 @@ function quest_inout_init_serial(fileName) & character(len=*), intent(IN) :: fileName integer(C_INT) :: SHT_rv ! splicer begin function.inout_init_serial + integer(C_INT) SHT_fileName_len + SHT_fileName_len = len(fileName, kind=C_INT) SHT_rv = c_inout_init_serial_bufferify(fileName, & - len_trim(fileName, kind=C_INT)) + SHT_fileName_len) ! splicer end function.inout_init_serial end function quest_inout_init_serial #endif @@ -445,8 +453,10 @@ function quest_signed_distance_init_mpi(file, comm) & integer, value, intent(IN) :: comm integer(C_INT) :: SHT_rv ! splicer begin function.signed_distance_init_mpi + integer(C_INT) SHT_file_len + SHT_file_len = len(file, kind=C_INT) SHT_rv = c_signed_distance_init_mpi_bufferify(file, & - len_trim(file, kind=C_INT), comm) + SHT_file_len, comm) ! splicer end function.signed_distance_init_mpi end function quest_signed_distance_init_mpi #endif @@ -458,8 +468,10 @@ function quest_signed_distance_init_serial(file) & character(len=*), intent(IN) :: file integer(C_INT) :: SHT_rv ! splicer begin function.signed_distance_init_serial + integer(C_INT) SHT_file_len + SHT_file_len = len(file, kind=C_INT) SHT_rv = c_signed_distance_init_serial_bufferify(file, & - len_trim(file, kind=C_INT)) + SHT_file_len) ! splicer end function.signed_distance_init_serial end function quest_signed_distance_init_serial #endif diff --git a/src/axom/quest/interface/python/pyQUESTmodule.cpp b/src/axom/quest/interface/python/pyQUESTmodule.cpp index 1d10085cca..981b88f5bb 100644 --- a/src/axom/quest/interface/python/pyQUESTmodule.cpp +++ b/src/axom/quest/interface/python/pyQUESTmodule.cpp @@ -1,5 +1,5 @@ // pyQUESTmodule.cpp -// This file is generated by Shroud 0.12.2. Do not edit. +// This file is generated by Shroud 0.13.0. Do not edit. // // Copyright (c) 2017-2024, Lawrence Livermore National Security, LLC and // other Axom Project Developers. See the top-level LICENSE file for details. diff --git a/src/axom/quest/interface/python/pyQUESTmodule.hpp b/src/axom/quest/interface/python/pyQUESTmodule.hpp index 7c2e82152a..c162fadba6 100644 --- a/src/axom/quest/interface/python/pyQUESTmodule.hpp +++ b/src/axom/quest/interface/python/pyQUESTmodule.hpp @@ -1,5 +1,5 @@ // pyQUESTmodule.hpp -// This file is generated by Shroud 0.12.2. Do not edit. +// This file is generated by Shroud 0.13.0. Do not edit. // // Copyright (c) 2017-2024, Lawrence Livermore National Security, LLC and // other Axom Project Developers. See the top-level LICENSE file for details. @@ -7,9 +7,12 @@ // SPDX-License-Identifier: (BSD-3-Clause) #ifndef PYQUESTMODULE_HPP #define PYQUESTMODULE_HPP + #include <Python.h> + #include "axom/quest/interface/inout.hpp" #include "axom/quest/interface/signed_distance.hpp" + // splicer begin header.include // splicer end header.include diff --git a/src/axom/quest/interface/yaml/quest_types.yaml b/src/axom/quest/interface/yaml/quest_types.yaml index 45f8279e2a..525c4fed8b 100644 --- a/src/axom/quest/interface/yaml/quest_types.yaml +++ b/src/axom/quest/interface/yaml/quest_types.yaml @@ -1,5 +1,5 @@ # quest_types.yaml -# This file is generated by Shroud 0.12.2. Do not edit. +# This file is generated by Shroud 0.13.0. Do not edit. # # Copyright (c) 2017-2024, Lawrence Livermore National Security, LLC and # other Axom Project Developers. See the top-level LICENSE file for details. diff --git a/src/axom/sidre/interface/c_fortran/typesSidre.h b/src/axom/sidre/interface/c_fortran/typesSidre.h index e9b0fefbe9..20e56a9fbd 100644 --- a/src/axom/sidre/interface/c_fortran/typesSidre.h +++ b/src/axom/sidre/interface/c_fortran/typesSidre.h @@ -1,5 +1,5 @@ // typesSidre.h -// This file is generated by Shroud 0.12.2. Do not edit. +// This file is generated by Shroud 0.13.0. Do not edit. // // Copyright (c) 2017-2024, Lawrence Livermore National Security, LLC and // other Axom Project Developers. See the top-level LICENSE file for details. @@ -10,10 +10,17 @@ #ifndef TYPESSIDRE_H #define TYPESSIDRE_H +// splicer begin types.CXX_declarations +// splicer end types.CXX_declarations + #ifdef __cplusplus extern "C" { #endif +// splicer begin types.C_declarations +#include <axom/sidre/interface/SidreTypes.h> +// splicer end types.C_declarations + // helper capsule_SIDRE_Buffer struct s_SIDRE_Buffer { diff --git a/src/axom/sidre/interface/c_fortran/wrapBuffer.cpp b/src/axom/sidre/interface/c_fortran/wrapBuffer.cpp index 8618e8b30c..07dc93a9f1 100644 --- a/src/axom/sidre/interface/c_fortran/wrapBuffer.cpp +++ b/src/axom/sidre/interface/c_fortran/wrapBuffer.cpp @@ -1,12 +1,13 @@ // wrapBuffer.cpp -// This file is generated by Shroud 0.12.2. Do not edit. +// This file is generated by Shroud 0.13.0. Do not edit. // // Copyright (c) 2017-2024, Lawrence Livermore National Security, LLC and // other Axom Project Developers. See the top-level LICENSE file for details. // // SPDX-License-Identifier: (BSD-3-Clause) -#include "wrapBuffer.h" + #include "axom/sidre/core/Buffer.hpp" +#include "wrapBuffer.h" // splicer begin class.Buffer.CXX_definitions // splicer end class.Buffer.CXX_definitions @@ -20,70 +21,70 @@ SIDRE_IndexType SIDRE_Buffer_get_index(const SIDRE_Buffer *self) { const axom::sidre::Buffer *SH_this = static_cast<const axom::sidre::Buffer *>(self->addr); - // splicer begin class.Buffer.method.get_index + // splicer begin class.Buffer.method.getIndex axom::sidre::IndexType SHC_rv = SH_this->getIndex(); return SHC_rv; - // splicer end class.Buffer.method.get_index + // splicer end class.Buffer.method.getIndex } size_t SIDRE_Buffer_get_num_views(const SIDRE_Buffer *self) { const axom::sidre::Buffer *SH_this = static_cast<const axom::sidre::Buffer *>(self->addr); - // splicer begin class.Buffer.method.get_num_views + // splicer begin class.Buffer.method.getNumViews size_t SHC_rv = SH_this->getNumViews(); return SHC_rv; - // splicer end class.Buffer.method.get_num_views + // splicer end class.Buffer.method.getNumViews } void *SIDRE_Buffer_get_void_ptr(SIDRE_Buffer *self) { axom::sidre::Buffer *SH_this = static_cast<axom::sidre::Buffer *>(self->addr); - // splicer begin class.Buffer.method.get_void_ptr + // splicer begin class.Buffer.method.getVoidPtr void *SHC_rv = SH_this->getVoidPtr(); return SHC_rv; - // splicer end class.Buffer.method.get_void_ptr + // splicer end class.Buffer.method.getVoidPtr } SIDRE_TypeIDint SIDRE_Buffer_get_type_id(const SIDRE_Buffer *self) { const axom::sidre::Buffer *SH_this = static_cast<const axom::sidre::Buffer *>(self->addr); - // splicer begin class.Buffer.method.get_type_id + // splicer begin class.Buffer.method.getTypeID axom::sidre::TypeID SHCXX_rv = SH_this->getTypeID(); SIDRE_TypeIDint SHC_rv = static_cast<SIDRE_TypeIDint>(SHCXX_rv); return SHC_rv; - // splicer end class.Buffer.method.get_type_id + // splicer end class.Buffer.method.getTypeID } size_t SIDRE_Buffer_get_num_elements(const SIDRE_Buffer *self) { const axom::sidre::Buffer *SH_this = static_cast<const axom::sidre::Buffer *>(self->addr); - // splicer begin class.Buffer.method.get_num_elements + // splicer begin class.Buffer.method.getNumElements size_t SHC_rv = SH_this->getNumElements(); return SHC_rv; - // splicer end class.Buffer.method.get_num_elements + // splicer end class.Buffer.method.getNumElements } size_t SIDRE_Buffer_get_total_bytes(const SIDRE_Buffer *self) { const axom::sidre::Buffer *SH_this = static_cast<const axom::sidre::Buffer *>(self->addr); - // splicer begin class.Buffer.method.get_total_bytes + // splicer begin class.Buffer.method.getTotalBytes size_t SHC_rv = SH_this->getTotalBytes(); return SHC_rv; - // splicer end class.Buffer.method.get_total_bytes + // splicer end class.Buffer.method.getTotalBytes } size_t SIDRE_Buffer_get_bytes_per_element(const SIDRE_Buffer *self) { const axom::sidre::Buffer *SH_this = static_cast<const axom::sidre::Buffer *>(self->addr); - // splicer begin class.Buffer.method.get_bytes_per_element + // splicer begin class.Buffer.method.getBytesPerElement size_t SHC_rv = SH_this->getBytesPerElement(); return SHC_rv; - // splicer end class.Buffer.method.get_bytes_per_element + // splicer end class.Buffer.method.getBytesPerElement } void SIDRE_Buffer_describe(SIDRE_Buffer *self, diff --git a/src/axom/sidre/interface/c_fortran/wrapBuffer.h b/src/axom/sidre/interface/c_fortran/wrapBuffer.h index 0aff9585e6..83c841881d 100644 --- a/src/axom/sidre/interface/c_fortran/wrapBuffer.h +++ b/src/axom/sidre/interface/c_fortran/wrapBuffer.h @@ -1,5 +1,5 @@ // wrapBuffer.h -// This file is generated by Shroud 0.12.2. Do not edit. +// This file is generated by Shroud 0.13.0. Do not edit. // // Copyright (c) 2017-2024, Lawrence Livermore National Security, LLC and // other Axom Project Developers. See the top-level LICENSE file for details. @@ -14,14 +14,15 @@ #ifndef WRAPBUFFER_H #define WRAPBUFFER_H +#include "wrapSidre.h" #include "axom/sidre/interface/SidreTypes.h" -#include "typesSidre.h" #ifdef __cplusplus #include <cstddef> #include "axom/sidre/core/SidreTypes.hpp" #else #include <stddef.h> #endif +#include "typesSidre.h" // splicer begin class.Buffer.CXX_declarations // splicer end class.Buffer.CXX_declarations diff --git a/src/axom/sidre/interface/c_fortran/wrapDataStore.cpp b/src/axom/sidre/interface/c_fortran/wrapDataStore.cpp index e59d22d320..ba5ffd88de 100644 --- a/src/axom/sidre/interface/c_fortran/wrapDataStore.cpp +++ b/src/axom/sidre/interface/c_fortran/wrapDataStore.cpp @@ -1,22 +1,41 @@ // wrapDataStore.cpp -// This file is generated by Shroud 0.12.2. Do not edit. +// This file is generated by Shroud 0.13.0. Do not edit. // // Copyright (c) 2017-2024, Lawrence Livermore National Security, LLC and // other Axom Project Developers. See the top-level LICENSE file for details. // // SPDX-License-Identifier: (BSD-3-Clause) -#include "wrapDataStore.h" -#include <cstddef> -#include <string> -#include "axom/sidre/core/Buffer.hpp" + #include "axom/sidre/core/DataStore.hpp" #include "axom/sidre/core/Group.hpp" +#include "axom/sidre/core/Buffer.hpp" +#include <string> +#include <cstddef> +#include "wrapDataStore.h" // splicer begin class.DataStore.CXX_definitions // splicer end class.DataStore.CXX_definitions extern "C" { +// helper ShroudLenTrim +// Returns the length of character string src with length nsrc, +// ignoring any trailing blanks. +static int ShroudLenTrim(const char *src, int nsrc) +{ + int i; + + for(i = nsrc - 1; i >= 0; i--) + { + if(src[i] != ' ') + { + break; + } + } + + return i + 1; +} + // splicer begin class.DataStore.C_definitions // splicer end class.DataStore.C_definitions @@ -44,22 +63,22 @@ SIDRE_Group *SIDRE_DataStore_get_root(SIDRE_DataStore *self, SIDRE_Group *SHC_rv { axom::sidre::DataStore *SH_this = static_cast<axom::sidre::DataStore *>(self->addr); - // splicer begin class.DataStore.method.get_root + // splicer begin class.DataStore.method.getRoot axom::sidre::Group *SHCXX_rv = SH_this->getRoot(); SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.DataStore.method.get_root + // splicer end class.DataStore.method.getRoot } size_t SIDRE_DataStore_get_num_buffers(const SIDRE_DataStore *self) { const axom::sidre::DataStore *SH_this = static_cast<const axom::sidre::DataStore *>(self->addr); - // splicer begin class.DataStore.method.get_num_buffers + // splicer begin class.DataStore.method.getNumBuffers size_t SHC_rv = SH_this->getNumBuffers(); return SHC_rv; - // splicer end class.DataStore.method.get_num_buffers + // splicer end class.DataStore.method.getNumBuffers } SIDRE_Buffer *SIDRE_DataStore_get_buffer(SIDRE_DataStore *self, @@ -68,7 +87,51 @@ SIDRE_Buffer *SIDRE_DataStore_get_buffer(SIDRE_DataStore *self, { axom::sidre::DataStore *SH_this = static_cast<axom::sidre::DataStore *>(self->addr); - // splicer begin class.DataStore.method.get_buffer + // splicer begin class.DataStore.method.getBuffer + axom::sidre::Buffer *SHCXX_rv = SH_this->getBuffer(idx); + // C_error_pattern + if(SHCXX_rv == nullptr) + { + SHC_rv->addr = NULL; + SHC_rv->idtor = 0; + return NULL; + } + + SHC_rv->addr = SHCXX_rv; + SHC_rv->idtor = 0; + return SHC_rv; + // splicer end class.DataStore.method.getBuffer +} + +SIDRE_Buffer *SIDRE_DataStore_get_buffer_int32_t(SIDRE_DataStore *self, + int32_t idx, + SIDRE_Buffer *SHC_rv) +{ + axom::sidre::DataStore *SH_this = + static_cast<axom::sidre::DataStore *>(self->addr); + // splicer begin class.DataStore.method.getBuffer_int32_t + axom::sidre::Buffer *SHCXX_rv = SH_this->getBuffer(idx); + // C_error_pattern + if(SHCXX_rv == nullptr) + { + SHC_rv->addr = NULL; + SHC_rv->idtor = 0; + return NULL; + } + + SHC_rv->addr = SHCXX_rv; + SHC_rv->idtor = 0; + return SHC_rv; + // splicer end class.DataStore.method.getBuffer_int32_t +} + +SIDRE_Buffer *SIDRE_DataStore_get_buffer_int64_t(SIDRE_DataStore *self, + int64_t idx, + SIDRE_Buffer *SHC_rv) +{ + axom::sidre::DataStore *SH_this = + static_cast<axom::sidre::DataStore *>(self->addr); + // splicer begin class.DataStore.method.getBuffer_int64_t axom::sidre::Buffer *SHCXX_rv = SH_this->getBuffer(idx); // C_error_pattern if(SHCXX_rv == nullptr) @@ -81,7 +144,7 @@ SIDRE_Buffer *SIDRE_DataStore_get_buffer(SIDRE_DataStore *self, SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.DataStore.method.get_buffer + // splicer end class.DataStore.method.getBuffer_int64_t } SIDRE_Buffer *SIDRE_DataStore_create_buffer_empty(SIDRE_DataStore *self, @@ -89,12 +152,12 @@ SIDRE_Buffer *SIDRE_DataStore_create_buffer_empty(SIDRE_DataStore *self, { axom::sidre::DataStore *SH_this = static_cast<axom::sidre::DataStore *>(self->addr); - // splicer begin class.DataStore.method.create_buffer_empty + // splicer begin class.DataStore.method.createBuffer_empty axom::sidre::Buffer *SHCXX_rv = SH_this->createBuffer(); SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.DataStore.method.create_buffer_empty + // splicer end class.DataStore.method.createBuffer_empty } SIDRE_Buffer *SIDRE_DataStore_create_buffer_from_type(SIDRE_DataStore *self, @@ -104,7 +167,55 @@ SIDRE_Buffer *SIDRE_DataStore_create_buffer_from_type(SIDRE_DataStore *self, { axom::sidre::DataStore *SH_this = static_cast<axom::sidre::DataStore *>(self->addr); - // splicer begin class.DataStore.method.create_buffer_from_type + // splicer begin class.DataStore.method.createBuffer_from_type + axom::sidre::TypeID SHCXX_type = static_cast<axom::sidre::TypeID>(type); + axom::sidre::Buffer *SHCXX_rv = SH_this->createBuffer(SHCXX_type, num_elems); + // C_error_pattern + if(SHCXX_rv == nullptr) + { + SHC_rv->addr = NULL; + SHC_rv->idtor = 0; + return NULL; + } + + SHC_rv->addr = SHCXX_rv; + SHC_rv->idtor = 0; + return SHC_rv; + // splicer end class.DataStore.method.createBuffer_from_type +} + +SIDRE_Buffer *SIDRE_DataStore_create_buffer_from_type_int32_t(SIDRE_DataStore *self, + SIDRE_TypeID type, + int32_t num_elems, + SIDRE_Buffer *SHC_rv) +{ + axom::sidre::DataStore *SH_this = + static_cast<axom::sidre::DataStore *>(self->addr); + // splicer begin class.DataStore.method.createBuffer_from_type_int32_t + axom::sidre::TypeID SHCXX_type = static_cast<axom::sidre::TypeID>(type); + axom::sidre::Buffer *SHCXX_rv = SH_this->createBuffer(SHCXX_type, num_elems); + // C_error_pattern + if(SHCXX_rv == nullptr) + { + SHC_rv->addr = NULL; + SHC_rv->idtor = 0; + return NULL; + } + + SHC_rv->addr = SHCXX_rv; + SHC_rv->idtor = 0; + return SHC_rv; + // splicer end class.DataStore.method.createBuffer_from_type_int32_t +} + +SIDRE_Buffer *SIDRE_DataStore_create_buffer_from_type_int64_t(SIDRE_DataStore *self, + SIDRE_TypeID type, + int64_t num_elems, + SIDRE_Buffer *SHC_rv) +{ + axom::sidre::DataStore *SH_this = + static_cast<axom::sidre::DataStore *>(self->addr); + // splicer begin class.DataStore.method.createBuffer_from_type_int64_t axom::sidre::TypeID SHCXX_type = static_cast<axom::sidre::TypeID>(type); axom::sidre::Buffer *SHCXX_rv = SH_this->createBuffer(SHCXX_type, num_elems); // C_error_pattern @@ -118,16 +229,16 @@ SIDRE_Buffer *SIDRE_DataStore_create_buffer_from_type(SIDRE_DataStore *self, SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.DataStore.method.create_buffer_from_type + // splicer end class.DataStore.method.createBuffer_from_type_int64_t } void SIDRE_DataStore_destroy_buffer(SIDRE_DataStore *self, SIDRE_IndexType id) { axom::sidre::DataStore *SH_this = static_cast<axom::sidre::DataStore *>(self->addr); - // splicer begin class.DataStore.method.destroy_buffer + // splicer begin class.DataStore.method.destroyBuffer SH_this->destroyBuffer(id); - // splicer end class.DataStore.method.destroy_buffer + // splicer end class.DataStore.method.destroyBuffer } bool SIDRE_DataStore_generate_blueprint_index_0(SIDRE_DataStore *self, @@ -138,7 +249,7 @@ bool SIDRE_DataStore_generate_blueprint_index_0(SIDRE_DataStore *self, { axom::sidre::DataStore *SH_this = static_cast<axom::sidre::DataStore *>(self->addr); - // splicer begin class.DataStore.method.generate_blueprint_index_0 + // splicer begin class.DataStore.method.generateBlueprintIndex_0 const std::string SHCXX_domain_path(domain_path); const std::string SHCXX_mesh_name(mesh_name); const std::string SHCXX_index_path(index_path); @@ -147,30 +258,35 @@ bool SIDRE_DataStore_generate_blueprint_index_0(SIDRE_DataStore *self, SHCXX_index_path, num_domains); return SHC_rv; - // splicer end class.DataStore.method.generate_blueprint_index_0 + // splicer end class.DataStore.method.generateBlueprintIndex_0 } bool SIDRE_DataStore_generate_blueprint_index_0_bufferify(SIDRE_DataStore *self, - const char *domain_path, - int Ldomain_path, - const char *mesh_name, - int Lmesh_name, - const char *index_path, - int Lindex_path, + char *domain_path, + int SHT_domain_path_len, + char *mesh_name, + int SHT_mesh_name_len, + char *index_path, + int SHT_index_path_len, int num_domains) { axom::sidre::DataStore *SH_this = static_cast<axom::sidre::DataStore *>(self->addr); - // splicer begin class.DataStore.method.generate_blueprint_index_0_bufferify - const std::string SHCXX_domain_path(domain_path, Ldomain_path); - const std::string SHCXX_mesh_name(mesh_name, Lmesh_name); - const std::string SHCXX_index_path(index_path, Lindex_path); + // splicer begin class.DataStore.method.generateBlueprintIndex_0_bufferify + const std::string SHCXX_domain_path( + domain_path, + ShroudLenTrim(domain_path, SHT_domain_path_len)); + const std::string SHCXX_mesh_name(mesh_name, + ShroudLenTrim(mesh_name, SHT_mesh_name_len)); + const std::string SHCXX_index_path( + index_path, + ShroudLenTrim(index_path, SHT_index_path_len)); bool SHC_rv = SH_this->generateBlueprintIndex(SHCXX_domain_path, SHCXX_mesh_name, SHCXX_index_path, num_domains); return SHC_rv; - // splicer end class.DataStore.method.generate_blueprint_index_0_bufferify + // splicer end class.DataStore.method.generateBlueprintIndex_0_bufferify } #ifdef AXOM_USE_MPI @@ -182,7 +298,7 @@ bool SIDRE_DataStore_generate_blueprint_index_1(SIDRE_DataStore *self, { axom::sidre::DataStore *SH_this = static_cast<axom::sidre::DataStore *>(self->addr); - // splicer begin class.DataStore.method.generate_blueprint_index_1 + // splicer begin class.DataStore.method.generateBlueprintIndex_1 MPI_Comm SHCXX_comm = MPI_Comm_f2c(comm); const std::string SHCXX_domain_path(domain_path); const std::string SHCXX_mesh_name(mesh_name); @@ -192,33 +308,38 @@ bool SIDRE_DataStore_generate_blueprint_index_1(SIDRE_DataStore *self, SHCXX_mesh_name, SHCXX_index_path); return SHC_rv; - // splicer end class.DataStore.method.generate_blueprint_index_1 + // splicer end class.DataStore.method.generateBlueprintIndex_1 } #endif // ifdef AXOM_USE_MPI #ifdef AXOM_USE_MPI bool SIDRE_DataStore_generate_blueprint_index_1_bufferify(SIDRE_DataStore *self, MPI_Fint comm, - const char *domain_path, - int Ldomain_path, - const char *mesh_name, - int Lmesh_name, - const char *index_path, - int Lindex_path) + char *domain_path, + int SHT_domain_path_len, + char *mesh_name, + int SHT_mesh_name_len, + char *index_path, + int SHT_index_path_len) { axom::sidre::DataStore *SH_this = static_cast<axom::sidre::DataStore *>(self->addr); - // splicer begin class.DataStore.method.generate_blueprint_index_1_bufferify + // splicer begin class.DataStore.method.generateBlueprintIndex_1_bufferify MPI_Comm SHCXX_comm = MPI_Comm_f2c(comm); - const std::string SHCXX_domain_path(domain_path, Ldomain_path); - const std::string SHCXX_mesh_name(mesh_name, Lmesh_name); - const std::string SHCXX_index_path(index_path, Lindex_path); + const std::string SHCXX_domain_path( + domain_path, + ShroudLenTrim(domain_path, SHT_domain_path_len)); + const std::string SHCXX_mesh_name(mesh_name, + ShroudLenTrim(mesh_name, SHT_mesh_name_len)); + const std::string SHCXX_index_path( + index_path, + ShroudLenTrim(index_path, SHT_index_path_len)); bool SHC_rv = SH_this->generateBlueprintIndex(SHCXX_comm, SHCXX_domain_path, SHCXX_mesh_name, SHCXX_index_path); return SHC_rv; - // splicer end class.DataStore.method.generate_blueprint_index_1_bufferify + // splicer end class.DataStore.method.generateBlueprintIndex_1_bufferify } #endif // ifdef AXOM_USE_MPI diff --git a/src/axom/sidre/interface/c_fortran/wrapDataStore.h b/src/axom/sidre/interface/c_fortran/wrapDataStore.h index 9b933dbdcc..0334e4acfd 100644 --- a/src/axom/sidre/interface/c_fortran/wrapDataStore.h +++ b/src/axom/sidre/interface/c_fortran/wrapDataStore.h @@ -1,5 +1,5 @@ // wrapDataStore.h -// This file is generated by Shroud 0.12.2. Do not edit. +// This file is generated by Shroud 0.13.0. Do not edit. // // Copyright (c) 2017-2024, Lawrence Livermore National Security, LLC and // other Axom Project Developers. See the top-level LICENSE file for details. @@ -14,18 +14,21 @@ #ifndef WRAPDATASTORE_H #define WRAPDATASTORE_H +#include "wrapSidre.h" #include "axom/sidre/interface/SidreTypes.h" #ifdef AXOM_USE_MPI #include "mpi.h" #endif -#include "typesSidre.h" #ifdef __cplusplus #include <cstddef> + #include <cstdint> #include "axom/sidre/core/SidreTypes.hpp" #else - #include <stdbool.h> #include <stddef.h> + #include <stdint.h> + #include <stdbool.h> #endif +#include "typesSidre.h" // splicer begin class.DataStore.CXX_declarations // splicer end class.DataStore.CXX_declarations @@ -37,63 +40,83 @@ extern "C" { // splicer begin class.DataStore.C_declarations // splicer end class.DataStore.C_declarations -SIDRE_DataStore* SIDRE_DataStore_new(SIDRE_DataStore* SHC_rv); +SIDRE_DataStore *SIDRE_DataStore_new(SIDRE_DataStore *SHC_rv); -void SIDRE_DataStore_delete(SIDRE_DataStore* self); +void SIDRE_DataStore_delete(SIDRE_DataStore *self); -SIDRE_Group* SIDRE_DataStore_get_root(SIDRE_DataStore* self, SIDRE_Group* SHC_rv); +SIDRE_Group *SIDRE_DataStore_get_root(SIDRE_DataStore *self, SIDRE_Group *SHC_rv); -size_t SIDRE_DataStore_get_num_buffers(const SIDRE_DataStore* self); +size_t SIDRE_DataStore_get_num_buffers(const SIDRE_DataStore *self); -SIDRE_Buffer* SIDRE_DataStore_get_buffer(SIDRE_DataStore* self, +SIDRE_Buffer *SIDRE_DataStore_get_buffer(SIDRE_DataStore *self, SIDRE_IndexType idx, - SIDRE_Buffer* SHC_rv); + SIDRE_Buffer *SHC_rv); -SIDRE_Buffer* SIDRE_DataStore_create_buffer_empty(SIDRE_DataStore* self, - SIDRE_Buffer* SHC_rv); +SIDRE_Buffer *SIDRE_DataStore_get_buffer_int32_t(SIDRE_DataStore *self, + int32_t idx, + SIDRE_Buffer *SHC_rv); -SIDRE_Buffer* SIDRE_DataStore_create_buffer_from_type(SIDRE_DataStore* self, - SIDRE_TypeID type, - SIDRE_IndexType num_elems, - SIDRE_Buffer* SHC_rv); +SIDRE_Buffer *SIDRE_DataStore_get_buffer_int64_t(SIDRE_DataStore *self, + int64_t idx, + SIDRE_Buffer *SHC_rv); -void SIDRE_DataStore_destroy_buffer(SIDRE_DataStore* self, SIDRE_IndexType id); +SIDRE_Buffer *SIDRE_DataStore_create_buffer_empty(SIDRE_DataStore *self, + SIDRE_Buffer *SHC_rv); -bool SIDRE_DataStore_generate_blueprint_index_0(SIDRE_DataStore* self, - const char* domain_path, - const char* mesh_name, - const char* index_path, +SIDRE_Buffer *SIDRE_DataStore_create_buffer_from_type(SIDRE_DataStore *self, + SIDRE_TypeID type, + SIDRE_IndexType num_elems, + SIDRE_Buffer *SHC_rv); + +SIDRE_Buffer *SIDRE_DataStore_create_buffer_from_type_int32_t( + SIDRE_DataStore *self, + SIDRE_TypeID type, + int32_t num_elems, + SIDRE_Buffer *SHC_rv); + +SIDRE_Buffer *SIDRE_DataStore_create_buffer_from_type_int64_t( + SIDRE_DataStore *self, + SIDRE_TypeID type, + int64_t num_elems, + SIDRE_Buffer *SHC_rv); + +void SIDRE_DataStore_destroy_buffer(SIDRE_DataStore *self, SIDRE_IndexType id); + +bool SIDRE_DataStore_generate_blueprint_index_0(SIDRE_DataStore *self, + const char *domain_path, + const char *mesh_name, + const char *index_path, int num_domains); -bool SIDRE_DataStore_generate_blueprint_index_0_bufferify(SIDRE_DataStore* self, - const char* domain_path, - int Ldomain_path, - const char* mesh_name, - int Lmesh_name, - const char* index_path, - int Lindex_path, +bool SIDRE_DataStore_generate_blueprint_index_0_bufferify(SIDRE_DataStore *self, + char *domain_path, + int SHT_domain_path_len, + char *mesh_name, + int SHT_mesh_name_len, + char *index_path, + int SHT_index_path_len, int num_domains); #ifdef AXOM_USE_MPI -bool SIDRE_DataStore_generate_blueprint_index_1(SIDRE_DataStore* self, +bool SIDRE_DataStore_generate_blueprint_index_1(SIDRE_DataStore *self, MPI_Fint comm, - const char* domain_path, - const char* mesh_name, - const char* index_path); + const char *domain_path, + const char *mesh_name, + const char *index_path); #endif #ifdef AXOM_USE_MPI -bool SIDRE_DataStore_generate_blueprint_index_1_bufferify(SIDRE_DataStore* self, +bool SIDRE_DataStore_generate_blueprint_index_1_bufferify(SIDRE_DataStore *self, MPI_Fint comm, - const char* domain_path, - int Ldomain_path, - const char* mesh_name, - int Lmesh_name, - const char* index_path, - int Lindex_path); + char *domain_path, + int SHT_domain_path_len, + char *mesh_name, + int SHT_mesh_name_len, + char *index_path, + int SHT_index_path_len); #endif -void SIDRE_DataStore_print(const SIDRE_DataStore* self); +void SIDRE_DataStore_print(const SIDRE_DataStore *self); #ifdef __cplusplus } diff --git a/src/axom/sidre/interface/c_fortran/wrapGroup.cpp b/src/axom/sidre/interface/c_fortran/wrapGroup.cpp index ce2d3ef8ee..fdaca43484 100644 --- a/src/axom/sidre/interface/c_fortran/wrapGroup.cpp +++ b/src/axom/sidre/interface/c_fortran/wrapGroup.cpp @@ -1,23 +1,42 @@ // wrapGroup.cpp -// This file is generated by Shroud 0.12.2. Do not edit. +// This file is generated by Shroud 0.13.0. Do not edit. // // Copyright (c) 2017-2024, Lawrence Livermore National Security, LLC and // other Axom Project Developers. See the top-level LICENSE file for details. // // SPDX-License-Identifier: (BSD-3-Clause) -#include "wrapGroup.h" -#include <cstring> + +#include "axom/sidre/core/Group.hpp" #include <string> -#include "axom/sidre/core/Buffer.hpp" #include "axom/sidre/core/DataStore.hpp" -#include "axom/sidre/core/Group.hpp" #include "axom/sidre/core/View.hpp" +#include "axom/sidre/core/Buffer.hpp" +#include <cstring> +#include "wrapGroup.h" // splicer begin class.Group.CXX_definitions // splicer end class.Group.CXX_definitions extern "C" { +// helper ShroudLenTrim +// Returns the length of character string src with length nsrc, +// ignoring any trailing blanks. +static int ShroudLenTrim(const char *src, int nsrc) +{ + int i; + + for(i = nsrc - 1; i >= 0; i--) + { + if(src[i] != ' ') + { + break; + } + } + + return i + 1; +} + // helper ShroudStrCopy // Copy src into dest, blank fill to ndest characters // Truncate if dest is too short. @@ -30,16 +49,10 @@ static void ShroudStrCopy(char *dest, int ndest, const char *src, int nsrc) } else { - if(nsrc < 0) - { - nsrc = std::strlen(src); - } + if(nsrc < 0) nsrc = std::strlen(src); int nm = nsrc < ndest ? nsrc : ndest; std::memcpy(dest, src, nm); - if(ndest > nm) - { - std::memset(dest + nm, ' ', ndest - nm); // blank fill - } + if(ndest > nm) std::memset(dest + nm, ' ', ndest - nm); // blank fill } } // splicer begin class.Group.C_definitions @@ -48,110 +61,110 @@ static void ShroudStrCopy(char *dest, int ndest, const char *src, int nsrc) SIDRE_IndexType SIDRE_Group_get_index(SIDRE_Group *self) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.get_index + // splicer begin class.Group.method.getIndex axom::sidre::IndexType SHC_rv = SH_this->getIndex(); return SHC_rv; - // splicer end class.Group.method.get_index + // splicer end class.Group.method.getIndex } const char *SIDRE_Group_get_name(const SIDRE_Group *self) { const axom::sidre::Group *SH_this = static_cast<const axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.get_name + // splicer begin class.Group.method.getName const std::string &SHCXX_rv = SH_this->getName(); const char *SHC_rv = SHCXX_rv.c_str(); return SHC_rv; - // splicer end class.Group.method.get_name + // splicer end class.Group.method.getName } void SIDRE_Group_get_name_bufferify(const SIDRE_Group *self, - char *SHF_rv, - int NSHF_rv) + char *SHC_rv, + int SHT_rv_len) { const axom::sidre::Group *SH_this = static_cast<const axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.get_name_bufferify + // splicer begin class.Group.method.getName_bufferify const std::string &SHCXX_rv = SH_this->getName(); if(SHCXX_rv.empty()) { - ShroudStrCopy(SHF_rv, NSHF_rv, nullptr, 0); + ShroudStrCopy(SHC_rv, SHT_rv_len, nullptr, 0); } else { - ShroudStrCopy(SHF_rv, NSHF_rv, SHCXX_rv.data(), SHCXX_rv.size()); + ShroudStrCopy(SHC_rv, SHT_rv_len, SHCXX_rv.data(), SHCXX_rv.size()); } - // splicer end class.Group.method.get_name_bufferify + // splicer end class.Group.method.getName_bufferify } void SIDRE_Group_get_path_bufferify(const SIDRE_Group *self, - char *SHF_rv, - int NSHF_rv) + char *SHC_rv, + int SHT_rv_len) { const axom::sidre::Group *SH_this = static_cast<const axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.get_path_bufferify + // splicer begin class.Group.method.getPath_bufferify std::string SHCXX_rv = SH_this->getPath(); if(SHCXX_rv.empty()) { - ShroudStrCopy(SHF_rv, NSHF_rv, nullptr, 0); + ShroudStrCopy(SHC_rv, SHT_rv_len, nullptr, 0); } else { - ShroudStrCopy(SHF_rv, NSHF_rv, SHCXX_rv.data(), SHCXX_rv.size()); + ShroudStrCopy(SHC_rv, SHT_rv_len, SHCXX_rv.data(), SHCXX_rv.size()); } - // splicer end class.Group.method.get_path_bufferify + // splicer end class.Group.method.getPath_bufferify } void SIDRE_Group_get_path_name_bufferify(const SIDRE_Group *self, - char *SHF_rv, - int NSHF_rv) + char *SHC_rv, + int SHT_rv_len) { const axom::sidre::Group *SH_this = static_cast<const axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.get_path_name_bufferify + // splicer begin class.Group.method.getPathName_bufferify std::string SHCXX_rv = SH_this->getPathName(); if(SHCXX_rv.empty()) { - ShroudStrCopy(SHF_rv, NSHF_rv, nullptr, 0); + ShroudStrCopy(SHC_rv, SHT_rv_len, nullptr, 0); } else { - ShroudStrCopy(SHF_rv, NSHF_rv, SHCXX_rv.data(), SHCXX_rv.size()); + ShroudStrCopy(SHC_rv, SHT_rv_len, SHCXX_rv.data(), SHCXX_rv.size()); } - // splicer end class.Group.method.get_path_name_bufferify + // splicer end class.Group.method.getPathName_bufferify } SIDRE_Group *SIDRE_Group_get_parent(const SIDRE_Group *self, SIDRE_Group *SHC_rv) { const axom::sidre::Group *SH_this = static_cast<const axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.get_parent + // splicer begin class.Group.method.getParent const axom::sidre::Group *SHCXX_rv = SH_this->getParent(); SHC_rv->addr = const_cast<axom::sidre::Group *>(SHCXX_rv); SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.get_parent + // splicer end class.Group.method.getParent } size_t SIDRE_Group_get_num_groups(const SIDRE_Group *self) { const axom::sidre::Group *SH_this = static_cast<const axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.get_num_groups + // splicer begin class.Group.method.getNumGroups size_t SHC_rv = SH_this->getNumGroups(); return SHC_rv; - // splicer end class.Group.method.get_num_groups + // splicer end class.Group.method.getNumGroups } size_t SIDRE_Group_get_num_views(const SIDRE_Group *self) { const axom::sidre::Group *SH_this = static_cast<const axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.get_num_views + // splicer begin class.Group.method.getNumViews size_t SHC_rv = SH_this->getNumViews(); return SHC_rv; - // splicer end class.Group.method.get_num_views + // splicer end class.Group.method.getNumViews } SIDRE_DataStore *SIDRE_Group_get_data_store(const SIDRE_Group *self, @@ -159,60 +172,60 @@ SIDRE_DataStore *SIDRE_Group_get_data_store(const SIDRE_Group *self, { const axom::sidre::Group *SH_this = static_cast<const axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.get_data_store + // splicer begin class.Group.method.getDataStore const axom::sidre::DataStore *SHCXX_rv = SH_this->getDataStore(); SHC_rv->addr = const_cast<axom::sidre::DataStore *>(SHCXX_rv); SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.get_data_store + // splicer end class.Group.method.getDataStore } bool SIDRE_Group_has_view(const SIDRE_Group *self, const char *path) { const axom::sidre::Group *SH_this = static_cast<const axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.has_view + // splicer begin class.Group.method.hasView const std::string SHCXX_path(path); bool SHC_rv = SH_this->hasView(SHCXX_path); return SHC_rv; - // splicer end class.Group.method.has_view + // splicer end class.Group.method.hasView } bool SIDRE_Group_has_view_bufferify(const SIDRE_Group *self, - const char *path, - int Lpath) + char *path, + int SHT_path_len) { const axom::sidre::Group *SH_this = static_cast<const axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.has_view_bufferify - const std::string SHCXX_path(path, Lpath); + // splicer begin class.Group.method.hasView_bufferify + const std::string SHCXX_path(path, ShroudLenTrim(path, SHT_path_len)); bool SHC_rv = SH_this->hasView(SHCXX_path); return SHC_rv; - // splicer end class.Group.method.has_view_bufferify + // splicer end class.Group.method.hasView_bufferify } bool SIDRE_Group_has_child_view(const SIDRE_Group *self, const char *name) { const axom::sidre::Group *SH_this = static_cast<const axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.has_child_view + // splicer begin class.Group.method.hasChildView const std::string SHCXX_name(name); bool SHC_rv = SH_this->hasChildView(SHCXX_name); return SHC_rv; - // splicer end class.Group.method.has_child_view + // splicer end class.Group.method.hasChildView } bool SIDRE_Group_has_child_view_bufferify(const SIDRE_Group *self, - const char *name, - int Lname) + char *name, + int SHT_name_len) { const axom::sidre::Group *SH_this = static_cast<const axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.has_child_view_bufferify - const std::string SHCXX_name(name, Lname); + // splicer begin class.Group.method.hasChildView_bufferify + const std::string SHCXX_name(name, ShroudLenTrim(name, SHT_name_len)); bool SHC_rv = SH_this->hasChildView(SHCXX_name); return SHC_rv; - // splicer end class.Group.method.has_child_view_bufferify + // splicer end class.Group.method.hasChildView_bufferify } SIDRE_IndexType SIDRE_Group_get_view_index(const SIDRE_Group *self, @@ -220,31 +233,31 @@ SIDRE_IndexType SIDRE_Group_get_view_index(const SIDRE_Group *self, { const axom::sidre::Group *SH_this = static_cast<const axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.get_view_index + // splicer begin class.Group.method.getViewIndex const std::string SHCXX_name(name); axom::sidre::IndexType SHC_rv = SH_this->getViewIndex(SHCXX_name); return SHC_rv; - // splicer end class.Group.method.get_view_index + // splicer end class.Group.method.getViewIndex } SIDRE_IndexType SIDRE_Group_get_view_index_bufferify(const SIDRE_Group *self, - const char *name, - int Lname) + char *name, + int SHT_name_len) { const axom::sidre::Group *SH_this = static_cast<const axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.get_view_index_bufferify - const std::string SHCXX_name(name, Lname); + // splicer begin class.Group.method.getViewIndex_bufferify + const std::string SHCXX_name(name, ShroudLenTrim(name, SHT_name_len)); axom::sidre::IndexType SHC_rv = SH_this->getViewIndex(SHCXX_name); return SHC_rv; - // splicer end class.Group.method.get_view_index_bufferify + // splicer end class.Group.method.getViewIndex_bufferify } const char *SIDRE_Group_get_view_name(const SIDRE_Group *self, SIDRE_IndexType idx) { const axom::sidre::Group *SH_this = static_cast<const axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.get_view_name + // splicer begin class.Group.method.getViewName const std::string &SHCXX_rv = SH_this->getViewName(idx); // C_error_pattern if(!axom::sidre::nameIsValid(SHCXX_rv)) @@ -254,34 +267,61 @@ const char *SIDRE_Group_get_view_name(const SIDRE_Group *self, SIDRE_IndexType i const char *SHC_rv = SHCXX_rv.c_str(); return SHC_rv; - // splicer end class.Group.method.get_view_name + // splicer end class.Group.method.getViewName } -void SIDRE_Group_get_view_name_bufferify(const SIDRE_Group *self, - SIDRE_IndexType idx, - char *SHF_rv, - int NSHF_rv) +void SIDRE_Group_get_view_name_int32_t_bufferify(const SIDRE_Group *self, + int32_t idx, + char *SHC_rv, + int SHT_rv_len) { const axom::sidre::Group *SH_this = static_cast<const axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.get_view_name_bufferify + // splicer begin class.Group.method.getViewName_int32_t_bufferify const std::string &SHCXX_rv = SH_this->getViewName(idx); // C_error_pattern if(!axom::sidre::nameIsValid(SHCXX_rv)) { - std::memset(SHF_rv, ' ', NSHF_rv); + std::memset(SHC_rv, ' ', SHT_rv_len); return; } if(SHCXX_rv.empty()) { - ShroudStrCopy(SHF_rv, NSHF_rv, nullptr, 0); + ShroudStrCopy(SHC_rv, SHT_rv_len, nullptr, 0); } else { - ShroudStrCopy(SHF_rv, NSHF_rv, SHCXX_rv.data(), SHCXX_rv.size()); + ShroudStrCopy(SHC_rv, SHT_rv_len, SHCXX_rv.data(), SHCXX_rv.size()); } - // splicer end class.Group.method.get_view_name_bufferify + // splicer end class.Group.method.getViewName_int32_t_bufferify +} + +void SIDRE_Group_get_view_name_int64_t_bufferify(const SIDRE_Group *self, + int64_t idx, + char *SHC_rv, + int SHT_rv_len) +{ + const axom::sidre::Group *SH_this = + static_cast<const axom::sidre::Group *>(self->addr); + // splicer begin class.Group.method.getViewName_int64_t_bufferify + const std::string &SHCXX_rv = SH_this->getViewName(idx); + // C_error_pattern + if(!axom::sidre::nameIsValid(SHCXX_rv)) + { + std::memset(SHC_rv, ' ', SHT_rv_len); + return; + } + + if(SHCXX_rv.empty()) + { + ShroudStrCopy(SHC_rv, SHT_rv_len, nullptr, 0); + } + else + { + ShroudStrCopy(SHC_rv, SHT_rv_len, SHCXX_rv.data(), SHCXX_rv.size()); + } + // splicer end class.Group.method.getViewName_int64_t_bufferify } SIDRE_View *SIDRE_Group_get_view_from_name(SIDRE_Group *self, @@ -289,7 +329,7 @@ SIDRE_View *SIDRE_Group_get_view_from_name(SIDRE_Group *self, SIDRE_View *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.get_view_from_name + // splicer begin class.Group.method.getView_from_name const std::string SHCXX_path(path); axom::sidre::View *SHCXX_rv = SH_this->getView(SHCXX_path); // C_error_pattern @@ -303,22 +343,22 @@ SIDRE_View *SIDRE_Group_get_view_from_name(SIDRE_Group *self, SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.get_view_from_name + // splicer end class.Group.method.getView_from_name } SIDRE_View *SIDRE_Group_get_view_from_name_bufferify(SIDRE_Group *self, - const char *path, - int Lpath, + char *path, + int SHT_path_len, SIDRE_View *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.get_view_from_name_bufferify - const std::string SHCXX_path(path, Lpath); + // splicer begin class.Group.method.getView_from_name_bufferify + const std::string SHCXX_path(path, ShroudLenTrim(path, SHT_path_len)); axom::sidre::View *SHCXX_rv = SH_this->getView(SHCXX_path); SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.get_view_from_name_bufferify + // splicer end class.Group.method.getView_from_name_bufferify } SIDRE_View *SIDRE_Group_get_view_from_index(SIDRE_Group *self, @@ -326,7 +366,49 @@ SIDRE_View *SIDRE_Group_get_view_from_index(SIDRE_Group *self, SIDRE_View *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.get_view_from_index + // splicer begin class.Group.method.getView_from_index + axom::sidre::View *SHCXX_rv = SH_this->getView(idx); + // C_error_pattern + if(SHCXX_rv == nullptr) + { + SHC_rv->addr = NULL; + SHC_rv->idtor = 0; + return NULL; + } + + SHC_rv->addr = SHCXX_rv; + SHC_rv->idtor = 0; + return SHC_rv; + // splicer end class.Group.method.getView_from_index +} + +SIDRE_View *SIDRE_Group_get_view_from_index_int32_t(SIDRE_Group *self, + int32_t idx, + SIDRE_View *SHC_rv) +{ + axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); + // splicer begin class.Group.method.getView_from_index_int32_t + axom::sidre::View *SHCXX_rv = SH_this->getView(idx); + // C_error_pattern + if(SHCXX_rv == nullptr) + { + SHC_rv->addr = NULL; + SHC_rv->idtor = 0; + return NULL; + } + + SHC_rv->addr = SHCXX_rv; + SHC_rv->idtor = 0; + return SHC_rv; + // splicer end class.Group.method.getView_from_index_int32_t +} + +SIDRE_View *SIDRE_Group_get_view_from_index_int64_t(SIDRE_Group *self, + int64_t idx, + SIDRE_View *SHC_rv) +{ + axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); + // splicer begin class.Group.method.getView_from_index_int64_t axom::sidre::View *SHCXX_rv = SH_this->getView(idx); // C_error_pattern if(SHCXX_rv == nullptr) @@ -339,17 +421,17 @@ SIDRE_View *SIDRE_Group_get_view_from_index(SIDRE_Group *self, SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.get_view_from_index + // splicer end class.Group.method.getView_from_index_int64_t } SIDRE_IndexType SIDRE_Group_get_first_valid_view_index(const SIDRE_Group *self) { const axom::sidre::Group *SH_this = static_cast<const axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.get_first_valid_view_index + // splicer begin class.Group.method.getFirstValidViewIndex axom::sidre::IndexType SHC_rv = SH_this->getFirstValidViewIndex(); return SHC_rv; - // splicer end class.Group.method.get_first_valid_view_index + // splicer end class.Group.method.getFirstValidViewIndex } SIDRE_IndexType SIDRE_Group_get_next_valid_view_index(const SIDRE_Group *self, @@ -357,10 +439,10 @@ SIDRE_IndexType SIDRE_Group_get_next_valid_view_index(const SIDRE_Group *self, { const axom::sidre::Group *SH_this = static_cast<const axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.get_next_valid_view_index + // splicer begin class.Group.method.getNextValidViewIndex axom::sidre::IndexType SHC_rv = SH_this->getNextValidViewIndex(idx); return SHC_rv; - // splicer end class.Group.method.get_next_valid_view_index + // splicer end class.Group.method.getNextValidViewIndex } SIDRE_View *SIDRE_Group_create_view_empty(SIDRE_Group *self, @@ -368,7 +450,7 @@ SIDRE_View *SIDRE_Group_create_view_empty(SIDRE_Group *self, SIDRE_View *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.create_view_empty + // splicer begin class.Group.method.createView_empty const std::string SHCXX_path(path); axom::sidre::View *SHCXX_rv = SH_this->createView(SHCXX_path); // C_error_pattern @@ -382,22 +464,22 @@ SIDRE_View *SIDRE_Group_create_view_empty(SIDRE_Group *self, SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.create_view_empty + // splicer end class.Group.method.createView_empty } SIDRE_View *SIDRE_Group_create_view_empty_bufferify(SIDRE_Group *self, - const char *path, - int Lpath, + char *path, + int SHT_path_len, SIDRE_View *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.create_view_empty_bufferify - const std::string SHCXX_path(path, Lpath); + // splicer begin class.Group.method.createView_empty_bufferify + const std::string SHCXX_path(path, ShroudLenTrim(path, SHT_path_len)); axom::sidre::View *SHCXX_rv = SH_this->createView(SHCXX_path); SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.create_view_empty_bufferify + // splicer end class.Group.method.createView_empty_bufferify } SIDRE_View *SIDRE_Group_create_view_from_type(SIDRE_Group *self, @@ -407,7 +489,7 @@ SIDRE_View *SIDRE_Group_create_view_from_type(SIDRE_Group *self, SIDRE_View *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.create_view_from_type + // splicer begin class.Group.method.createView_from_type const std::string SHCXX_path(path); axom::sidre::TypeID SHCXX_type = static_cast<axom::sidre::TypeID>(type); axom::sidre::View *SHCXX_rv = @@ -423,26 +505,45 @@ SIDRE_View *SIDRE_Group_create_view_from_type(SIDRE_Group *self, SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.create_view_from_type + // splicer end class.Group.method.createView_from_type } -SIDRE_View *SIDRE_Group_create_view_from_type_bufferify(SIDRE_Group *self, - const char *path, - int Lpath, - SIDRE_TypeID type, - SIDRE_IndexType num_elems, - SIDRE_View *SHC_rv) +SIDRE_View *SIDRE_Group_create_view_from_type_int32_t_bufferify(SIDRE_Group *self, + char *path, + int SHT_path_len, + SIDRE_TypeID type, + int32_t num_elems, + SIDRE_View *SHC_rv) +{ + axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); + // splicer begin class.Group.method.createView_from_type_int32_t_bufferify + const std::string SHCXX_path(path, ShroudLenTrim(path, SHT_path_len)); + axom::sidre::TypeID SHCXX_type = static_cast<axom::sidre::TypeID>(type); + axom::sidre::View *SHCXX_rv = + SH_this->createView(SHCXX_path, SHCXX_type, num_elems); + SHC_rv->addr = SHCXX_rv; + SHC_rv->idtor = 0; + return SHC_rv; + // splicer end class.Group.method.createView_from_type_int32_t_bufferify +} + +SIDRE_View *SIDRE_Group_create_view_from_type_int64_t_bufferify(SIDRE_Group *self, + char *path, + int SHT_path_len, + SIDRE_TypeID type, + int64_t num_elems, + SIDRE_View *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.create_view_from_type_bufferify - const std::string SHCXX_path(path, Lpath); + // splicer begin class.Group.method.createView_from_type_int64_t_bufferify + const std::string SHCXX_path(path, ShroudLenTrim(path, SHT_path_len)); axom::sidre::TypeID SHCXX_type = static_cast<axom::sidre::TypeID>(type); axom::sidre::View *SHCXX_rv = SH_this->createView(SHCXX_path, SHCXX_type, num_elems); SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.create_view_from_type_bufferify + // splicer end class.Group.method.createView_from_type_int64_t_bufferify } SIDRE_View *SIDRE_Group_create_view_with_shape_base(SIDRE_Group *self, @@ -453,7 +554,7 @@ SIDRE_View *SIDRE_Group_create_view_with_shape_base(SIDRE_Group *self, SIDRE_View *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.create_view_with_shape_base + // splicer begin class.Group.method.createViewWithShape_base const std::string SHCXX_path(path); axom::sidre::TypeID SHCXX_type = static_cast<axom::sidre::TypeID>(type); axom::sidre::View *SHCXX_rv = @@ -469,28 +570,28 @@ SIDRE_View *SIDRE_Group_create_view_with_shape_base(SIDRE_Group *self, SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.create_view_with_shape_base + // splicer end class.Group.method.createViewWithShape_base } SIDRE_View *SIDRE_Group_create_view_with_shape_base_bufferify( SIDRE_Group *self, - const char *path, - int Lpath, + char *path, + int SHT_path_len, SIDRE_TypeID type, int ndims, const SIDRE_IndexType *shape, SIDRE_View *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.create_view_with_shape_base_bufferify - const std::string SHCXX_path(path, Lpath); + // splicer begin class.Group.method.createViewWithShape_base_bufferify + const std::string SHCXX_path(path, ShroudLenTrim(path, SHT_path_len)); axom::sidre::TypeID SHCXX_type = static_cast<axom::sidre::TypeID>(type); axom::sidre::View *SHCXX_rv = SH_this->createViewWithShape(SHCXX_path, SHCXX_type, ndims, shape); SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.create_view_with_shape_base_bufferify + // splicer end class.Group.method.createViewWithShape_base_bufferify } SIDRE_View *SIDRE_Group_create_view_into_buffer(SIDRE_Group *self, @@ -499,7 +600,7 @@ SIDRE_View *SIDRE_Group_create_view_into_buffer(SIDRE_Group *self, SIDRE_View *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.create_view_into_buffer + // splicer begin class.Group.method.createView_into_buffer const std::string SHCXX_path(path); axom::sidre::Buffer *SHCXX_buff = static_cast<axom::sidre::Buffer *>(buff->addr); @@ -515,25 +616,25 @@ SIDRE_View *SIDRE_Group_create_view_into_buffer(SIDRE_Group *self, SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.create_view_into_buffer + // splicer end class.Group.method.createView_into_buffer } SIDRE_View *SIDRE_Group_create_view_into_buffer_bufferify(SIDRE_Group *self, - const char *path, - int Lpath, + char *path, + int SHT_path_len, SIDRE_Buffer *buff, SIDRE_View *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.create_view_into_buffer_bufferify - const std::string SHCXX_path(path, Lpath); + // splicer begin class.Group.method.createView_into_buffer_bufferify + const std::string SHCXX_path(path, ShroudLenTrim(path, SHT_path_len)); axom::sidre::Buffer *SHCXX_buff = static_cast<axom::sidre::Buffer *>(buff->addr); axom::sidre::View *SHCXX_rv = SH_this->createView(SHCXX_path, SHCXX_buff); SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.create_view_into_buffer_bufferify + // splicer end class.Group.method.createView_into_buffer_bufferify } SIDRE_View *SIDRE_Group_create_view_from_type_and_buffer(SIDRE_Group *self, @@ -544,7 +645,7 @@ SIDRE_View *SIDRE_Group_create_view_from_type_and_buffer(SIDRE_Group *self, SIDRE_View *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.create_view_from_type_and_buffer + // splicer begin class.Group.method.createView_from_type_and_buffer const std::string SHCXX_path(path); axom::sidre::TypeID SHCXX_type = static_cast<axom::sidre::TypeID>(type); axom::sidre::Buffer *SHCXX_buff = @@ -562,21 +663,44 @@ SIDRE_View *SIDRE_Group_create_view_from_type_and_buffer(SIDRE_Group *self, SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.create_view_from_type_and_buffer + // splicer end class.Group.method.createView_from_type_and_buffer } -SIDRE_View *SIDRE_Group_create_view_from_type_and_buffer_bufferify( +SIDRE_View *SIDRE_Group_create_view_from_type_and_buffer_int32_t_bufferify( SIDRE_Group *self, - const char *path, - int Lpath, + char *path, + int SHT_path_len, + SIDRE_TypeID type, + int32_t num_elems, + SIDRE_Buffer *buff, + SIDRE_View *SHC_rv) +{ + axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); + // splicer begin class.Group.method.createView_from_type_and_buffer_int32_t_bufferify + const std::string SHCXX_path(path, ShroudLenTrim(path, SHT_path_len)); + axom::sidre::TypeID SHCXX_type = static_cast<axom::sidre::TypeID>(type); + axom::sidre::Buffer *SHCXX_buff = + static_cast<axom::sidre::Buffer *>(buff->addr); + axom::sidre::View *SHCXX_rv = + SH_this->createView(SHCXX_path, SHCXX_type, num_elems, SHCXX_buff); + SHC_rv->addr = SHCXX_rv; + SHC_rv->idtor = 0; + return SHC_rv; + // splicer end class.Group.method.createView_from_type_and_buffer_int32_t_bufferify +} + +SIDRE_View *SIDRE_Group_create_view_from_type_and_buffer_int64_t_bufferify( + SIDRE_Group *self, + char *path, + int SHT_path_len, SIDRE_TypeID type, - SIDRE_IndexType num_elems, + int64_t num_elems, SIDRE_Buffer *buff, SIDRE_View *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.create_view_from_type_and_buffer_bufferify - const std::string SHCXX_path(path, Lpath); + // splicer begin class.Group.method.createView_from_type_and_buffer_int64_t_bufferify + const std::string SHCXX_path(path, ShroudLenTrim(path, SHT_path_len)); axom::sidre::TypeID SHCXX_type = static_cast<axom::sidre::TypeID>(type); axom::sidre::Buffer *SHCXX_buff = static_cast<axom::sidre::Buffer *>(buff->addr); @@ -585,7 +709,7 @@ SIDRE_View *SIDRE_Group_create_view_from_type_and_buffer_bufferify( SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.create_view_from_type_and_buffer_bufferify + // splicer end class.Group.method.createView_from_type_and_buffer_int64_t_bufferify } SIDRE_View *SIDRE_Group_create_view_with_shape_and_buffer(SIDRE_Group *self, @@ -597,7 +721,7 @@ SIDRE_View *SIDRE_Group_create_view_with_shape_and_buffer(SIDRE_Group *self, SIDRE_View *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.create_view_with_shape_and_buffer + // splicer begin class.Group.method.createViewWithShape_and_buffer const std::string SHCXX_path(path); axom::sidre::TypeID SHCXX_type = static_cast<axom::sidre::TypeID>(type); axom::sidre::Buffer *SHCXX_buff = @@ -615,13 +739,13 @@ SIDRE_View *SIDRE_Group_create_view_with_shape_and_buffer(SIDRE_Group *self, SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.create_view_with_shape_and_buffer + // splicer end class.Group.method.createViewWithShape_and_buffer } SIDRE_View *SIDRE_Group_create_view_with_shape_and_buffer_bufferify( SIDRE_Group *self, - const char *path, - int Lpath, + char *path, + int SHT_path_len, SIDRE_TypeID type, int ndims, const SIDRE_IndexType *shape, @@ -629,8 +753,8 @@ SIDRE_View *SIDRE_Group_create_view_with_shape_and_buffer_bufferify( SIDRE_View *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.create_view_with_shape_and_buffer_bufferify - const std::string SHCXX_path(path, Lpath); + // splicer begin class.Group.method.createViewWithShape_and_buffer_bufferify + const std::string SHCXX_path(path, ShroudLenTrim(path, SHT_path_len)); axom::sidre::TypeID SHCXX_type = static_cast<axom::sidre::TypeID>(type); axom::sidre::Buffer *SHCXX_buff = static_cast<axom::sidre::Buffer *>(buff->addr); @@ -639,7 +763,7 @@ SIDRE_View *SIDRE_Group_create_view_with_shape_and_buffer_bufferify( SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.create_view_with_shape_and_buffer_bufferify + // splicer end class.Group.method.createViewWithShape_and_buffer_bufferify } SIDRE_View *SIDRE_Group_create_view_external(SIDRE_Group *self, @@ -648,7 +772,7 @@ SIDRE_View *SIDRE_Group_create_view_external(SIDRE_Group *self, SIDRE_View *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.create_view_external + // splicer begin class.Group.method.createView_external const std::string SHCXX_path(path); axom::sidre::View *SHCXX_rv = SH_this->createView(SHCXX_path, external_ptr); // C_error_pattern @@ -662,23 +786,23 @@ SIDRE_View *SIDRE_Group_create_view_external(SIDRE_Group *self, SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.create_view_external + // splicer end class.Group.method.createView_external } SIDRE_View *SIDRE_Group_create_view_external_bufferify(SIDRE_Group *self, - const char *path, - int Lpath, + char *path, + int SHT_path_len, void *external_ptr, SIDRE_View *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.create_view_external_bufferify - const std::string SHCXX_path(path, Lpath); + // splicer begin class.Group.method.createView_external_bufferify + const std::string SHCXX_path(path, ShroudLenTrim(path, SHT_path_len)); axom::sidre::View *SHCXX_rv = SH_this->createView(SHCXX_path, external_ptr); SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.create_view_external_bufferify + // splicer end class.Group.method.createView_external_bufferify } SIDRE_View *SIDRE_Group_create_view_from_type_external(SIDRE_Group *self, @@ -689,7 +813,7 @@ SIDRE_View *SIDRE_Group_create_view_from_type_external(SIDRE_Group *self, SIDRE_View *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.create_view_from_type_external + // splicer begin class.Group.method.createView_from_type_external const std::string SHCXX_path(path); axom::sidre::TypeID SHCXX_type = static_cast<axom::sidre::TypeID>(type); axom::sidre::View *SHCXX_rv = @@ -705,28 +829,49 @@ SIDRE_View *SIDRE_Group_create_view_from_type_external(SIDRE_Group *self, SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.create_view_from_type_external + // splicer end class.Group.method.createView_from_type_external } -SIDRE_View *SIDRE_Group_create_view_from_type_external_bufferify( +SIDRE_View *SIDRE_Group_create_view_from_type_external_int32_t_bufferify( SIDRE_Group *self, - const char *path, - int Lpath, + char *path, + int SHT_path_len, SIDRE_TypeID type, - SIDRE_IndexType num_elems, + int32_t num_elems, void *external_ptr, SIDRE_View *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.create_view_from_type_external_bufferify - const std::string SHCXX_path(path, Lpath); + // splicer begin class.Group.method.createView_from_type_external_int32_t_bufferify + const std::string SHCXX_path(path, ShroudLenTrim(path, SHT_path_len)); axom::sidre::TypeID SHCXX_type = static_cast<axom::sidre::TypeID>(type); axom::sidre::View *SHCXX_rv = SH_this->createView(SHCXX_path, SHCXX_type, num_elems, external_ptr); SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.create_view_from_type_external_bufferify + // splicer end class.Group.method.createView_from_type_external_int32_t_bufferify +} + +SIDRE_View *SIDRE_Group_create_view_from_type_external_int64_t_bufferify( + SIDRE_Group *self, + char *path, + int SHT_path_len, + SIDRE_TypeID type, + int64_t num_elems, + void *external_ptr, + SIDRE_View *SHC_rv) +{ + axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); + // splicer begin class.Group.method.createView_from_type_external_int64_t_bufferify + const std::string SHCXX_path(path, ShroudLenTrim(path, SHT_path_len)); + axom::sidre::TypeID SHCXX_type = static_cast<axom::sidre::TypeID>(type); + axom::sidre::View *SHCXX_rv = + SH_this->createView(SHCXX_path, SHCXX_type, num_elems, external_ptr); + SHC_rv->addr = SHCXX_rv; + SHC_rv->idtor = 0; + return SHC_rv; + // splicer end class.Group.method.createView_from_type_external_int64_t_bufferify } SIDRE_View *SIDRE_Group_create_view_with_shape_external(SIDRE_Group *self, @@ -738,7 +883,7 @@ SIDRE_View *SIDRE_Group_create_view_with_shape_external(SIDRE_Group *self, SIDRE_View *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.create_view_with_shape_external + // splicer begin class.Group.method.createViewWithShape_external const std::string SHCXX_path(path); axom::sidre::TypeID SHCXX_type = static_cast<axom::sidre::TypeID>(type); axom::sidre::View *SHCXX_rv = @@ -754,13 +899,13 @@ SIDRE_View *SIDRE_Group_create_view_with_shape_external(SIDRE_Group *self, SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.create_view_with_shape_external + // splicer end class.Group.method.createViewWithShape_external } SIDRE_View *SIDRE_Group_create_view_with_shape_external_bufferify( SIDRE_Group *self, - const char *path, - int Lpath, + char *path, + int SHT_path_len, SIDRE_TypeID type, int ndims, const SIDRE_IndexType *shape, @@ -768,15 +913,15 @@ SIDRE_View *SIDRE_Group_create_view_with_shape_external_bufferify( SIDRE_View *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.create_view_with_shape_external_bufferify - const std::string SHCXX_path(path, Lpath); + // splicer begin class.Group.method.createViewWithShape_external_bufferify + const std::string SHCXX_path(path, ShroudLenTrim(path, SHT_path_len)); axom::sidre::TypeID SHCXX_type = static_cast<axom::sidre::TypeID>(type); axom::sidre::View *SHCXX_rv = SH_this->createViewWithShape(SHCXX_path, SHCXX_type, ndims, shape, external_ptr); SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.create_view_with_shape_external_bufferify + // splicer end class.Group.method.createViewWithShape_external_bufferify } SIDRE_View *SIDRE_Group_create_view_and_allocate_nelems(SIDRE_Group *self, @@ -786,7 +931,7 @@ SIDRE_View *SIDRE_Group_create_view_and_allocate_nelems(SIDRE_Group *self, SIDRE_View *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.create_view_and_allocate_nelems + // splicer begin class.Group.method.createViewAndAllocate_nelems const std::string SHCXX_path(path); axom::sidre::TypeID SHCXX_type = static_cast<axom::sidre::TypeID>(type); axom::sidre::View *SHCXX_rv = @@ -802,27 +947,47 @@ SIDRE_View *SIDRE_Group_create_view_and_allocate_nelems(SIDRE_Group *self, SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.create_view_and_allocate_nelems + // splicer end class.Group.method.createViewAndAllocate_nelems } -SIDRE_View *SIDRE_Group_create_view_and_allocate_nelems_bufferify( +SIDRE_View *SIDRE_Group_create_view_and_allocate_nelems_int32_t_bufferify( SIDRE_Group *self, - const char *path, - int Lpath, + char *path, + int SHT_path_len, + SIDRE_TypeID type, + int32_t num_elems, + SIDRE_View *SHC_rv) +{ + axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); + // splicer begin class.Group.method.createViewAndAllocate_nelems_int32_t_bufferify + const std::string SHCXX_path(path, ShroudLenTrim(path, SHT_path_len)); + axom::sidre::TypeID SHCXX_type = static_cast<axom::sidre::TypeID>(type); + axom::sidre::View *SHCXX_rv = + SH_this->createViewAndAllocate(SHCXX_path, SHCXX_type, num_elems); + SHC_rv->addr = SHCXX_rv; + SHC_rv->idtor = 0; + return SHC_rv; + // splicer end class.Group.method.createViewAndAllocate_nelems_int32_t_bufferify +} + +SIDRE_View *SIDRE_Group_create_view_and_allocate_nelems_int64_t_bufferify( + SIDRE_Group *self, + char *path, + int SHT_path_len, SIDRE_TypeID type, - SIDRE_IndexType num_elems, + int64_t num_elems, SIDRE_View *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.create_view_and_allocate_nelems_bufferify - const std::string SHCXX_path(path, Lpath); + // splicer begin class.Group.method.createViewAndAllocate_nelems_int64_t_bufferify + const std::string SHCXX_path(path, ShroudLenTrim(path, SHT_path_len)); axom::sidre::TypeID SHCXX_type = static_cast<axom::sidre::TypeID>(type); axom::sidre::View *SHCXX_rv = SH_this->createViewAndAllocate(SHCXX_path, SHCXX_type, num_elems); SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.create_view_and_allocate_nelems_bufferify + // splicer end class.Group.method.createViewAndAllocate_nelems_int64_t_bufferify } SIDRE_View *SIDRE_Group_create_view_with_shape_and_allocate( @@ -834,7 +999,7 @@ SIDRE_View *SIDRE_Group_create_view_with_shape_and_allocate( SIDRE_View *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.create_view_with_shape_and_allocate + // splicer begin class.Group.method.createViewWithShapeAndAllocate const std::string SHCXX_path(path); axom::sidre::TypeID SHCXX_type = static_cast<axom::sidre::TypeID>(type); axom::sidre::View *SHCXX_rv = @@ -850,28 +1015,28 @@ SIDRE_View *SIDRE_Group_create_view_with_shape_and_allocate( SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.create_view_with_shape_and_allocate + // splicer end class.Group.method.createViewWithShapeAndAllocate } SIDRE_View *SIDRE_Group_create_view_with_shape_and_allocate_bufferify( SIDRE_Group *self, - const char *path, - int Lpath, + char *path, + int SHT_path_len, SIDRE_TypeID type, int ndims, const SIDRE_IndexType *shape, SIDRE_View *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.create_view_with_shape_and_allocate_bufferify - const std::string SHCXX_path(path, Lpath); + // splicer begin class.Group.method.createViewWithShapeAndAllocate_bufferify + const std::string SHCXX_path(path, ShroudLenTrim(path, SHT_path_len)); axom::sidre::TypeID SHCXX_type = static_cast<axom::sidre::TypeID>(type); axom::sidre::View *SHCXX_rv = SH_this->createViewWithShapeAndAllocate(SHCXX_path, SHCXX_type, ndims, shape); SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.create_view_with_shape_and_allocate_bufferify + // splicer end class.Group.method.createViewWithShapeAndAllocate_bufferify } SIDRE_View *SIDRE_Group_create_view_scalar_int(SIDRE_Group *self, @@ -880,7 +1045,7 @@ SIDRE_View *SIDRE_Group_create_view_scalar_int(SIDRE_Group *self, SIDRE_View *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.create_view_scalar_int + // splicer begin class.Group.method.createViewScalar_int const std::string SHCXX_path(path); axom::sidre::View *SHCXX_rv = SH_this->createViewScalar<int>(SHCXX_path, value); // C_error_pattern @@ -894,23 +1059,23 @@ SIDRE_View *SIDRE_Group_create_view_scalar_int(SIDRE_Group *self, SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.create_view_scalar_int + // splicer end class.Group.method.createViewScalar_int } SIDRE_View *SIDRE_Group_create_view_scalar_bufferify_int(SIDRE_Group *self, - const char *path, - int Lpath, + char *path, + int SHT_path_len, int value, SIDRE_View *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.create_view_scalar_bufferify_int - const std::string SHCXX_path(path, Lpath); + // splicer begin class.Group.method.createViewScalar_bufferify_int + const std::string SHCXX_path(path, ShroudLenTrim(path, SHT_path_len)); axom::sidre::View *SHCXX_rv = SH_this->createViewScalar<int>(SHCXX_path, value); SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.create_view_scalar_bufferify_int + // splicer end class.Group.method.createViewScalar_bufferify_int } SIDRE_View *SIDRE_Group_create_view_scalar_long(SIDRE_Group *self, @@ -919,7 +1084,7 @@ SIDRE_View *SIDRE_Group_create_view_scalar_long(SIDRE_Group *self, SIDRE_View *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.create_view_scalar_long + // splicer begin class.Group.method.createViewScalar_long const std::string SHCXX_path(path); axom::sidre::View *SHCXX_rv = SH_this->createViewScalar<long>(SHCXX_path, value); @@ -934,24 +1099,24 @@ SIDRE_View *SIDRE_Group_create_view_scalar_long(SIDRE_Group *self, SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.create_view_scalar_long + // splicer end class.Group.method.createViewScalar_long } SIDRE_View *SIDRE_Group_create_view_scalar_bufferify_long(SIDRE_Group *self, - const char *path, - int Lpath, + char *path, + int SHT_path_len, long value, SIDRE_View *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.create_view_scalar_bufferify_long - const std::string SHCXX_path(path, Lpath); + // splicer begin class.Group.method.createViewScalar_bufferify_long + const std::string SHCXX_path(path, ShroudLenTrim(path, SHT_path_len)); axom::sidre::View *SHCXX_rv = SH_this->createViewScalar<long>(SHCXX_path, value); SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.create_view_scalar_bufferify_long + // splicer end class.Group.method.createViewScalar_bufferify_long } SIDRE_View *SIDRE_Group_create_view_scalar_float(SIDRE_Group *self, @@ -960,7 +1125,7 @@ SIDRE_View *SIDRE_Group_create_view_scalar_float(SIDRE_Group *self, SIDRE_View *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.create_view_scalar_float + // splicer begin class.Group.method.createViewScalar_float const std::string SHCXX_path(path); axom::sidre::View *SHCXX_rv = SH_this->createViewScalar<float>(SHCXX_path, value); @@ -975,24 +1140,24 @@ SIDRE_View *SIDRE_Group_create_view_scalar_float(SIDRE_Group *self, SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.create_view_scalar_float + // splicer end class.Group.method.createViewScalar_float } SIDRE_View *SIDRE_Group_create_view_scalar_bufferify_float(SIDRE_Group *self, - const char *path, - int Lpath, + char *path, + int SHT_path_len, float value, SIDRE_View *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.create_view_scalar_bufferify_float - const std::string SHCXX_path(path, Lpath); + // splicer begin class.Group.method.createViewScalar_bufferify_float + const std::string SHCXX_path(path, ShroudLenTrim(path, SHT_path_len)); axom::sidre::View *SHCXX_rv = SH_this->createViewScalar<float>(SHCXX_path, value); SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.create_view_scalar_bufferify_float + // splicer end class.Group.method.createViewScalar_bufferify_float } SIDRE_View *SIDRE_Group_create_view_scalar_double(SIDRE_Group *self, @@ -1001,7 +1166,7 @@ SIDRE_View *SIDRE_Group_create_view_scalar_double(SIDRE_Group *self, SIDRE_View *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.create_view_scalar_double + // splicer begin class.Group.method.createViewScalar_double const std::string SHCXX_path(path); axom::sidre::View *SHCXX_rv = SH_this->createViewScalar<double>(SHCXX_path, value); @@ -1016,24 +1181,24 @@ SIDRE_View *SIDRE_Group_create_view_scalar_double(SIDRE_Group *self, SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.create_view_scalar_double + // splicer end class.Group.method.createViewScalar_double } SIDRE_View *SIDRE_Group_create_view_scalar_bufferify_double(SIDRE_Group *self, - const char *path, - int Lpath, + char *path, + int SHT_path_len, double value, SIDRE_View *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.create_view_scalar_bufferify_double - const std::string SHCXX_path(path, Lpath); + // splicer begin class.Group.method.createViewScalar_bufferify_double + const std::string SHCXX_path(path, ShroudLenTrim(path, SHT_path_len)); axom::sidre::View *SHCXX_rv = SH_this->createViewScalar<double>(SHCXX_path, value); SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.create_view_scalar_bufferify_double + // splicer end class.Group.method.createViewScalar_bufferify_double } SIDRE_View *SIDRE_Group_create_view_string(SIDRE_Group *self, @@ -1042,7 +1207,7 @@ SIDRE_View *SIDRE_Group_create_view_string(SIDRE_Group *self, SIDRE_View *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.create_view_string + // splicer begin class.Group.method.createViewString const std::string SHCXX_path(path); const std::string SHCXX_value(value); axom::sidre::View *SHCXX_rv = @@ -1058,75 +1223,75 @@ SIDRE_View *SIDRE_Group_create_view_string(SIDRE_Group *self, SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.create_view_string + // splicer end class.Group.method.createViewString } SIDRE_View *SIDRE_Group_create_view_string_bufferify(SIDRE_Group *self, - const char *path, - int Lpath, - const char *value, - int Lvalue, + char *path, + int SHT_path_len, + char *value, + int SHT_value_len, SIDRE_View *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.create_view_string_bufferify - const std::string SHCXX_path(path, Lpath); - const std::string SHCXX_value(value, Lvalue); + // splicer begin class.Group.method.createViewString_bufferify + const std::string SHCXX_path(path, ShroudLenTrim(path, SHT_path_len)); + const std::string SHCXX_value(value, ShroudLenTrim(value, SHT_value_len)); axom::sidre::View *SHCXX_rv = SH_this->createViewString(SHCXX_path, SHCXX_value); SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.create_view_string_bufferify + // splicer end class.Group.method.createViewString_bufferify } void SIDRE_Group_destroy_view(SIDRE_Group *self, const char *path) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.destroy_view + // splicer begin class.Group.method.destroyView const std::string SHCXX_path(path); SH_this->destroyView(SHCXX_path); - // splicer end class.Group.method.destroy_view + // splicer end class.Group.method.destroyView } void SIDRE_Group_destroy_view_bufferify(SIDRE_Group *self, - const char *path, - int Lpath) + char *path, + int SHT_path_len) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.destroy_view_bufferify - const std::string SHCXX_path(path, Lpath); + // splicer begin class.Group.method.destroyView_bufferify + const std::string SHCXX_path(path, ShroudLenTrim(path, SHT_path_len)); SH_this->destroyView(SHCXX_path); - // splicer end class.Group.method.destroy_view_bufferify + // splicer end class.Group.method.destroyView_bufferify } void SIDRE_Group_destroy_view_and_data_name(SIDRE_Group *self, const char *path) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.destroy_view_and_data_name + // splicer begin class.Group.method.destroyViewAndData_name const std::string SHCXX_path(path); SH_this->destroyViewAndData(SHCXX_path); - // splicer end class.Group.method.destroy_view_and_data_name + // splicer end class.Group.method.destroyViewAndData_name } void SIDRE_Group_destroy_view_and_data_name_bufferify(SIDRE_Group *self, - const char *path, - int Lpath) + char *path, + int SHT_path_len) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.destroy_view_and_data_name_bufferify - const std::string SHCXX_path(path, Lpath); + // splicer begin class.Group.method.destroyViewAndData_name_bufferify + const std::string SHCXX_path(path, ShroudLenTrim(path, SHT_path_len)); SH_this->destroyViewAndData(SHCXX_path); - // splicer end class.Group.method.destroy_view_and_data_name_bufferify + // splicer end class.Group.method.destroyViewAndData_name_bufferify } void SIDRE_Group_destroy_view_and_data_index(SIDRE_Group *self, SIDRE_IndexType idx) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.destroy_view_and_data_index + // splicer begin class.Group.method.destroyViewAndData_index SH_this->destroyViewAndData(idx); - // splicer end class.Group.method.destroy_view_and_data_index + // splicer end class.Group.method.destroyViewAndData_index } SIDRE_View *SIDRE_Group_move_view(SIDRE_Group *self, @@ -1134,13 +1299,13 @@ SIDRE_View *SIDRE_Group_move_view(SIDRE_Group *self, SIDRE_View *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.move_view + // splicer begin class.Group.method.moveView axom::sidre::View *SHCXX_view = static_cast<axom::sidre::View *>(view->addr); axom::sidre::View *SHCXX_rv = SH_this->moveView(SHCXX_view); SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.move_view + // splicer end class.Group.method.moveView } SIDRE_View *SIDRE_Group_copy_view(SIDRE_Group *self, @@ -1148,55 +1313,55 @@ SIDRE_View *SIDRE_Group_copy_view(SIDRE_Group *self, SIDRE_View *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.copy_view + // splicer begin class.Group.method.copyView axom::sidre::View *SHCXX_view = static_cast<axom::sidre::View *>(view->addr); axom::sidre::View *SHCXX_rv = SH_this->copyView(SHCXX_view); SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.copy_view + // splicer end class.Group.method.copyView } bool SIDRE_Group_has_group(SIDRE_Group *self, const char *path) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.has_group + // splicer begin class.Group.method.hasGroup const std::string SHCXX_path(path); bool SHC_rv = SH_this->hasGroup(SHCXX_path); return SHC_rv; - // splicer end class.Group.method.has_group + // splicer end class.Group.method.hasGroup } -bool SIDRE_Group_has_group_bufferify(SIDRE_Group *self, const char *path, int Lpath) +bool SIDRE_Group_has_group_bufferify(SIDRE_Group *self, char *path, int SHT_path_len) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.has_group_bufferify - const std::string SHCXX_path(path, Lpath); + // splicer begin class.Group.method.hasGroup_bufferify + const std::string SHCXX_path(path, ShroudLenTrim(path, SHT_path_len)); bool SHC_rv = SH_this->hasGroup(SHCXX_path); return SHC_rv; - // splicer end class.Group.method.has_group_bufferify + // splicer end class.Group.method.hasGroup_bufferify } bool SIDRE_Group_has_child_group(SIDRE_Group *self, const char *name) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.has_child_group + // splicer begin class.Group.method.hasChildGroup const std::string SHCXX_name(name); bool SHC_rv = SH_this->hasChildGroup(SHCXX_name); return SHC_rv; - // splicer end class.Group.method.has_child_group + // splicer end class.Group.method.hasChildGroup } bool SIDRE_Group_has_child_group_bufferify(SIDRE_Group *self, - const char *name, - int Lname) + char *name, + int SHT_name_len) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.has_child_group_bufferify - const std::string SHCXX_name(name, Lname); + // splicer begin class.Group.method.hasChildGroup_bufferify + const std::string SHCXX_name(name, ShroudLenTrim(name, SHT_name_len)); bool SHC_rv = SH_this->hasChildGroup(SHCXX_name); return SHC_rv; - // splicer end class.Group.method.has_child_group_bufferify + // splicer end class.Group.method.hasChildGroup_bufferify } SIDRE_IndexType SIDRE_Group_get_group_index(const SIDRE_Group *self, @@ -1204,24 +1369,24 @@ SIDRE_IndexType SIDRE_Group_get_group_index(const SIDRE_Group *self, { const axom::sidre::Group *SH_this = static_cast<const axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.get_group_index + // splicer begin class.Group.method.getGroupIndex const std::string SHCXX_name(name); axom::sidre::IndexType SHC_rv = SH_this->getGroupIndex(SHCXX_name); return SHC_rv; - // splicer end class.Group.method.get_group_index + // splicer end class.Group.method.getGroupIndex } SIDRE_IndexType SIDRE_Group_get_group_index_bufferify(const SIDRE_Group *self, - const char *name, - int Lname) + char *name, + int SHT_name_len) { const axom::sidre::Group *SH_this = static_cast<const axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.get_group_index_bufferify - const std::string SHCXX_name(name, Lname); + // splicer begin class.Group.method.getGroupIndex_bufferify + const std::string SHCXX_name(name, ShroudLenTrim(name, SHT_name_len)); axom::sidre::IndexType SHC_rv = SH_this->getGroupIndex(SHCXX_name); return SHC_rv; - // splicer end class.Group.method.get_group_index_bufferify + // splicer end class.Group.method.getGroupIndex_bufferify } const char *SIDRE_Group_get_group_name(const SIDRE_Group *self, @@ -1229,7 +1394,7 @@ const char *SIDRE_Group_get_group_name(const SIDRE_Group *self, { const axom::sidre::Group *SH_this = static_cast<const axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.get_group_name + // splicer begin class.Group.method.getGroupName const std::string &SHCXX_rv = SH_this->getGroupName(idx); // C_error_pattern if(!axom::sidre::nameIsValid(SHCXX_rv)) @@ -1239,34 +1404,61 @@ const char *SIDRE_Group_get_group_name(const SIDRE_Group *self, const char *SHC_rv = SHCXX_rv.c_str(); return SHC_rv; - // splicer end class.Group.method.get_group_name + // splicer end class.Group.method.getGroupName +} + +void SIDRE_Group_get_group_name_int32_t_bufferify(const SIDRE_Group *self, + int32_t idx, + char *SHC_rv, + int SHT_rv_len) +{ + const axom::sidre::Group *SH_this = + static_cast<const axom::sidre::Group *>(self->addr); + // splicer begin class.Group.method.getGroupName_int32_t_bufferify + const std::string &SHCXX_rv = SH_this->getGroupName(idx); + // C_error_pattern + if(!axom::sidre::nameIsValid(SHCXX_rv)) + { + std::memset(SHC_rv, ' ', SHT_rv_len); + return; + } + + if(SHCXX_rv.empty()) + { + ShroudStrCopy(SHC_rv, SHT_rv_len, nullptr, 0); + } + else + { + ShroudStrCopy(SHC_rv, SHT_rv_len, SHCXX_rv.data(), SHCXX_rv.size()); + } + // splicer end class.Group.method.getGroupName_int32_t_bufferify } -void SIDRE_Group_get_group_name_bufferify(const SIDRE_Group *self, - SIDRE_IndexType idx, - char *SHF_rv, - int NSHF_rv) +void SIDRE_Group_get_group_name_int64_t_bufferify(const SIDRE_Group *self, + int64_t idx, + char *SHC_rv, + int SHT_rv_len) { const axom::sidre::Group *SH_this = static_cast<const axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.get_group_name_bufferify + // splicer begin class.Group.method.getGroupName_int64_t_bufferify const std::string &SHCXX_rv = SH_this->getGroupName(idx); // C_error_pattern if(!axom::sidre::nameIsValid(SHCXX_rv)) { - std::memset(SHF_rv, ' ', NSHF_rv); + std::memset(SHC_rv, ' ', SHT_rv_len); return; } if(SHCXX_rv.empty()) { - ShroudStrCopy(SHF_rv, NSHF_rv, nullptr, 0); + ShroudStrCopy(SHC_rv, SHT_rv_len, nullptr, 0); } else { - ShroudStrCopy(SHF_rv, NSHF_rv, SHCXX_rv.data(), SHCXX_rv.size()); + ShroudStrCopy(SHC_rv, SHT_rv_len, SHCXX_rv.data(), SHCXX_rv.size()); } - // splicer end class.Group.method.get_group_name_bufferify + // splicer end class.Group.method.getGroupName_int64_t_bufferify } SIDRE_Group *SIDRE_Group_get_group_from_name(SIDRE_Group *self, @@ -1274,7 +1466,7 @@ SIDRE_Group *SIDRE_Group_get_group_from_name(SIDRE_Group *self, SIDRE_Group *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.get_group_from_name + // splicer begin class.Group.method.getGroup_from_name const std::string SHCXX_path(path); axom::sidre::Group *SHCXX_rv = SH_this->getGroup(SHCXX_path); // C_error_pattern @@ -1288,22 +1480,22 @@ SIDRE_Group *SIDRE_Group_get_group_from_name(SIDRE_Group *self, SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.get_group_from_name + // splicer end class.Group.method.getGroup_from_name } SIDRE_Group *SIDRE_Group_get_group_from_name_bufferify(SIDRE_Group *self, - const char *path, - int Lpath, + char *path, + int SHT_path_len, SIDRE_Group *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.get_group_from_name_bufferify - const std::string SHCXX_path(path, Lpath); + // splicer begin class.Group.method.getGroup_from_name_bufferify + const std::string SHCXX_path(path, ShroudLenTrim(path, SHT_path_len)); axom::sidre::Group *SHCXX_rv = SH_this->getGroup(SHCXX_path); SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.get_group_from_name_bufferify + // splicer end class.Group.method.getGroup_from_name_bufferify } SIDRE_Group *SIDRE_Group_get_group_from_index(SIDRE_Group *self, @@ -1311,7 +1503,7 @@ SIDRE_Group *SIDRE_Group_get_group_from_index(SIDRE_Group *self, SIDRE_Group *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.get_group_from_index + // splicer begin class.Group.method.getGroup_from_index axom::sidre::Group *SHCXX_rv = SH_this->getGroup(idx); // C_error_pattern if(SHCXX_rv == nullptr) @@ -1324,17 +1516,59 @@ SIDRE_Group *SIDRE_Group_get_group_from_index(SIDRE_Group *self, SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.get_group_from_index + // splicer end class.Group.method.getGroup_from_index +} + +SIDRE_Group *SIDRE_Group_get_group_from_index_int32_t(SIDRE_Group *self, + int32_t idx, + SIDRE_Group *SHC_rv) +{ + axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); + // splicer begin class.Group.method.getGroup_from_index_int32_t + axom::sidre::Group *SHCXX_rv = SH_this->getGroup(idx); + // C_error_pattern + if(SHCXX_rv == nullptr) + { + SHC_rv->addr = NULL; + SHC_rv->idtor = 0; + return NULL; + } + + SHC_rv->addr = SHCXX_rv; + SHC_rv->idtor = 0; + return SHC_rv; + // splicer end class.Group.method.getGroup_from_index_int32_t +} + +SIDRE_Group *SIDRE_Group_get_group_from_index_int64_t(SIDRE_Group *self, + int64_t idx, + SIDRE_Group *SHC_rv) +{ + axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); + // splicer begin class.Group.method.getGroup_from_index_int64_t + axom::sidre::Group *SHCXX_rv = SH_this->getGroup(idx); + // C_error_pattern + if(SHCXX_rv == nullptr) + { + SHC_rv->addr = NULL; + SHC_rv->idtor = 0; + return NULL; + } + + SHC_rv->addr = SHCXX_rv; + SHC_rv->idtor = 0; + return SHC_rv; + // splicer end class.Group.method.getGroup_from_index_int64_t } SIDRE_IndexType SIDRE_Group_get_first_valid_group_index(const SIDRE_Group *self) { const axom::sidre::Group *SH_this = static_cast<const axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.get_first_valid_group_index + // splicer begin class.Group.method.getFirstValidGroupIndex axom::sidre::IndexType SHC_rv = SH_this->getFirstValidGroupIndex(); return SHC_rv; - // splicer end class.Group.method.get_first_valid_group_index + // splicer end class.Group.method.getFirstValidGroupIndex } SIDRE_IndexType SIDRE_Group_get_next_valid_group_index(const SIDRE_Group *self, @@ -1342,10 +1576,10 @@ SIDRE_IndexType SIDRE_Group_get_next_valid_group_index(const SIDRE_Group *self, { const axom::sidre::Group *SH_this = static_cast<const axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.get_next_valid_group_index + // splicer begin class.Group.method.getNextValidGroupIndex axom::sidre::IndexType SHC_rv = SH_this->getNextValidGroupIndex(idx); return SHC_rv; - // splicer end class.Group.method.get_next_valid_group_index + // splicer end class.Group.method.getNextValidGroupIndex } SIDRE_Group *SIDRE_Group_create_group(SIDRE_Group *self, @@ -1353,7 +1587,7 @@ SIDRE_Group *SIDRE_Group_create_group(SIDRE_Group *self, SIDRE_Group *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.create_group + // splicer begin class.Group.method.createGroup const std::string SHCXX_path(path); axom::sidre::Group *SHCXX_rv = SH_this->createGroup(SHCXX_path); // C_error_pattern @@ -1367,50 +1601,50 @@ SIDRE_Group *SIDRE_Group_create_group(SIDRE_Group *self, SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.create_group + // splicer end class.Group.method.createGroup } SIDRE_Group *SIDRE_Group_create_group_bufferify(SIDRE_Group *self, - const char *path, - int Lpath, + char *path, + int SHT_path_len, SIDRE_Group *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.create_group_bufferify - const std::string SHCXX_path(path, Lpath); + // splicer begin class.Group.method.createGroup_bufferify + const std::string SHCXX_path(path, ShroudLenTrim(path, SHT_path_len)); axom::sidre::Group *SHCXX_rv = SH_this->createGroup(SHCXX_path); SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.create_group_bufferify + // splicer end class.Group.method.createGroup_bufferify } void SIDRE_Group_destroy_group_name(SIDRE_Group *self, const char *path) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.destroy_group_name + // splicer begin class.Group.method.destroyGroup_name const std::string SHCXX_path(path); SH_this->destroyGroup(SHCXX_path); - // splicer end class.Group.method.destroy_group_name + // splicer end class.Group.method.destroyGroup_name } void SIDRE_Group_destroy_group_name_bufferify(SIDRE_Group *self, - const char *path, - int Lpath) + char *path, + int SHT_path_len) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.destroy_group_name_bufferify - const std::string SHCXX_path(path, Lpath); + // splicer begin class.Group.method.destroyGroup_name_bufferify + const std::string SHCXX_path(path, ShroudLenTrim(path, SHT_path_len)); SH_this->destroyGroup(SHCXX_path); - // splicer end class.Group.method.destroy_group_name_bufferify + // splicer end class.Group.method.destroyGroup_name_bufferify } void SIDRE_Group_destroy_group_index(SIDRE_Group *self, SIDRE_IndexType idx) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.destroy_group_index + // splicer begin class.Group.method.destroyGroup_index SH_this->destroyGroup(idx); - // splicer end class.Group.method.destroy_group_index + // splicer end class.Group.method.destroyGroup_index } SIDRE_Group *SIDRE_Group_move_group(SIDRE_Group *self, @@ -1418,13 +1652,13 @@ SIDRE_Group *SIDRE_Group_move_group(SIDRE_Group *self, SIDRE_Group *SHC_rv) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.move_group + // splicer begin class.Group.method.moveGroup axom::sidre::Group *SHCXX_grp = static_cast<axom::sidre::Group *>(grp->addr); axom::sidre::Group *SHCXX_rv = SH_this->moveGroup(SHCXX_grp); SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.Group.method.move_group + // splicer end class.Group.method.moveGroup } void SIDRE_Group_print(const SIDRE_Group *self) @@ -1440,12 +1674,12 @@ bool SIDRE_Group_is_equivalent_to(const SIDRE_Group *self, SIDRE_Group *other) { const axom::sidre::Group *SH_this = static_cast<const axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.is_equivalent_to + // splicer begin class.Group.method.isEquivalentTo const axom::sidre::Group *SHCXX_other = static_cast<const axom::sidre::Group *>(other->addr); bool SHC_rv = SH_this->isEquivalentTo(SHCXX_other); return SHC_rv; - // splicer end class.Group.method.is_equivalent_to + // splicer end class.Group.method.isEquivalentTo } void SIDRE_Group_save(const SIDRE_Group *self, @@ -1462,16 +1696,18 @@ void SIDRE_Group_save(const SIDRE_Group *self, } void SIDRE_Group_save_bufferify(const SIDRE_Group *self, - const char *file_path, - int Lfile_path, - const char *protocol, - int Lprotocol) + char *file_path, + int SHT_file_path_len, + char *protocol, + int SHT_protocol_len) { const axom::sidre::Group *SH_this = static_cast<const axom::sidre::Group *>(self->addr); // splicer begin class.Group.method.save_bufferify - const std::string SHCXX_file_path(file_path, Lfile_path); - const std::string SHCXX_protocol(protocol, Lprotocol); + const std::string SHCXX_file_path(file_path, + ShroudLenTrim(file_path, SHT_file_path_len)); + const std::string SHCXX_protocol(protocol, + ShroudLenTrim(protocol, SHT_protocol_len)); SH_this->save(SHCXX_file_path, SHCXX_protocol); // splicer end class.Group.method.save_bufferify } @@ -1489,15 +1725,17 @@ void SIDRE_Group_load_0(SIDRE_Group *self, } void SIDRE_Group_load_0_bufferify(SIDRE_Group *self, - const char *file_path, - int Lfile_path, - const char *protocol, - int Lprotocol) + char *file_path, + int SHT_file_path_len, + char *protocol, + int SHT_protocol_len) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); // splicer begin class.Group.method.load_0_bufferify - const std::string SHCXX_file_path(file_path, Lfile_path); - const std::string SHCXX_protocol(protocol, Lprotocol); + const std::string SHCXX_file_path(file_path, + ShroudLenTrim(file_path, SHT_file_path_len)); + const std::string SHCXX_protocol(protocol, + ShroudLenTrim(protocol, SHT_protocol_len)); SH_this->load(SHCXX_file_path, SHCXX_protocol); // splicer end class.Group.method.load_0_bufferify } @@ -1516,16 +1754,18 @@ void SIDRE_Group_load_1(SIDRE_Group *self, } void SIDRE_Group_load_1_bufferify(SIDRE_Group *self, - const char *file_path, - int Lfile_path, - const char *protocol, - int Lprotocol, + char *file_path, + int SHT_file_path_len, + char *protocol, + int SHT_protocol_len, bool preserve_contents) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); // splicer begin class.Group.method.load_1_bufferify - const std::string SHCXX_file_path(file_path, Lfile_path); - const std::string SHCXX_protocol(protocol, Lprotocol); + const std::string SHCXX_file_path(file_path, + ShroudLenTrim(file_path, SHT_file_path_len)); + const std::string SHCXX_protocol(protocol, + ShroudLenTrim(protocol, SHT_protocol_len)); SH_this->load(SHCXX_file_path, SHCXX_protocol, preserve_contents); // splicer end class.Group.method.load_1_bufferify } @@ -1533,21 +1773,22 @@ void SIDRE_Group_load_1_bufferify(SIDRE_Group *self, void SIDRE_Group_load_external_data(SIDRE_Group *self, const char *file_path) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.load_external_data + // splicer begin class.Group.method.loadExternalData const std::string SHCXX_file_path(file_path); SH_this->loadExternalData(SHCXX_file_path); - // splicer end class.Group.method.load_external_data + // splicer end class.Group.method.loadExternalData } void SIDRE_Group_load_external_data_bufferify(SIDRE_Group *self, - const char *file_path, - int Lfile_path) + char *file_path, + int SHT_file_path_len) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); - // splicer begin class.Group.method.load_external_data_bufferify - const std::string SHCXX_file_path(file_path, Lfile_path); + // splicer begin class.Group.method.loadExternalData_bufferify + const std::string SHCXX_file_path(file_path, + ShroudLenTrim(file_path, SHT_file_path_len)); SH_this->loadExternalData(SHCXX_file_path); - // splicer end class.Group.method.load_external_data_bufferify + // splicer end class.Group.method.loadExternalData_bufferify } bool SIDRE_Group_rename(SIDRE_Group *self, const char *new_name) @@ -1561,12 +1802,13 @@ bool SIDRE_Group_rename(SIDRE_Group *self, const char *new_name) } bool SIDRE_Group_rename_bufferify(SIDRE_Group *self, - const char *new_name, - int Lnew_name) + char *new_name, + int SHT_new_name_len) { axom::sidre::Group *SH_this = static_cast<axom::sidre::Group *>(self->addr); // splicer begin class.Group.method.rename_bufferify - const std::string SHCXX_new_name(new_name, Lnew_name); + const std::string SHCXX_new_name(new_name, + ShroudLenTrim(new_name, SHT_new_name_len)); bool SHC_rv = SH_this->rename(SHCXX_new_name); return SHC_rv; // splicer end class.Group.method.rename_bufferify diff --git a/src/axom/sidre/interface/c_fortran/wrapGroup.h b/src/axom/sidre/interface/c_fortran/wrapGroup.h index f246e1a132..63e5024e2c 100644 --- a/src/axom/sidre/interface/c_fortran/wrapGroup.h +++ b/src/axom/sidre/interface/c_fortran/wrapGroup.h @@ -1,5 +1,5 @@ // wrapGroup.h -// This file is generated by Shroud 0.12.2. Do not edit. +// This file is generated by Shroud 0.13.0. Do not edit. // // Copyright (c) 2017-2024, Lawrence Livermore National Security, LLC and // other Axom Project Developers. See the top-level LICENSE file for details. @@ -14,15 +14,18 @@ #ifndef WRAPGROUP_H #define WRAPGROUP_H +#include "wrapSidre.h" #include "axom/sidre/interface/SidreTypes.h" -#include "typesSidre.h" #ifdef __cplusplus #include <cstddef> + #include <cstdint> #include "axom/sidre/core/SidreTypes.hpp" #else - #include <stdbool.h> #include <stddef.h> + #include <stdbool.h> + #include <stdint.h> #endif +#include "typesSidre.h" // splicer begin class.Group.CXX_declarations // splicer end class.Group.CXX_declarations @@ -34,427 +37,488 @@ extern "C" { // splicer begin class.Group.C_declarations // splicer end class.Group.C_declarations -SIDRE_IndexType SIDRE_Group_get_index(SIDRE_Group* self); +SIDRE_IndexType SIDRE_Group_get_index(SIDRE_Group *self); -const char* SIDRE_Group_get_name(const SIDRE_Group* self); +const char *SIDRE_Group_get_name(const SIDRE_Group *self); -void SIDRE_Group_get_name_bufferify(const SIDRE_Group* self, - char* SHF_rv, - int NSHF_rv); +void SIDRE_Group_get_name_bufferify(const SIDRE_Group *self, + char *SHC_rv, + int SHT_rv_len); -void SIDRE_Group_get_path_bufferify(const SIDRE_Group* self, - char* SHF_rv, - int NSHF_rv); +void SIDRE_Group_get_path_bufferify(const SIDRE_Group *self, + char *SHC_rv, + int SHT_rv_len); -void SIDRE_Group_get_path_name_bufferify(const SIDRE_Group* self, - char* SHF_rv, - int NSHF_rv); +void SIDRE_Group_get_path_name_bufferify(const SIDRE_Group *self, + char *SHC_rv, + int SHT_rv_len); -SIDRE_Group* SIDRE_Group_get_parent(const SIDRE_Group* self, SIDRE_Group* SHC_rv); +SIDRE_Group *SIDRE_Group_get_parent(const SIDRE_Group *self, SIDRE_Group *SHC_rv); -size_t SIDRE_Group_get_num_groups(const SIDRE_Group* self); +size_t SIDRE_Group_get_num_groups(const SIDRE_Group *self); -size_t SIDRE_Group_get_num_views(const SIDRE_Group* self); +size_t SIDRE_Group_get_num_views(const SIDRE_Group *self); -SIDRE_DataStore* SIDRE_Group_get_data_store(const SIDRE_Group* self, - SIDRE_DataStore* SHC_rv); +SIDRE_DataStore *SIDRE_Group_get_data_store(const SIDRE_Group *self, + SIDRE_DataStore *SHC_rv); -bool SIDRE_Group_has_view(const SIDRE_Group* self, const char* path); +bool SIDRE_Group_has_view(const SIDRE_Group *self, const char *path); -bool SIDRE_Group_has_view_bufferify(const SIDRE_Group* self, - const char* path, - int Lpath); +bool SIDRE_Group_has_view_bufferify(const SIDRE_Group *self, + char *path, + int SHT_path_len); -bool SIDRE_Group_has_child_view(const SIDRE_Group* self, const char* name); +bool SIDRE_Group_has_child_view(const SIDRE_Group *self, const char *name); -bool SIDRE_Group_has_child_view_bufferify(const SIDRE_Group* self, - const char* name, - int Lname); +bool SIDRE_Group_has_child_view_bufferify(const SIDRE_Group *self, + char *name, + int SHT_name_len); -SIDRE_IndexType SIDRE_Group_get_view_index(const SIDRE_Group* self, - const char* name); +SIDRE_IndexType SIDRE_Group_get_view_index(const SIDRE_Group *self, + const char *name); -SIDRE_IndexType SIDRE_Group_get_view_index_bufferify(const SIDRE_Group* self, - const char* name, - int Lname); +SIDRE_IndexType SIDRE_Group_get_view_index_bufferify(const SIDRE_Group *self, + char *name, + int SHT_name_len); -const char* SIDRE_Group_get_view_name(const SIDRE_Group* self, +const char *SIDRE_Group_get_view_name(const SIDRE_Group *self, SIDRE_IndexType idx); -void SIDRE_Group_get_view_name_bufferify(const SIDRE_Group* self, - SIDRE_IndexType idx, - char* SHF_rv, - int NSHF_rv); +void SIDRE_Group_get_view_name_int32_t_bufferify(const SIDRE_Group *self, + int32_t idx, + char *SHC_rv, + int SHT_rv_len); + +void SIDRE_Group_get_view_name_int64_t_bufferify(const SIDRE_Group *self, + int64_t idx, + char *SHC_rv, + int SHT_rv_len); -SIDRE_View* SIDRE_Group_get_view_from_name(SIDRE_Group* self, - const char* path, - SIDRE_View* SHC_rv); +SIDRE_View *SIDRE_Group_get_view_from_name(SIDRE_Group *self, + const char *path, + SIDRE_View *SHC_rv); -SIDRE_View* SIDRE_Group_get_view_from_name_bufferify(SIDRE_Group* self, - const char* path, - int Lpath, - SIDRE_View* SHC_rv); +SIDRE_View *SIDRE_Group_get_view_from_name_bufferify(SIDRE_Group *self, + char *path, + int SHT_path_len, + SIDRE_View *SHC_rv); -SIDRE_View* SIDRE_Group_get_view_from_index(SIDRE_Group* self, +SIDRE_View *SIDRE_Group_get_view_from_index(SIDRE_Group *self, const SIDRE_IndexType idx, - SIDRE_View* SHC_rv); + SIDRE_View *SHC_rv); -SIDRE_IndexType SIDRE_Group_get_first_valid_view_index(const SIDRE_Group* self); +SIDRE_View *SIDRE_Group_get_view_from_index_int32_t(SIDRE_Group *self, + int32_t idx, + SIDRE_View *SHC_rv); -SIDRE_IndexType SIDRE_Group_get_next_valid_view_index(const SIDRE_Group* self, +SIDRE_View *SIDRE_Group_get_view_from_index_int64_t(SIDRE_Group *self, + int64_t idx, + SIDRE_View *SHC_rv); + +SIDRE_IndexType SIDRE_Group_get_first_valid_view_index(const SIDRE_Group *self); + +SIDRE_IndexType SIDRE_Group_get_next_valid_view_index(const SIDRE_Group *self, SIDRE_IndexType idx); -SIDRE_View* SIDRE_Group_create_view_empty(SIDRE_Group* self, - const char* path, - SIDRE_View* SHC_rv); +SIDRE_View *SIDRE_Group_create_view_empty(SIDRE_Group *self, + const char *path, + SIDRE_View *SHC_rv); -SIDRE_View* SIDRE_Group_create_view_empty_bufferify(SIDRE_Group* self, - const char* path, - int Lpath, - SIDRE_View* SHC_rv); +SIDRE_View *SIDRE_Group_create_view_empty_bufferify(SIDRE_Group *self, + char *path, + int SHT_path_len, + SIDRE_View *SHC_rv); -SIDRE_View* SIDRE_Group_create_view_from_type(SIDRE_Group* self, - const char* path, +SIDRE_View *SIDRE_Group_create_view_from_type(SIDRE_Group *self, + const char *path, SIDRE_TypeID type, SIDRE_IndexType num_elems, - SIDRE_View* SHC_rv); + SIDRE_View *SHC_rv); -SIDRE_View* SIDRE_Group_create_view_from_type_bufferify(SIDRE_Group* self, - const char* path, - int Lpath, - SIDRE_TypeID type, - SIDRE_IndexType num_elems, - SIDRE_View* SHC_rv); +SIDRE_View *SIDRE_Group_create_view_from_type_int32_t_bufferify( + SIDRE_Group *self, + char *path, + int SHT_path_len, + SIDRE_TypeID type, + int32_t num_elems, + SIDRE_View *SHC_rv); -SIDRE_View* SIDRE_Group_create_view_with_shape_base(SIDRE_Group* self, - const char* path, +SIDRE_View *SIDRE_Group_create_view_from_type_int64_t_bufferify( + SIDRE_Group *self, + char *path, + int SHT_path_len, + SIDRE_TypeID type, + int64_t num_elems, + SIDRE_View *SHC_rv); + +SIDRE_View *SIDRE_Group_create_view_with_shape_base(SIDRE_Group *self, + const char *path, SIDRE_TypeID type, int ndims, - const SIDRE_IndexType* shape, - SIDRE_View* SHC_rv); + const SIDRE_IndexType *shape, + SIDRE_View *SHC_rv); -SIDRE_View* SIDRE_Group_create_view_with_shape_base_bufferify( - SIDRE_Group* self, - const char* path, - int Lpath, +SIDRE_View *SIDRE_Group_create_view_with_shape_base_bufferify( + SIDRE_Group *self, + char *path, + int SHT_path_len, SIDRE_TypeID type, int ndims, - const SIDRE_IndexType* shape, - SIDRE_View* SHC_rv); - -SIDRE_View* SIDRE_Group_create_view_into_buffer(SIDRE_Group* self, - const char* path, - SIDRE_Buffer* buff, - SIDRE_View* SHC_rv); - -SIDRE_View* SIDRE_Group_create_view_into_buffer_bufferify(SIDRE_Group* self, - const char* path, - int Lpath, - SIDRE_Buffer* buff, - SIDRE_View* SHC_rv); - -SIDRE_View* SIDRE_Group_create_view_from_type_and_buffer(SIDRE_Group* self, - const char* path, + const SIDRE_IndexType *shape, + SIDRE_View *SHC_rv); + +SIDRE_View *SIDRE_Group_create_view_into_buffer(SIDRE_Group *self, + const char *path, + SIDRE_Buffer *buff, + SIDRE_View *SHC_rv); + +SIDRE_View *SIDRE_Group_create_view_into_buffer_bufferify(SIDRE_Group *self, + char *path, + int SHT_path_len, + SIDRE_Buffer *buff, + SIDRE_View *SHC_rv); + +SIDRE_View *SIDRE_Group_create_view_from_type_and_buffer(SIDRE_Group *self, + const char *path, SIDRE_TypeID type, SIDRE_IndexType num_elems, - SIDRE_Buffer* buff, - SIDRE_View* SHC_rv); + SIDRE_Buffer *buff, + SIDRE_View *SHC_rv); -SIDRE_View* SIDRE_Group_create_view_from_type_and_buffer_bufferify( - SIDRE_Group* self, - const char* path, - int Lpath, +SIDRE_View *SIDRE_Group_create_view_from_type_and_buffer_int32_t_bufferify( + SIDRE_Group *self, + char *path, + int SHT_path_len, + SIDRE_TypeID type, + int32_t num_elems, + SIDRE_Buffer *buff, + SIDRE_View *SHC_rv); + +SIDRE_View *SIDRE_Group_create_view_from_type_and_buffer_int64_t_bufferify( + SIDRE_Group *self, + char *path, + int SHT_path_len, SIDRE_TypeID type, - SIDRE_IndexType num_elems, - SIDRE_Buffer* buff, - SIDRE_View* SHC_rv); + int64_t num_elems, + SIDRE_Buffer *buff, + SIDRE_View *SHC_rv); -SIDRE_View* SIDRE_Group_create_view_with_shape_and_buffer(SIDRE_Group* self, - const char* path, +SIDRE_View *SIDRE_Group_create_view_with_shape_and_buffer(SIDRE_Group *self, + const char *path, SIDRE_TypeID type, int ndims, - const SIDRE_IndexType* shape, - SIDRE_Buffer* buff, - SIDRE_View* SHC_rv); - -SIDRE_View* SIDRE_Group_create_view_with_shape_and_buffer_bufferify( - SIDRE_Group* self, - const char* path, - int Lpath, + const SIDRE_IndexType *shape, + SIDRE_Buffer *buff, + SIDRE_View *SHC_rv); + +SIDRE_View *SIDRE_Group_create_view_with_shape_and_buffer_bufferify( + SIDRE_Group *self, + char *path, + int SHT_path_len, SIDRE_TypeID type, int ndims, - const SIDRE_IndexType* shape, - SIDRE_Buffer* buff, - SIDRE_View* SHC_rv); - -SIDRE_View* SIDRE_Group_create_view_external(SIDRE_Group* self, - const char* path, - void* external_ptr, - SIDRE_View* SHC_rv); - -SIDRE_View* SIDRE_Group_create_view_external_bufferify(SIDRE_Group* self, - const char* path, - int Lpath, - void* external_ptr, - SIDRE_View* SHC_rv); - -SIDRE_View* SIDRE_Group_create_view_from_type_external(SIDRE_Group* self, - const char* path, + const SIDRE_IndexType *shape, + SIDRE_Buffer *buff, + SIDRE_View *SHC_rv); + +SIDRE_View *SIDRE_Group_create_view_external(SIDRE_Group *self, + const char *path, + void *external_ptr, + SIDRE_View *SHC_rv); + +SIDRE_View *SIDRE_Group_create_view_external_bufferify(SIDRE_Group *self, + char *path, + int SHT_path_len, + void *external_ptr, + SIDRE_View *SHC_rv); + +SIDRE_View *SIDRE_Group_create_view_from_type_external(SIDRE_Group *self, + const char *path, SIDRE_TypeID type, SIDRE_IndexType num_elems, - void* external_ptr, - SIDRE_View* SHC_rv); + void *external_ptr, + SIDRE_View *SHC_rv); -SIDRE_View* SIDRE_Group_create_view_from_type_external_bufferify( - SIDRE_Group* self, - const char* path, - int Lpath, +SIDRE_View *SIDRE_Group_create_view_from_type_external_int32_t_bufferify( + SIDRE_Group *self, + char *path, + int SHT_path_len, SIDRE_TypeID type, - SIDRE_IndexType num_elems, - void* external_ptr, - SIDRE_View* SHC_rv); + int32_t num_elems, + void *external_ptr, + SIDRE_View *SHC_rv); + +SIDRE_View *SIDRE_Group_create_view_from_type_external_int64_t_bufferify( + SIDRE_Group *self, + char *path, + int SHT_path_len, + SIDRE_TypeID type, + int64_t num_elems, + void *external_ptr, + SIDRE_View *SHC_rv); -SIDRE_View* SIDRE_Group_create_view_with_shape_external(SIDRE_Group* self, - const char* path, +SIDRE_View *SIDRE_Group_create_view_with_shape_external(SIDRE_Group *self, + const char *path, SIDRE_TypeID type, int ndims, - const SIDRE_IndexType* shape, - void* external_ptr, - SIDRE_View* SHC_rv); - -SIDRE_View* SIDRE_Group_create_view_with_shape_external_bufferify( - SIDRE_Group* self, - const char* path, - int Lpath, + const SIDRE_IndexType *shape, + void *external_ptr, + SIDRE_View *SHC_rv); + +SIDRE_View *SIDRE_Group_create_view_with_shape_external_bufferify( + SIDRE_Group *self, + char *path, + int SHT_path_len, SIDRE_TypeID type, int ndims, - const SIDRE_IndexType* shape, - void* external_ptr, - SIDRE_View* SHC_rv); + const SIDRE_IndexType *shape, + void *external_ptr, + SIDRE_View *SHC_rv); -SIDRE_View* SIDRE_Group_create_view_and_allocate_nelems(SIDRE_Group* self, - const char* path, +SIDRE_View *SIDRE_Group_create_view_and_allocate_nelems(SIDRE_Group *self, + const char *path, SIDRE_TypeID type, SIDRE_IndexType num_elems, - SIDRE_View* SHC_rv); + SIDRE_View *SHC_rv); -SIDRE_View* SIDRE_Group_create_view_and_allocate_nelems_bufferify( - SIDRE_Group* self, - const char* path, - int Lpath, +SIDRE_View *SIDRE_Group_create_view_and_allocate_nelems_int32_t_bufferify( + SIDRE_Group *self, + char *path, + int SHT_path_len, SIDRE_TypeID type, - SIDRE_IndexType num_elems, - SIDRE_View* SHC_rv); + int32_t num_elems, + SIDRE_View *SHC_rv); -SIDRE_View* SIDRE_Group_create_view_with_shape_and_allocate( - SIDRE_Group* self, - const char* path, +SIDRE_View *SIDRE_Group_create_view_and_allocate_nelems_int64_t_bufferify( + SIDRE_Group *self, + char *path, + int SHT_path_len, + SIDRE_TypeID type, + int64_t num_elems, + SIDRE_View *SHC_rv); + +SIDRE_View *SIDRE_Group_create_view_with_shape_and_allocate( + SIDRE_Group *self, + const char *path, SIDRE_TypeID type, int ndims, - const SIDRE_IndexType* shape, - SIDRE_View* SHC_rv); + const SIDRE_IndexType *shape, + SIDRE_View *SHC_rv); -SIDRE_View* SIDRE_Group_create_view_with_shape_and_allocate_bufferify( - SIDRE_Group* self, - const char* path, - int Lpath, +SIDRE_View *SIDRE_Group_create_view_with_shape_and_allocate_bufferify( + SIDRE_Group *self, + char *path, + int SHT_path_len, SIDRE_TypeID type, int ndims, - const SIDRE_IndexType* shape, - SIDRE_View* SHC_rv); + const SIDRE_IndexType *shape, + SIDRE_View *SHC_rv); -SIDRE_View* SIDRE_Group_create_view_scalar_int(SIDRE_Group* self, - const char* path, +SIDRE_View *SIDRE_Group_create_view_scalar_int(SIDRE_Group *self, + const char *path, int value, - SIDRE_View* SHC_rv); + SIDRE_View *SHC_rv); -SIDRE_View* SIDRE_Group_create_view_scalar_bufferify_int(SIDRE_Group* self, - const char* path, - int Lpath, +SIDRE_View *SIDRE_Group_create_view_scalar_bufferify_int(SIDRE_Group *self, + char *path, + int SHT_path_len, int value, - SIDRE_View* SHC_rv); + SIDRE_View *SHC_rv); -SIDRE_View* SIDRE_Group_create_view_scalar_long(SIDRE_Group* self, - const char* path, +SIDRE_View *SIDRE_Group_create_view_scalar_long(SIDRE_Group *self, + const char *path, long value, - SIDRE_View* SHC_rv); + SIDRE_View *SHC_rv); -SIDRE_View* SIDRE_Group_create_view_scalar_bufferify_long(SIDRE_Group* self, - const char* path, - int Lpath, +SIDRE_View *SIDRE_Group_create_view_scalar_bufferify_long(SIDRE_Group *self, + char *path, + int SHT_path_len, long value, - SIDRE_View* SHC_rv); + SIDRE_View *SHC_rv); -SIDRE_View* SIDRE_Group_create_view_scalar_float(SIDRE_Group* self, - const char* path, +SIDRE_View *SIDRE_Group_create_view_scalar_float(SIDRE_Group *self, + const char *path, float value, - SIDRE_View* SHC_rv); + SIDRE_View *SHC_rv); -SIDRE_View* SIDRE_Group_create_view_scalar_bufferify_float(SIDRE_Group* self, - const char* path, - int Lpath, +SIDRE_View *SIDRE_Group_create_view_scalar_bufferify_float(SIDRE_Group *self, + char *path, + int SHT_path_len, float value, - SIDRE_View* SHC_rv); + SIDRE_View *SHC_rv); -SIDRE_View* SIDRE_Group_create_view_scalar_double(SIDRE_Group* self, - const char* path, +SIDRE_View *SIDRE_Group_create_view_scalar_double(SIDRE_Group *self, + const char *path, double value, - SIDRE_View* SHC_rv); + SIDRE_View *SHC_rv); -SIDRE_View* SIDRE_Group_create_view_scalar_bufferify_double(SIDRE_Group* self, - const char* path, - int Lpath, +SIDRE_View *SIDRE_Group_create_view_scalar_bufferify_double(SIDRE_Group *self, + char *path, + int SHT_path_len, double value, - SIDRE_View* SHC_rv); + SIDRE_View *SHC_rv); -SIDRE_View* SIDRE_Group_create_view_string(SIDRE_Group* self, - const char* path, - const char* value, - SIDRE_View* SHC_rv); +SIDRE_View *SIDRE_Group_create_view_string(SIDRE_Group *self, + const char *path, + const char *value, + SIDRE_View *SHC_rv); -SIDRE_View* SIDRE_Group_create_view_string_bufferify(SIDRE_Group* self, - const char* path, - int Lpath, - const char* value, - int Lvalue, - SIDRE_View* SHC_rv); +SIDRE_View *SIDRE_Group_create_view_string_bufferify(SIDRE_Group *self, + char *path, + int SHT_path_len, + char *value, + int SHT_value_len, + SIDRE_View *SHC_rv); -void SIDRE_Group_destroy_view(SIDRE_Group* self, const char* path); +void SIDRE_Group_destroy_view(SIDRE_Group *self, const char *path); -void SIDRE_Group_destroy_view_bufferify(SIDRE_Group* self, - const char* path, - int Lpath); +void SIDRE_Group_destroy_view_bufferify(SIDRE_Group *self, + char *path, + int SHT_path_len); -void SIDRE_Group_destroy_view_and_data_name(SIDRE_Group* self, const char* path); +void SIDRE_Group_destroy_view_and_data_name(SIDRE_Group *self, const char *path); -void SIDRE_Group_destroy_view_and_data_name_bufferify(SIDRE_Group* self, - const char* path, - int Lpath); +void SIDRE_Group_destroy_view_and_data_name_bufferify(SIDRE_Group *self, + char *path, + int SHT_path_len); -void SIDRE_Group_destroy_view_and_data_index(SIDRE_Group* self, +void SIDRE_Group_destroy_view_and_data_index(SIDRE_Group *self, SIDRE_IndexType idx); -SIDRE_View* SIDRE_Group_move_view(SIDRE_Group* self, - SIDRE_View* view, - SIDRE_View* SHC_rv); +SIDRE_View *SIDRE_Group_move_view(SIDRE_Group *self, + SIDRE_View *view, + SIDRE_View *SHC_rv); -SIDRE_View* SIDRE_Group_copy_view(SIDRE_Group* self, - SIDRE_View* view, - SIDRE_View* SHC_rv); +SIDRE_View *SIDRE_Group_copy_view(SIDRE_Group *self, + SIDRE_View *view, + SIDRE_View *SHC_rv); -bool SIDRE_Group_has_group(SIDRE_Group* self, const char* path); +bool SIDRE_Group_has_group(SIDRE_Group *self, const char *path); -bool SIDRE_Group_has_group_bufferify(SIDRE_Group* self, - const char* path, - int Lpath); +bool SIDRE_Group_has_group_bufferify(SIDRE_Group *self, + char *path, + int SHT_path_len); -bool SIDRE_Group_has_child_group(SIDRE_Group* self, const char* name); +bool SIDRE_Group_has_child_group(SIDRE_Group *self, const char *name); -bool SIDRE_Group_has_child_group_bufferify(SIDRE_Group* self, - const char* name, - int Lname); +bool SIDRE_Group_has_child_group_bufferify(SIDRE_Group *self, + char *name, + int SHT_name_len); -SIDRE_IndexType SIDRE_Group_get_group_index(const SIDRE_Group* self, - const char* name); +SIDRE_IndexType SIDRE_Group_get_group_index(const SIDRE_Group *self, + const char *name); -SIDRE_IndexType SIDRE_Group_get_group_index_bufferify(const SIDRE_Group* self, - const char* name, - int Lname); +SIDRE_IndexType SIDRE_Group_get_group_index_bufferify(const SIDRE_Group *self, + char *name, + int SHT_name_len); -const char* SIDRE_Group_get_group_name(const SIDRE_Group* self, +const char *SIDRE_Group_get_group_name(const SIDRE_Group *self, SIDRE_IndexType idx); -void SIDRE_Group_get_group_name_bufferify(const SIDRE_Group* self, - SIDRE_IndexType idx, - char* SHF_rv, - int NSHF_rv); +void SIDRE_Group_get_group_name_int32_t_bufferify(const SIDRE_Group *self, + int32_t idx, + char *SHC_rv, + int SHT_rv_len); + +void SIDRE_Group_get_group_name_int64_t_bufferify(const SIDRE_Group *self, + int64_t idx, + char *SHC_rv, + int SHT_rv_len); -SIDRE_Group* SIDRE_Group_get_group_from_name(SIDRE_Group* self, - const char* path, - SIDRE_Group* SHC_rv); +SIDRE_Group *SIDRE_Group_get_group_from_name(SIDRE_Group *self, + const char *path, + SIDRE_Group *SHC_rv); -SIDRE_Group* SIDRE_Group_get_group_from_name_bufferify(SIDRE_Group* self, - const char* path, - int Lpath, - SIDRE_Group* SHC_rv); +SIDRE_Group *SIDRE_Group_get_group_from_name_bufferify(SIDRE_Group *self, + char *path, + int SHT_path_len, + SIDRE_Group *SHC_rv); -SIDRE_Group* SIDRE_Group_get_group_from_index(SIDRE_Group* self, +SIDRE_Group *SIDRE_Group_get_group_from_index(SIDRE_Group *self, SIDRE_IndexType idx, - SIDRE_Group* SHC_rv); + SIDRE_Group *SHC_rv); + +SIDRE_Group *SIDRE_Group_get_group_from_index_int32_t(SIDRE_Group *self, + int32_t idx, + SIDRE_Group *SHC_rv); + +SIDRE_Group *SIDRE_Group_get_group_from_index_int64_t(SIDRE_Group *self, + int64_t idx, + SIDRE_Group *SHC_rv); -SIDRE_IndexType SIDRE_Group_get_first_valid_group_index(const SIDRE_Group* self); +SIDRE_IndexType SIDRE_Group_get_first_valid_group_index(const SIDRE_Group *self); -SIDRE_IndexType SIDRE_Group_get_next_valid_group_index(const SIDRE_Group* self, +SIDRE_IndexType SIDRE_Group_get_next_valid_group_index(const SIDRE_Group *self, SIDRE_IndexType idx); -SIDRE_Group* SIDRE_Group_create_group(SIDRE_Group* self, - const char* path, - SIDRE_Group* SHC_rv); +SIDRE_Group *SIDRE_Group_create_group(SIDRE_Group *self, + const char *path, + SIDRE_Group *SHC_rv); -SIDRE_Group* SIDRE_Group_create_group_bufferify(SIDRE_Group* self, - const char* path, - int Lpath, - SIDRE_Group* SHC_rv); +SIDRE_Group *SIDRE_Group_create_group_bufferify(SIDRE_Group *self, + char *path, + int SHT_path_len, + SIDRE_Group *SHC_rv); -void SIDRE_Group_destroy_group_name(SIDRE_Group* self, const char* path); +void SIDRE_Group_destroy_group_name(SIDRE_Group *self, const char *path); -void SIDRE_Group_destroy_group_name_bufferify(SIDRE_Group* self, - const char* path, - int Lpath); +void SIDRE_Group_destroy_group_name_bufferify(SIDRE_Group *self, + char *path, + int SHT_path_len); -void SIDRE_Group_destroy_group_index(SIDRE_Group* self, SIDRE_IndexType idx); +void SIDRE_Group_destroy_group_index(SIDRE_Group *self, SIDRE_IndexType idx); -SIDRE_Group* SIDRE_Group_move_group(SIDRE_Group* self, - SIDRE_Group* grp, - SIDRE_Group* SHC_rv); +SIDRE_Group *SIDRE_Group_move_group(SIDRE_Group *self, + SIDRE_Group *grp, + SIDRE_Group *SHC_rv); -void SIDRE_Group_print(const SIDRE_Group* self); +void SIDRE_Group_print(const SIDRE_Group *self); -bool SIDRE_Group_is_equivalent_to(const SIDRE_Group* self, SIDRE_Group* other); +bool SIDRE_Group_is_equivalent_to(const SIDRE_Group *self, SIDRE_Group *other); -void SIDRE_Group_save(const SIDRE_Group* self, - const char* file_path, - const char* protocol); +void SIDRE_Group_save(const SIDRE_Group *self, + const char *file_path, + const char *protocol); -void SIDRE_Group_save_bufferify(const SIDRE_Group* self, - const char* file_path, - int Lfile_path, - const char* protocol, - int Lprotocol); +void SIDRE_Group_save_bufferify(const SIDRE_Group *self, + char *file_path, + int SHT_file_path_len, + char *protocol, + int SHT_protocol_len); -void SIDRE_Group_load_0(SIDRE_Group* self, - const char* file_path, - const char* protocol); +void SIDRE_Group_load_0(SIDRE_Group *self, + const char *file_path, + const char *protocol); -void SIDRE_Group_load_0_bufferify(SIDRE_Group* self, - const char* file_path, - int Lfile_path, - const char* protocol, - int Lprotocol); +void SIDRE_Group_load_0_bufferify(SIDRE_Group *self, + char *file_path, + int SHT_file_path_len, + char *protocol, + int SHT_protocol_len); -void SIDRE_Group_load_1(SIDRE_Group* self, - const char* file_path, - const char* protocol, +void SIDRE_Group_load_1(SIDRE_Group *self, + const char *file_path, + const char *protocol, bool preserve_contents); -void SIDRE_Group_load_1_bufferify(SIDRE_Group* self, - const char* file_path, - int Lfile_path, - const char* protocol, - int Lprotocol, +void SIDRE_Group_load_1_bufferify(SIDRE_Group *self, + char *file_path, + int SHT_file_path_len, + char *protocol, + int SHT_protocol_len, bool preserve_contents); -void SIDRE_Group_load_external_data(SIDRE_Group* self, const char* file_path); +void SIDRE_Group_load_external_data(SIDRE_Group *self, const char *file_path); -void SIDRE_Group_load_external_data_bufferify(SIDRE_Group* self, - const char* file_path, - int Lfile_path); +void SIDRE_Group_load_external_data_bufferify(SIDRE_Group *self, + char *file_path, + int SHT_file_path_len); -bool SIDRE_Group_rename(SIDRE_Group* self, const char* new_name); +bool SIDRE_Group_rename(SIDRE_Group *self, const char *new_name); -bool SIDRE_Group_rename_bufferify(SIDRE_Group* self, - const char* new_name, - int Lnew_name); +bool SIDRE_Group_rename_bufferify(SIDRE_Group *self, + char *new_name, + int SHT_new_name_len); #ifdef __cplusplus } diff --git a/src/axom/sidre/interface/c_fortran/wrapSidre.cpp b/src/axom/sidre/interface/c_fortran/wrapSidre.cpp index 3bbedda102..a1d1ba5910 100644 --- a/src/axom/sidre/interface/c_fortran/wrapSidre.cpp +++ b/src/axom/sidre/interface/c_fortran/wrapSidre.cpp @@ -1,16 +1,13 @@ // wrapSidre.cpp -// This file is generated by Shroud 0.12.2. Do not edit. +// This file is generated by Shroud 0.13.0. Do not edit. // // Copyright (c) 2017-2024, Lawrence Livermore National Security, LLC and // other Axom Project Developers. See the top-level LICENSE file for details. // // SPDX-License-Identifier: (BSD-3-Clause) -#include "wrapSidre.h" -#include <cstdlib> -#include <string> -#include "typesSidre.h" -#include "axom/sidre/core/DataStore.hpp" +#include <string> +#include "wrapSidre.h" // splicer begin CXX_definitions // splicer end CXX_definitions @@ -38,37 +35,9 @@ void sidre_c_loc_(void* addr, void** out) { *out = addr; } bool SIDRE_name_is_valid(const char* name) { - // splicer begin function.name_is_valid + // splicer begin function.nameIsValid return name != NULL; - // splicer end function.name_is_valid -} - -// Release library allocated memory. -void SIDRE_SHROUD_memory_destructor(SIDRE_SHROUD_capsule_data* cap) -{ - void* ptr = cap->addr; - switch(cap->idtor) - { - case 0: // --none-- - { - // Nothing to delete - break; - } - case 1: // axom::sidre::DataStore - { - axom::sidre::DataStore* cxx_ptr = - reinterpret_cast<axom::sidre::DataStore*>(ptr); - delete cxx_ptr; - break; - } - default: - { - // Unexpected case in destructor - break; - } - } - cap->addr = nullptr; - cap->idtor = 0; // avoid deleting again + // splicer end function.nameIsValid } } // extern "C" diff --git a/src/axom/sidre/interface/c_fortran/wrapSidre.h b/src/axom/sidre/interface/c_fortran/wrapSidre.h index 062ee46ab0..005c67323b 100644 --- a/src/axom/sidre/interface/c_fortran/wrapSidre.h +++ b/src/axom/sidre/interface/c_fortran/wrapSidre.h @@ -1,5 +1,5 @@ // wrapSidre.h -// This file is generated by Shroud 0.12.2. Do not edit. +// This file is generated by Shroud 0.13.0. Do not edit. // // Copyright (c) 2017-2024, Lawrence Livermore National Security, LLC and // other Axom Project Developers. See the top-level LICENSE file for details. @@ -14,10 +14,10 @@ #ifndef WRAPSIDRE_H #define WRAPSIDRE_H -#include "typesSidre.h" #ifndef __cplusplus #include <stdbool.h> #endif +#include "typesSidre.h" // splicer begin CXX_declarations // splicer end CXX_declarations @@ -26,7 +26,31 @@ extern "C" { #endif +// typedef axom::sidre::IndexType +// splicer begin typedef.IndexType +// See SidreTypes.h +// splicer end typedef.IndexType + +// typedef axom::sidre::TypeID +// splicer begin typedef.TypeID +typedef short SIDRE_TypeID; +// splicer end typedef.TypeID + +// typedef axom::sidre::TypeIDint +// splicer begin typedef.TypeIDint +typedef int SIDRE_TypeIDint; +// splicer end typedef.TypeIDint + // splicer begin C_declarations +#if 0 + #ifndef __cplusplus + #if defined(USE_64BIT_INDEXTYPE) +typedef int64_t IndexType; + #else +typedef int32_t IndexType; + #endif + #endif +#endif // splicer end C_declarations bool SIDRE_name_is_valid(const char* name); diff --git a/src/axom/sidre/interface/c_fortran/wrapView.cpp b/src/axom/sidre/interface/c_fortran/wrapView.cpp index 86d6f368a2..fe8e62dee9 100644 --- a/src/axom/sidre/interface/c_fortran/wrapView.cpp +++ b/src/axom/sidre/interface/c_fortran/wrapView.cpp @@ -1,22 +1,41 @@ // wrapView.cpp -// This file is generated by Shroud 0.12.2. Do not edit. +// This file is generated by Shroud 0.13.0. Do not edit. // // Copyright (c) 2017-2024, Lawrence Livermore National Security, LLC and // other Axom Project Developers. See the top-level LICENSE file for details. // // SPDX-License-Identifier: (BSD-3-Clause) -#include "wrapView.h" -#include <cstring> + +#include "axom/sidre/core/View.hpp" #include <string> -#include "axom/sidre/core/Buffer.hpp" #include "axom/sidre/core/Group.hpp" -#include "axom/sidre/core/View.hpp" +#include "axom/sidre/core/Buffer.hpp" +#include <cstring> +#include "wrapView.h" // splicer begin class.View.CXX_definitions // splicer end class.View.CXX_definitions extern "C" { +// helper ShroudLenTrim +// Returns the length of character string src with length nsrc, +// ignoring any trailing blanks. +static int ShroudLenTrim(const char *src, int nsrc) +{ + int i; + + for(i = nsrc - 1; i >= 0; i--) + { + if(src[i] != ' ') + { + break; + } + } + + return i + 1; +} + // helper ShroudStrCopy // Copy src into dest, blank fill to ndest characters // Truncate if dest is too short. @@ -29,16 +48,10 @@ static void ShroudStrCopy(char *dest, int ndest, const char *src, int nsrc) } else { - if(nsrc < 0) - { - nsrc = std::strlen(src); - } + if(nsrc < 0) nsrc = std::strlen(src); int nm = nsrc < ndest ? nsrc : ndest; std::memcpy(dest, src, nm); - if(ndest > nm) - { - std::memset(dest + nm, ' ', ndest - nm); // blank fill - } + if(ndest > nm) std::memset(dest + nm, ' ', ndest - nm); // blank fill } } // splicer begin class.View.C_definitions @@ -47,266 +60,270 @@ static void ShroudStrCopy(char *dest, int ndest, const char *src, int nsrc) SIDRE_IndexType SIDRE_View_get_index(SIDRE_View *self) { axom::sidre::View *SH_this = static_cast<axom::sidre::View *>(self->addr); - // splicer begin class.View.method.get_index + // splicer begin class.View.method.getIndex axom::sidre::IndexType SHC_rv = SH_this->getIndex(); return SHC_rv; - // splicer end class.View.method.get_index + // splicer end class.View.method.getIndex } const char *SIDRE_View_get_name(const SIDRE_View *self) { const axom::sidre::View *SH_this = static_cast<const axom::sidre::View *>(self->addr); - // splicer begin class.View.method.get_name + // splicer begin class.View.method.getName const std::string &SHCXX_rv = SH_this->getName(); const char *SHC_rv = SHCXX_rv.c_str(); return SHC_rv; - // splicer end class.View.method.get_name + // splicer end class.View.method.getName } -void SIDRE_View_get_name_bufferify(const SIDRE_View *self, char *SHF_rv, int NSHF_rv) +void SIDRE_View_get_name_bufferify(const SIDRE_View *self, + char *SHC_rv, + int SHT_rv_len) { const axom::sidre::View *SH_this = static_cast<const axom::sidre::View *>(self->addr); - // splicer begin class.View.method.get_name_bufferify + // splicer begin class.View.method.getName_bufferify const std::string &SHCXX_rv = SH_this->getName(); if(SHCXX_rv.empty()) { - ShroudStrCopy(SHF_rv, NSHF_rv, nullptr, 0); + ShroudStrCopy(SHC_rv, SHT_rv_len, nullptr, 0); } else { - ShroudStrCopy(SHF_rv, NSHF_rv, SHCXX_rv.data(), SHCXX_rv.size()); + ShroudStrCopy(SHC_rv, SHT_rv_len, SHCXX_rv.data(), SHCXX_rv.size()); } - // splicer end class.View.method.get_name_bufferify + // splicer end class.View.method.getName_bufferify } -void SIDRE_View_get_path_bufferify(const SIDRE_View *self, char *SHF_rv, int NSHF_rv) +void SIDRE_View_get_path_bufferify(const SIDRE_View *self, + char *SHC_rv, + int SHT_rv_len) { const axom::sidre::View *SH_this = static_cast<const axom::sidre::View *>(self->addr); - // splicer begin class.View.method.get_path_bufferify + // splicer begin class.View.method.getPath_bufferify std::string SHCXX_rv = SH_this->getPath(); if(SHCXX_rv.empty()) { - ShroudStrCopy(SHF_rv, NSHF_rv, nullptr, 0); + ShroudStrCopy(SHC_rv, SHT_rv_len, nullptr, 0); } else { - ShroudStrCopy(SHF_rv, NSHF_rv, SHCXX_rv.data(), SHCXX_rv.size()); + ShroudStrCopy(SHC_rv, SHT_rv_len, SHCXX_rv.data(), SHCXX_rv.size()); } - // splicer end class.View.method.get_path_bufferify + // splicer end class.View.method.getPath_bufferify } void SIDRE_View_get_path_name_bufferify(const SIDRE_View *self, - char *SHF_rv, - int NSHF_rv) + char *SHC_rv, + int SHT_rv_len) { const axom::sidre::View *SH_this = static_cast<const axom::sidre::View *>(self->addr); - // splicer begin class.View.method.get_path_name_bufferify + // splicer begin class.View.method.getPathName_bufferify std::string SHCXX_rv = SH_this->getPathName(); if(SHCXX_rv.empty()) { - ShroudStrCopy(SHF_rv, NSHF_rv, nullptr, 0); + ShroudStrCopy(SHC_rv, SHT_rv_len, nullptr, 0); } else { - ShroudStrCopy(SHF_rv, NSHF_rv, SHCXX_rv.data(), SHCXX_rv.size()); + ShroudStrCopy(SHC_rv, SHT_rv_len, SHCXX_rv.data(), SHCXX_rv.size()); } - // splicer end class.View.method.get_path_name_bufferify + // splicer end class.View.method.getPathName_bufferify } SIDRE_Group *SIDRE_View_get_owning_group(SIDRE_View *self, SIDRE_Group *SHC_rv) { axom::sidre::View *SH_this = static_cast<axom::sidre::View *>(self->addr); - // splicer begin class.View.method.get_owning_group + // splicer begin class.View.method.getOwningGroup axom::sidre::Group *SHCXX_rv = SH_this->getOwningGroup(); SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.View.method.get_owning_group + // splicer end class.View.method.getOwningGroup } bool SIDRE_View_has_buffer(const SIDRE_View *self) { const axom::sidre::View *SH_this = static_cast<const axom::sidre::View *>(self->addr); - // splicer begin class.View.method.has_buffer + // splicer begin class.View.method.hasBuffer bool SHC_rv = SH_this->hasBuffer(); return SHC_rv; - // splicer end class.View.method.has_buffer + // splicer end class.View.method.hasBuffer } SIDRE_Buffer *SIDRE_View_get_buffer(SIDRE_View *self, SIDRE_Buffer *SHC_rv) { axom::sidre::View *SH_this = static_cast<axom::sidre::View *>(self->addr); - // splicer begin class.View.method.get_buffer + // splicer begin class.View.method.getBuffer axom::sidre::Buffer *SHCXX_rv = SH_this->getBuffer(); SHC_rv->addr = SHCXX_rv; SHC_rv->idtor = 0; return SHC_rv; - // splicer end class.View.method.get_buffer + // splicer end class.View.method.getBuffer } bool SIDRE_View_is_external(const SIDRE_View *self) { const axom::sidre::View *SH_this = static_cast<const axom::sidre::View *>(self->addr); - // splicer begin class.View.method.is_external + // splicer begin class.View.method.isExternal bool SHC_rv = SH_this->isExternal(); return SHC_rv; - // splicer end class.View.method.is_external + // splicer end class.View.method.isExternal } bool SIDRE_View_is_allocated(SIDRE_View *self) { axom::sidre::View *SH_this = static_cast<axom::sidre::View *>(self->addr); - // splicer begin class.View.method.is_allocated + // splicer begin class.View.method.isAllocated bool SHC_rv = SH_this->isAllocated(); return SHC_rv; - // splicer end class.View.method.is_allocated + // splicer end class.View.method.isAllocated } bool SIDRE_View_is_applied(const SIDRE_View *self) { const axom::sidre::View *SH_this = static_cast<const axom::sidre::View *>(self->addr); - // splicer begin class.View.method.is_applied + // splicer begin class.View.method.isApplied bool SHC_rv = SH_this->isApplied(); return SHC_rv; - // splicer end class.View.method.is_applied + // splicer end class.View.method.isApplied } bool SIDRE_View_is_described(const SIDRE_View *self) { const axom::sidre::View *SH_this = static_cast<const axom::sidre::View *>(self->addr); - // splicer begin class.View.method.is_described + // splicer begin class.View.method.isDescribed bool SHC_rv = SH_this->isDescribed(); return SHC_rv; - // splicer end class.View.method.is_described + // splicer end class.View.method.isDescribed } bool SIDRE_View_is_empty(const SIDRE_View *self) { const axom::sidre::View *SH_this = static_cast<const axom::sidre::View *>(self->addr); - // splicer begin class.View.method.is_empty + // splicer begin class.View.method.isEmpty bool SHC_rv = SH_this->isEmpty(); return SHC_rv; - // splicer end class.View.method.is_empty + // splicer end class.View.method.isEmpty } bool SIDRE_View_is_opaque(const SIDRE_View *self) { const axom::sidre::View *SH_this = static_cast<const axom::sidre::View *>(self->addr); - // splicer begin class.View.method.is_opaque + // splicer begin class.View.method.isOpaque bool SHC_rv = SH_this->isOpaque(); return SHC_rv; - // splicer end class.View.method.is_opaque + // splicer end class.View.method.isOpaque } bool SIDRE_View_is_scalar(const SIDRE_View *self) { const axom::sidre::View *SH_this = static_cast<const axom::sidre::View *>(self->addr); - // splicer begin class.View.method.is_scalar + // splicer begin class.View.method.isScalar bool SHC_rv = SH_this->isScalar(); return SHC_rv; - // splicer end class.View.method.is_scalar + // splicer end class.View.method.isScalar } bool SIDRE_View_is_string(const SIDRE_View *self) { const axom::sidre::View *SH_this = static_cast<const axom::sidre::View *>(self->addr); - // splicer begin class.View.method.is_string + // splicer begin class.View.method.isString bool SHC_rv = SH_this->isString(); return SHC_rv; - // splicer end class.View.method.is_string + // splicer end class.View.method.isString } SIDRE_TypeIDint SIDRE_View_get_type_id(const SIDRE_View *self) { const axom::sidre::View *SH_this = static_cast<const axom::sidre::View *>(self->addr); - // splicer begin class.View.method.get_type_id + // splicer begin class.View.method.getTypeID axom::sidre::TypeID SHCXX_rv = SH_this->getTypeID(); SIDRE_TypeIDint SHC_rv = static_cast<SIDRE_TypeIDint>(SHCXX_rv); return SHC_rv; - // splicer end class.View.method.get_type_id + // splicer end class.View.method.getTypeID } size_t SIDRE_View_get_total_bytes(const SIDRE_View *self) { const axom::sidre::View *SH_this = static_cast<const axom::sidre::View *>(self->addr); - // splicer begin class.View.method.get_total_bytes + // splicer begin class.View.method.getTotalBytes size_t SHC_rv = SH_this->getTotalBytes(); return SHC_rv; - // splicer end class.View.method.get_total_bytes + // splicer end class.View.method.getTotalBytes } size_t SIDRE_View_get_num_elements(const SIDRE_View *self) { const axom::sidre::View *SH_this = static_cast<const axom::sidre::View *>(self->addr); - // splicer begin class.View.method.get_num_elements + // splicer begin class.View.method.getNumElements size_t SHC_rv = SH_this->getNumElements(); return SHC_rv; - // splicer end class.View.method.get_num_elements + // splicer end class.View.method.getNumElements } size_t SIDRE_View_get_bytes_per_element(const SIDRE_View *self) { const axom::sidre::View *SH_this = static_cast<const axom::sidre::View *>(self->addr); - // splicer begin class.View.method.get_bytes_per_element + // splicer begin class.View.method.getBytesPerElement size_t SHC_rv = SH_this->getBytesPerElement(); return SHC_rv; - // splicer end class.View.method.get_bytes_per_element + // splicer end class.View.method.getBytesPerElement } size_t SIDRE_View_get_offset(const SIDRE_View *self) { const axom::sidre::View *SH_this = static_cast<const axom::sidre::View *>(self->addr); - // splicer begin class.View.method.get_offset + // splicer begin class.View.method.getOffset size_t SHC_rv = SH_this->getOffset(); return SHC_rv; - // splicer end class.View.method.get_offset + // splicer end class.View.method.getOffset } size_t SIDRE_View_get_stride(const SIDRE_View *self) { const axom::sidre::View *SH_this = static_cast<const axom::sidre::View *>(self->addr); - // splicer begin class.View.method.get_stride + // splicer begin class.View.method.getStride size_t SHC_rv = SH_this->getStride(); return SHC_rv; - // splicer end class.View.method.get_stride + // splicer end class.View.method.getStride } int SIDRE_View_get_num_dimensions(const SIDRE_View *self) { const axom::sidre::View *SH_this = static_cast<const axom::sidre::View *>(self->addr); - // splicer begin class.View.method.get_num_dimensions + // splicer begin class.View.method.getNumDimensions int SHC_rv = SH_this->getNumDimensions(); return SHC_rv; - // splicer end class.View.method.get_num_dimensions + // splicer end class.View.method.getNumDimensions } int SIDRE_View_get_shape(const SIDRE_View *self, int ndims, SIDRE_IndexType *shape) { const axom::sidre::View *SH_this = static_cast<const axom::sidre::View *>(self->addr); - // splicer begin class.View.method.get_shape + // splicer begin class.View.method.getShape int SHC_rv = SH_this->getShape(ndims, shape); return SHC_rv; - // splicer end class.View.method.get_shape + // splicer end class.View.method.getShape } void SIDRE_View_allocate_simple(SIDRE_View *self) @@ -339,11 +356,11 @@ void SIDRE_View_reallocate(SIDRE_View *self, SIDRE_IndexType num_elems) void SIDRE_View_attach_buffer_only(SIDRE_View *self, SIDRE_Buffer *buff) { axom::sidre::View *SH_this = static_cast<axom::sidre::View *>(self->addr); - // splicer begin class.View.method.attach_buffer_only + // splicer begin class.View.method.attachBuffer_only axom::sidre::Buffer *SHCXX_buff = static_cast<axom::sidre::Buffer *>(buff->addr); SH_this->attachBuffer(SHCXX_buff); - // splicer end class.View.method.attach_buffer_only + // splicer end class.View.method.attachBuffer_only } void SIDRE_View_attach_buffer_type(SIDRE_View *self, @@ -352,12 +369,40 @@ void SIDRE_View_attach_buffer_type(SIDRE_View *self, SIDRE_Buffer *buff) { axom::sidre::View *SH_this = static_cast<axom::sidre::View *>(self->addr); - // splicer begin class.View.method.attach_buffer_type + // splicer begin class.View.method.attachBuffer_type + axom::sidre::TypeID SHCXX_type = static_cast<axom::sidre::TypeID>(type); + axom::sidre::Buffer *SHCXX_buff = + static_cast<axom::sidre::Buffer *>(buff->addr); + SH_this->attachBuffer(SHCXX_type, num_elems, SHCXX_buff); + // splicer end class.View.method.attachBuffer_type +} + +void SIDRE_View_attach_buffer_type_int32_t(SIDRE_View *self, + SIDRE_TypeID type, + int32_t num_elems, + SIDRE_Buffer *buff) +{ + axom::sidre::View *SH_this = static_cast<axom::sidre::View *>(self->addr); + // splicer begin class.View.method.attachBuffer_type_int32_t + axom::sidre::TypeID SHCXX_type = static_cast<axom::sidre::TypeID>(type); + axom::sidre::Buffer *SHCXX_buff = + static_cast<axom::sidre::Buffer *>(buff->addr); + SH_this->attachBuffer(SHCXX_type, num_elems, SHCXX_buff); + // splicer end class.View.method.attachBuffer_type_int32_t +} + +void SIDRE_View_attach_buffer_type_int64_t(SIDRE_View *self, + SIDRE_TypeID type, + int64_t num_elems, + SIDRE_Buffer *buff) +{ + axom::sidre::View *SH_this = static_cast<axom::sidre::View *>(self->addr); + // splicer begin class.View.method.attachBuffer_type_int64_t axom::sidre::TypeID SHCXX_type = static_cast<axom::sidre::TypeID>(type); axom::sidre::Buffer *SHCXX_buff = static_cast<axom::sidre::Buffer *>(buff->addr); SH_this->attachBuffer(SHCXX_type, num_elems, SHCXX_buff); - // splicer end class.View.method.attach_buffer_type + // splicer end class.View.method.attachBuffer_type_int64_t } void SIDRE_View_attach_buffer_shape(SIDRE_View *self, @@ -367,12 +412,12 @@ void SIDRE_View_attach_buffer_shape(SIDRE_View *self, SIDRE_Buffer *buff) { axom::sidre::View *SH_this = static_cast<axom::sidre::View *>(self->addr); - // splicer begin class.View.method.attach_buffer_shape + // splicer begin class.View.method.attachBuffer_shape axom::sidre::TypeID SHCXX_type = static_cast<axom::sidre::TypeID>(type); axom::sidre::Buffer *SHCXX_buff = static_cast<axom::sidre::Buffer *>(buff->addr); SH_this->attachBuffer(SHCXX_type, ndims, shape, SHCXX_buff); - // splicer end class.View.method.attach_buffer_shape + // splicer end class.View.method.attachBuffer_shape } void SIDRE_View_clear(SIDRE_View *self) @@ -471,59 +516,61 @@ void SIDRE_View_apply_type_shape(SIDRE_View *self, void SIDRE_View_set_scalar_int(SIDRE_View *self, int value) { axom::sidre::View *SH_this = static_cast<axom::sidre::View *>(self->addr); - // splicer begin class.View.method.set_scalar_int + // splicer begin class.View.method.setScalar_int SH_this->setScalar<int>(value); - // splicer end class.View.method.set_scalar_int + // splicer end class.View.method.setScalar_int } void SIDRE_View_set_scalar_long(SIDRE_View *self, long value) { axom::sidre::View *SH_this = static_cast<axom::sidre::View *>(self->addr); - // splicer begin class.View.method.set_scalar_long + // splicer begin class.View.method.setScalar_long SH_this->setScalar<long>(value); - // splicer end class.View.method.set_scalar_long + // splicer end class.View.method.setScalar_long } void SIDRE_View_set_scalar_float(SIDRE_View *self, float value) { axom::sidre::View *SH_this = static_cast<axom::sidre::View *>(self->addr); - // splicer begin class.View.method.set_scalar_float + // splicer begin class.View.method.setScalar_float SH_this->setScalar<float>(value); - // splicer end class.View.method.set_scalar_float + // splicer end class.View.method.setScalar_float } void SIDRE_View_set_scalar_double(SIDRE_View *self, double value) { axom::sidre::View *SH_this = static_cast<axom::sidre::View *>(self->addr); - // splicer begin class.View.method.set_scalar_double + // splicer begin class.View.method.setScalar_double SH_this->setScalar<double>(value); - // splicer end class.View.method.set_scalar_double + // splicer end class.View.method.setScalar_double } void SIDRE_View_set_string(SIDRE_View *self, const char *value) { axom::sidre::View *SH_this = static_cast<axom::sidre::View *>(self->addr); - // splicer begin class.View.method.set_string + // splicer begin class.View.method.setString const std::string SHCXX_value(value); SH_this->setString(SHCXX_value); - // splicer end class.View.method.set_string + // splicer end class.View.method.setString } -void SIDRE_View_set_string_bufferify(SIDRE_View *self, const char *value, int Lvalue) +void SIDRE_View_set_string_bufferify(SIDRE_View *self, + char *value, + int SHT_value_len) { axom::sidre::View *SH_this = static_cast<axom::sidre::View *>(self->addr); - // splicer begin class.View.method.set_string_bufferify - const std::string SHCXX_value(value, Lvalue); + // splicer begin class.View.method.setString_bufferify + const std::string SHCXX_value(value, ShroudLenTrim(value, SHT_value_len)); SH_this->setString(SHCXX_value); - // splicer end class.View.method.set_string_bufferify + // splicer end class.View.method.setString_bufferify } void SIDRE_View_set_external_data_ptr_only(SIDRE_View *self, void *external_ptr) { axom::sidre::View *SH_this = static_cast<axom::sidre::View *>(self->addr); - // splicer begin class.View.method.set_external_data_ptr_only + // splicer begin class.View.method.setExternalDataPtr_only SH_this->setExternalDataPtr(external_ptr); - // splicer end class.View.method.set_external_data_ptr_only + // splicer end class.View.method.setExternalDataPtr_only } void SIDRE_View_set_external_data_ptr_type(SIDRE_View *self, @@ -532,10 +579,34 @@ void SIDRE_View_set_external_data_ptr_type(SIDRE_View *self, void *external_ptr) { axom::sidre::View *SH_this = static_cast<axom::sidre::View *>(self->addr); - // splicer begin class.View.method.set_external_data_ptr_type + // splicer begin class.View.method.setExternalDataPtr_type + axom::sidre::TypeID SHCXX_type = static_cast<axom::sidre::TypeID>(type); + SH_this->setExternalDataPtr(SHCXX_type, num_elems, external_ptr); + // splicer end class.View.method.setExternalDataPtr_type +} + +void SIDRE_View_set_external_data_ptr_type_int32_t(SIDRE_View *self, + SIDRE_TypeID type, + int32_t num_elems, + void *external_ptr) +{ + axom::sidre::View *SH_this = static_cast<axom::sidre::View *>(self->addr); + // splicer begin class.View.method.setExternalDataPtr_type_int32_t + axom::sidre::TypeID SHCXX_type = static_cast<axom::sidre::TypeID>(type); + SH_this->setExternalDataPtr(SHCXX_type, num_elems, external_ptr); + // splicer end class.View.method.setExternalDataPtr_type_int32_t +} + +void SIDRE_View_set_external_data_ptr_type_int64_t(SIDRE_View *self, + SIDRE_TypeID type, + int64_t num_elems, + void *external_ptr) +{ + axom::sidre::View *SH_this = static_cast<axom::sidre::View *>(self->addr); + // splicer begin class.View.method.setExternalDataPtr_type_int64_t axom::sidre::TypeID SHCXX_type = static_cast<axom::sidre::TypeID>(type); SH_this->setExternalDataPtr(SHCXX_type, num_elems, external_ptr); - // splicer end class.View.method.set_external_data_ptr_type + // splicer end class.View.method.setExternalDataPtr_type_int64_t } void SIDRE_View_set_external_data_ptr_shape(SIDRE_View *self, @@ -545,74 +616,74 @@ void SIDRE_View_set_external_data_ptr_shape(SIDRE_View *self, void *external_ptr) { axom::sidre::View *SH_this = static_cast<axom::sidre::View *>(self->addr); - // splicer begin class.View.method.set_external_data_ptr_shape + // splicer begin class.View.method.setExternalDataPtr_shape axom::sidre::TypeID SHCXX_type = static_cast<axom::sidre::TypeID>(type); SH_this->setExternalDataPtr(SHCXX_type, ndims, shape, external_ptr); - // splicer end class.View.method.set_external_data_ptr_shape + // splicer end class.View.method.setExternalDataPtr_shape } const char *SIDRE_View_get_string(SIDRE_View *self) { axom::sidre::View *SH_this = static_cast<axom::sidre::View *>(self->addr); - // splicer begin class.View.method.get_string + // splicer begin class.View.method.getString const char *SHC_rv = SH_this->getString(); return SHC_rv; - // splicer end class.View.method.get_string + // splicer end class.View.method.getString } -void SIDRE_View_get_string_bufferify(SIDRE_View *self, char *name, int Nname) +void SIDRE_View_get_string_bufferify(SIDRE_View *self, char *name, int SHT_name_len) { axom::sidre::View *SH_this = static_cast<axom::sidre::View *>(self->addr); - // splicer begin class.View.method.get_string_bufferify + // splicer begin class.View.method.getString_bufferify const char *SHC_rv = SH_this->getString(); - ShroudStrCopy(name, Nname, SHC_rv, -1); - // splicer end class.View.method.get_string_bufferify + ShroudStrCopy(name, SHT_name_len, SHC_rv, -1); + // splicer end class.View.method.getString_bufferify } int SIDRE_View_get_data_int(SIDRE_View *self) { axom::sidre::View *SH_this = static_cast<axom::sidre::View *>(self->addr); - // splicer begin class.View.method.get_data_int + // splicer begin class.View.method.getData_int int SHC_rv = SH_this->getData<int>(); return SHC_rv; - // splicer end class.View.method.get_data_int + // splicer end class.View.method.getData_int } long SIDRE_View_get_data_long(SIDRE_View *self) { axom::sidre::View *SH_this = static_cast<axom::sidre::View *>(self->addr); - // splicer begin class.View.method.get_data_long + // splicer begin class.View.method.getData_long long SHC_rv = SH_this->getData<long>(); return SHC_rv; - // splicer end class.View.method.get_data_long + // splicer end class.View.method.getData_long } float SIDRE_View_get_data_float(SIDRE_View *self) { axom::sidre::View *SH_this = static_cast<axom::sidre::View *>(self->addr); - // splicer begin class.View.method.get_data_float + // splicer begin class.View.method.getData_float float SHC_rv = SH_this->getData<float>(); return SHC_rv; - // splicer end class.View.method.get_data_float + // splicer end class.View.method.getData_float } double SIDRE_View_get_data_double(SIDRE_View *self) { axom::sidre::View *SH_this = static_cast<axom::sidre::View *>(self->addr); - // splicer begin class.View.method.get_data_double + // splicer begin class.View.method.getData_double double SHC_rv = SH_this->getData<double>(); return SHC_rv; - // splicer end class.View.method.get_data_double + // splicer end class.View.method.getData_double } void *SIDRE_View_get_void_ptr(const SIDRE_View *self) { const axom::sidre::View *SH_this = static_cast<const axom::sidre::View *>(self->addr); - // splicer begin class.View.method.get_void_ptr + // splicer begin class.View.method.getVoidPtr void *SHC_rv = SH_this->getVoidPtr(); return SHC_rv; - // splicer end class.View.method.get_void_ptr + // splicer end class.View.method.getVoidPtr } void SIDRE_View_print(const SIDRE_View *self) @@ -635,12 +706,13 @@ bool SIDRE_View_rename(SIDRE_View *self, const char *new_name) } bool SIDRE_View_rename_bufferify(SIDRE_View *self, - const char *new_name, - int Lnew_name) + char *new_name, + int SHT_new_name_len) { axom::sidre::View *SH_this = static_cast<axom::sidre::View *>(self->addr); // splicer begin class.View.method.rename_bufferify - const std::string SHCXX_new_name(new_name, Lnew_name); + const std::string SHCXX_new_name(new_name, + ShroudLenTrim(new_name, SHT_new_name_len)); bool SHC_rv = SH_this->rename(SHCXX_new_name); return SHC_rv; // splicer end class.View.method.rename_bufferify diff --git a/src/axom/sidre/interface/c_fortran/wrapView.h b/src/axom/sidre/interface/c_fortran/wrapView.h index 30834d2b11..8e8227a1ec 100644 --- a/src/axom/sidre/interface/c_fortran/wrapView.h +++ b/src/axom/sidre/interface/c_fortran/wrapView.h @@ -1,5 +1,5 @@ // wrapView.h -// This file is generated by Shroud 0.12.2. Do not edit. +// This file is generated by Shroud 0.13.0. Do not edit. // // Copyright (c) 2017-2024, Lawrence Livermore National Security, LLC and // other Axom Project Developers. See the top-level LICENSE file for details. @@ -14,15 +14,18 @@ #ifndef WRAPVIEW_H #define WRAPVIEW_H +#include "wrapSidre.h" #include "axom/sidre/interface/SidreTypes.h" -#include "typesSidre.h" #ifdef __cplusplus - #include <cstddef> #include "axom/sidre/core/SidreTypes.hpp" + #include <cstddef> + #include <cstdint> #else #include <stdbool.h> #include <stddef.h> + #include <stdint.h> #endif +#include "typesSidre.h" // splicer begin class.View.CXX_declarations // splicer end class.View.CXX_declarations @@ -34,164 +37,186 @@ extern "C" { // splicer begin class.View.C_declarations // splicer end class.View.C_declarations -SIDRE_IndexType SIDRE_View_get_index(SIDRE_View* self); +SIDRE_IndexType SIDRE_View_get_index(SIDRE_View *self); -const char* SIDRE_View_get_name(const SIDRE_View* self); +const char *SIDRE_View_get_name(const SIDRE_View *self); -void SIDRE_View_get_name_bufferify(const SIDRE_View* self, - char* SHF_rv, - int NSHF_rv); +void SIDRE_View_get_name_bufferify(const SIDRE_View *self, + char *SHC_rv, + int SHT_rv_len); -void SIDRE_View_get_path_bufferify(const SIDRE_View* self, - char* SHF_rv, - int NSHF_rv); +void SIDRE_View_get_path_bufferify(const SIDRE_View *self, + char *SHC_rv, + int SHT_rv_len); -void SIDRE_View_get_path_name_bufferify(const SIDRE_View* self, - char* SHF_rv, - int NSHF_rv); +void SIDRE_View_get_path_name_bufferify(const SIDRE_View *self, + char *SHC_rv, + int SHT_rv_len); -SIDRE_Group* SIDRE_View_get_owning_group(SIDRE_View* self, SIDRE_Group* SHC_rv); +SIDRE_Group *SIDRE_View_get_owning_group(SIDRE_View *self, SIDRE_Group *SHC_rv); -bool SIDRE_View_has_buffer(const SIDRE_View* self); +bool SIDRE_View_has_buffer(const SIDRE_View *self); -SIDRE_Buffer* SIDRE_View_get_buffer(SIDRE_View* self, SIDRE_Buffer* SHC_rv); +SIDRE_Buffer *SIDRE_View_get_buffer(SIDRE_View *self, SIDRE_Buffer *SHC_rv); -bool SIDRE_View_is_external(const SIDRE_View* self); +bool SIDRE_View_is_external(const SIDRE_View *self); -bool SIDRE_View_is_allocated(SIDRE_View* self); +bool SIDRE_View_is_allocated(SIDRE_View *self); -bool SIDRE_View_is_applied(const SIDRE_View* self); +bool SIDRE_View_is_applied(const SIDRE_View *self); -bool SIDRE_View_is_described(const SIDRE_View* self); +bool SIDRE_View_is_described(const SIDRE_View *self); -bool SIDRE_View_is_empty(const SIDRE_View* self); +bool SIDRE_View_is_empty(const SIDRE_View *self); -bool SIDRE_View_is_opaque(const SIDRE_View* self); +bool SIDRE_View_is_opaque(const SIDRE_View *self); -bool SIDRE_View_is_scalar(const SIDRE_View* self); +bool SIDRE_View_is_scalar(const SIDRE_View *self); -bool SIDRE_View_is_string(const SIDRE_View* self); +bool SIDRE_View_is_string(const SIDRE_View *self); -SIDRE_TypeIDint SIDRE_View_get_type_id(const SIDRE_View* self); +SIDRE_TypeIDint SIDRE_View_get_type_id(const SIDRE_View *self); -size_t SIDRE_View_get_total_bytes(const SIDRE_View* self); +size_t SIDRE_View_get_total_bytes(const SIDRE_View *self); -size_t SIDRE_View_get_num_elements(const SIDRE_View* self); +size_t SIDRE_View_get_num_elements(const SIDRE_View *self); -size_t SIDRE_View_get_bytes_per_element(const SIDRE_View* self); +size_t SIDRE_View_get_bytes_per_element(const SIDRE_View *self); -size_t SIDRE_View_get_offset(const SIDRE_View* self); +size_t SIDRE_View_get_offset(const SIDRE_View *self); -size_t SIDRE_View_get_stride(const SIDRE_View* self); +size_t SIDRE_View_get_stride(const SIDRE_View *self); -int SIDRE_View_get_num_dimensions(const SIDRE_View* self); +int SIDRE_View_get_num_dimensions(const SIDRE_View *self); -int SIDRE_View_get_shape(const SIDRE_View* self, int ndims, SIDRE_IndexType* shape); +int SIDRE_View_get_shape(const SIDRE_View *self, int ndims, SIDRE_IndexType *shape); -void SIDRE_View_allocate_simple(SIDRE_View* self); +void SIDRE_View_allocate_simple(SIDRE_View *self); -void SIDRE_View_allocate_from_type(SIDRE_View* self, +void SIDRE_View_allocate_from_type(SIDRE_View *self, SIDRE_TypeID type, SIDRE_IndexType num_elems); -void SIDRE_View_reallocate(SIDRE_View* self, SIDRE_IndexType num_elems); +void SIDRE_View_reallocate(SIDRE_View *self, SIDRE_IndexType num_elems); -void SIDRE_View_attach_buffer_only(SIDRE_View* self, SIDRE_Buffer* buff); +void SIDRE_View_attach_buffer_only(SIDRE_View *self, SIDRE_Buffer *buff); -void SIDRE_View_attach_buffer_type(SIDRE_View* self, +void SIDRE_View_attach_buffer_type(SIDRE_View *self, SIDRE_TypeID type, SIDRE_IndexType num_elems, - SIDRE_Buffer* buff); + SIDRE_Buffer *buff); + +void SIDRE_View_attach_buffer_type_int32_t(SIDRE_View *self, + SIDRE_TypeID type, + int32_t num_elems, + SIDRE_Buffer *buff); + +void SIDRE_View_attach_buffer_type_int64_t(SIDRE_View *self, + SIDRE_TypeID type, + int64_t num_elems, + SIDRE_Buffer *buff); -void SIDRE_View_attach_buffer_shape(SIDRE_View* self, +void SIDRE_View_attach_buffer_shape(SIDRE_View *self, SIDRE_TypeID type, int ndims, - const SIDRE_IndexType* shape, - SIDRE_Buffer* buff); + const SIDRE_IndexType *shape, + SIDRE_Buffer *buff); -void SIDRE_View_clear(SIDRE_View* self); +void SIDRE_View_clear(SIDRE_View *self); -void SIDRE_View_apply_0(SIDRE_View* self); +void SIDRE_View_apply_0(SIDRE_View *self); -void SIDRE_View_apply_nelems(SIDRE_View* self, SIDRE_IndexType num_elems); +void SIDRE_View_apply_nelems(SIDRE_View *self, SIDRE_IndexType num_elems); -void SIDRE_View_apply_nelems_offset(SIDRE_View* self, +void SIDRE_View_apply_nelems_offset(SIDRE_View *self, SIDRE_IndexType num_elems, SIDRE_IndexType offset); -void SIDRE_View_apply_nelems_offset_stride(SIDRE_View* self, +void SIDRE_View_apply_nelems_offset_stride(SIDRE_View *self, SIDRE_IndexType num_elems, SIDRE_IndexType offset, SIDRE_IndexType stride); -void SIDRE_View_apply_type_nelems(SIDRE_View* self, +void SIDRE_View_apply_type_nelems(SIDRE_View *self, SIDRE_TypeID type, SIDRE_IndexType num_elems); -void SIDRE_View_apply_type_nelems_offset(SIDRE_View* self, +void SIDRE_View_apply_type_nelems_offset(SIDRE_View *self, SIDRE_TypeID type, SIDRE_IndexType num_elems, SIDRE_IndexType offset); -void SIDRE_View_apply_type_nelems_offset_stride(SIDRE_View* self, +void SIDRE_View_apply_type_nelems_offset_stride(SIDRE_View *self, SIDRE_TypeID type, SIDRE_IndexType num_elems, SIDRE_IndexType offset, SIDRE_IndexType stride); -void SIDRE_View_apply_type_shape(SIDRE_View* self, +void SIDRE_View_apply_type_shape(SIDRE_View *self, SIDRE_TypeID type, int ndims, - const SIDRE_IndexType* shape); + const SIDRE_IndexType *shape); -void SIDRE_View_set_scalar_int(SIDRE_View* self, int value); +void SIDRE_View_set_scalar_int(SIDRE_View *self, int value); -void SIDRE_View_set_scalar_long(SIDRE_View* self, long value); +void SIDRE_View_set_scalar_long(SIDRE_View *self, long value); -void SIDRE_View_set_scalar_float(SIDRE_View* self, float value); +void SIDRE_View_set_scalar_float(SIDRE_View *self, float value); -void SIDRE_View_set_scalar_double(SIDRE_View* self, double value); +void SIDRE_View_set_scalar_double(SIDRE_View *self, double value); -void SIDRE_View_set_string(SIDRE_View* self, const char* value); +void SIDRE_View_set_string(SIDRE_View *self, const char *value); -void SIDRE_View_set_string_bufferify(SIDRE_View* self, - const char* value, - int Lvalue); +void SIDRE_View_set_string_bufferify(SIDRE_View *self, + char *value, + int SHT_value_len); -void SIDRE_View_set_external_data_ptr_only(SIDRE_View* self, void* external_ptr); +void SIDRE_View_set_external_data_ptr_only(SIDRE_View *self, void *external_ptr); -void SIDRE_View_set_external_data_ptr_type(SIDRE_View* self, +void SIDRE_View_set_external_data_ptr_type(SIDRE_View *self, SIDRE_TypeID type, SIDRE_IndexType num_elems, - void* external_ptr); + void *external_ptr); + +void SIDRE_View_set_external_data_ptr_type_int32_t(SIDRE_View *self, + SIDRE_TypeID type, + int32_t num_elems, + void *external_ptr); + +void SIDRE_View_set_external_data_ptr_type_int64_t(SIDRE_View *self, + SIDRE_TypeID type, + int64_t num_elems, + void *external_ptr); -void SIDRE_View_set_external_data_ptr_shape(SIDRE_View* self, +void SIDRE_View_set_external_data_ptr_shape(SIDRE_View *self, SIDRE_TypeID type, int ndims, - const SIDRE_IndexType* shape, - void* external_ptr); + const SIDRE_IndexType *shape, + void *external_ptr); -const char* SIDRE_View_get_string(SIDRE_View* self); +const char *SIDRE_View_get_string(SIDRE_View *self); -void SIDRE_View_get_string_bufferify(SIDRE_View* self, char* name, int Nname); +void SIDRE_View_get_string_bufferify(SIDRE_View *self, + char *name, + int SHT_name_len); -int SIDRE_View_get_data_int(SIDRE_View* self); +int SIDRE_View_get_data_int(SIDRE_View *self); -long SIDRE_View_get_data_long(SIDRE_View* self); +long SIDRE_View_get_data_long(SIDRE_View *self); -float SIDRE_View_get_data_float(SIDRE_View* self); +float SIDRE_View_get_data_float(SIDRE_View *self); -double SIDRE_View_get_data_double(SIDRE_View* self); +double SIDRE_View_get_data_double(SIDRE_View *self); -void* SIDRE_View_get_void_ptr(const SIDRE_View* self); +void *SIDRE_View_get_void_ptr(const SIDRE_View *self); -void SIDRE_View_print(const SIDRE_View* self); +void SIDRE_View_print(const SIDRE_View *self); -bool SIDRE_View_rename(SIDRE_View* self, const char* new_name); +bool SIDRE_View_rename(SIDRE_View *self, const char *new_name); -bool SIDRE_View_rename_bufferify(SIDRE_View* self, - const char* new_name, - int Lnew_name); +bool SIDRE_View_rename_bufferify(SIDRE_View *self, + char *new_name, + int SHT_new_name_len); #ifdef __cplusplus } diff --git a/src/axom/sidre/interface/c_fortran/wrapfsidre.F b/src/axom/sidre/interface/c_fortran/wrapfsidre.F index ea7b1aa2af..e360720ea4 100644 --- a/src/axom/sidre/interface/c_fortran/wrapfsidre.F +++ b/src/axom/sidre/interface/c_fortran/wrapfsidre.F @@ -1,5 +1,5 @@ ! wrapfsidre.F -! This file is generated by Shroud 0.12.2. Do not edit. +! This file is generated by Shroud 0.13.0. Do not edit. ! ! Copyright (c) 2017-2024, Lawrence Livermore National Security, LLC and ! other Axom Project Developers. See the top-level LICENSE file for details. @@ -13,7 +13,7 @@ #include "axom/config.hpp" ! splicer end file_top module axom_sidre - use iso_c_binding, only : C_INT, C_NULL_PTR, C_PTR + use iso_c_binding, only : C_INT, C_INT64_T, C_NULL_PTR, C_PTR, C_SHORT ! splicer begin module_use use conduit, only : & CONDUIT_EMPTY_ID, & @@ -41,12 +41,6 @@ module axom_sidre ! splicer begin module_top integer, parameter :: MAXNAMESIZE = 128 -#if defined(AXOM_USE_64BIT_INDEXTYPE) && !defined(AXOM_NO_INT64_T) - integer, parameter :: SIDRE_IndexType = C_INT64_T -#else - integer, parameter :: SIDRE_IndexType = C_INT32_T -#endif - integer, parameter :: TypeID = C_SHORT integer, parameter :: TypeIDint = C_INT @@ -69,17 +63,36 @@ module axom_sidre SIDRE_ULONG_ID = CONDUIT_ULONG_ID, & SIDRE_FLOAT_ID = CONDUIT_FLOAT_ID, & SIDRE_DOUBLE_ID = CONDUIT_DOUBLE_ID - - integer, parameter :: invalid_index = -1_SIDRE_IndexType ! splicer end module_top - type, bind(C) :: SIDRE_SHROUD_buffer_capsule + ! helper capsule_data_helper + type, bind(C) :: SIDRE_SHROUD_capsule_data type(C_PTR) :: addr = C_NULL_PTR ! address of C++ memory integer(C_INT) :: idtor = 0 ! index of destructor - end type SIDRE_SHROUD_buffer_capsule + end type SIDRE_SHROUD_capsule_data + + ! typedef axom::sidre::IndexType + ! splicer begin typedef.IndexType +#if defined(AXOM_USE_64BIT_INDEXTYPE) && !defined(AXOM_NO_INT64_T) + integer, parameter :: SIDRE_IndexType = C_INT64_T +#else + integer, parameter :: SIDRE_IndexType = C_INT32_T +#endif + integer, parameter :: invalid_index = -1_SIDRE_IndexType + ! splicer end typedef.IndexType + + ! typedef axom::sidre::TypeID + ! splicer begin typedef.TypeID + integer, parameter :: type_id = C_SHORT + ! splicer end typedef.TypeID + + ! typedef axom::sidre::TypeIDint + ! splicer begin typedef.TypeIDint + integer, parameter :: type_i_dint = C_INT + ! splicer end typedef.TypeIDint type SidreBuffer - type(SIDRE_SHROUD_buffer_capsule) :: cxxmem + type(SIDRE_SHROUD_capsule_data) :: cxxmem ! splicer begin class.Buffer.component_part ! splicer end class.Buffer.component_part contains @@ -109,13 +122,8 @@ module axom_sidre ! splicer end class.Buffer.type_bound_procedure_part end type SidreBuffer - type, bind(C) :: SIDRE_SHROUD_group_capsule - type(C_PTR) :: addr = C_NULL_PTR ! address of C++ memory - integer(C_INT) :: idtor = 0 ! index of destructor - end type SIDRE_SHROUD_group_capsule - type SidreGroup - type(SIDRE_SHROUD_group_capsule) :: cxxmem + type(SIDRE_SHROUD_capsule_data) :: cxxmem ! splicer begin class.Group.component_part ! splicer end class.Group.component_part contains @@ -332,13 +340,8 @@ module axom_sidre ! splicer end class.Group.type_bound_procedure_part end type SidreGroup - type, bind(C) :: SIDRE_SHROUD_view_capsule - type(C_PTR) :: addr = C_NULL_PTR ! address of C++ memory - integer(C_INT) :: idtor = 0 ! index of destructor - end type SIDRE_SHROUD_view_capsule - type SidreView - type(SIDRE_SHROUD_view_capsule) :: cxxmem + type(SIDRE_SHROUD_capsule_data) :: cxxmem ! splicer begin class.View.component_part ! splicer end class.View.component_part contains @@ -505,13 +508,8 @@ module axom_sidre ! splicer end class.View.type_bound_procedure_part end type SidreView - type, bind(C) :: SIDRE_SHROUD_datastore_capsule - type(C_PTR) :: addr = C_NULL_PTR ! address of C++ memory - integer(C_INT) :: idtor = 0 ! index of destructor - end type SIDRE_SHROUD_datastore_capsule - type SidreDataStore - type(SIDRE_SHROUD_datastore_capsule) :: cxxmem + type(SIDRE_SHROUD_capsule_data) :: cxxmem ! splicer begin class.DataStore.component_part ! splicer end class.DataStore.component_part contains @@ -566,9 +564,9 @@ module axom_sidre pure function c_buffer_get_index(self) & result(SHT_rv) & bind(C, name="SIDRE_Buffer_get_index") - import :: SIDRE_IndexType, SIDRE_SHROUD_buffer_capsule + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_buffer_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(SIDRE_IndexType) :: SHT_rv end function c_buffer_get_index @@ -576,9 +574,9 @@ pure function c_buffer_get_num_views(self) & result(SHT_rv) & bind(C, name="SIDRE_Buffer_get_num_views") use iso_c_binding, only : C_SIZE_T - import :: SIDRE_SHROUD_buffer_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_buffer_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(C_SIZE_T) :: SHT_rv end function c_buffer_get_num_views @@ -586,18 +584,18 @@ function c_buffer_get_void_ptr(self) & result(SHT_rv) & bind(C, name="SIDRE_Buffer_get_void_ptr") use iso_c_binding, only : C_PTR - import :: SIDRE_SHROUD_buffer_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_buffer_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self type(C_PTR) :: SHT_rv end function c_buffer_get_void_ptr pure function c_buffer_get_type_id(self) & result(SHT_rv) & bind(C, name="SIDRE_Buffer_get_type_id") - import :: SIDRE_SHROUD_buffer_capsule, TypeIDint + import :: SIDRE_SHROUD_capsule_data, TypeIDint implicit none - type(SIDRE_SHROUD_buffer_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(TypeIDint) :: SHT_rv end function c_buffer_get_type_id @@ -605,9 +603,9 @@ pure function c_buffer_get_num_elements(self) & result(SHT_rv) & bind(C, name="SIDRE_Buffer_get_num_elements") use iso_c_binding, only : C_SIZE_T - import :: SIDRE_SHROUD_buffer_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_buffer_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(C_SIZE_T) :: SHT_rv end function c_buffer_get_num_elements @@ -615,9 +613,9 @@ pure function c_buffer_get_total_bytes(self) & result(SHT_rv) & bind(C, name="SIDRE_Buffer_get_total_bytes") use iso_c_binding, only : C_SIZE_T - import :: SIDRE_SHROUD_buffer_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_buffer_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(C_SIZE_T) :: SHT_rv end function c_buffer_get_total_bytes @@ -625,61 +623,58 @@ pure function c_buffer_get_bytes_per_element(self) & result(SHT_rv) & bind(C, name="SIDRE_Buffer_get_bytes_per_element") use iso_c_binding, only : C_SIZE_T - import :: SIDRE_SHROUD_buffer_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_buffer_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(C_SIZE_T) :: SHT_rv end function c_buffer_get_bytes_per_element subroutine c_buffer_describe(self, type, num_elems) & bind(C, name="SIDRE_Buffer_describe") - import :: SIDRE_IndexType, SIDRE_SHROUD_buffer_capsule, TypeID + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data, TypeID implicit none - type(SIDRE_SHROUD_buffer_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(TypeID), value, intent(IN) :: type integer(SIDRE_IndexType), value, intent(IN) :: num_elems end subroutine c_buffer_describe subroutine c_buffer_allocate_existing(self) & bind(C, name="SIDRE_Buffer_allocate_existing") - import :: SIDRE_SHROUD_buffer_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_buffer_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self end subroutine c_buffer_allocate_existing subroutine c_buffer_allocate_from_type(self, type, num_elems) & bind(C, name="SIDRE_Buffer_allocate_from_type") - import :: SIDRE_IndexType, SIDRE_SHROUD_buffer_capsule, TypeID + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data, TypeID implicit none - type(SIDRE_SHROUD_buffer_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(TypeID), value, intent(IN) :: type integer(SIDRE_IndexType), value, intent(IN) :: num_elems end subroutine c_buffer_allocate_from_type subroutine c_buffer_reallocate(self, num_elems) & bind(C, name="SIDRE_Buffer_reallocate") - import :: SIDRE_IndexType, SIDRE_SHROUD_buffer_capsule + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_buffer_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(SIDRE_IndexType), value, intent(IN) :: num_elems end subroutine c_buffer_reallocate subroutine c_buffer_print(self) & bind(C, name="SIDRE_Buffer_print") - import :: SIDRE_SHROUD_buffer_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_buffer_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self end subroutine c_buffer_print - ! splicer begin class.Buffer.additional_interfaces - ! splicer end class.Buffer.additional_interfaces - function c_group_get_index(self) & result(SHT_rv) & bind(C, name="SIDRE_Group_get_index") - import :: SIDRE_IndexType, SIDRE_SHROUD_group_capsule + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(SIDRE_IndexType) :: SHT_rv end function c_group_get_index @@ -687,61 +682,61 @@ pure function c_group_get_name(self) & result(SHT_rv) & bind(C, name="SIDRE_Group_get_name") use iso_c_binding, only : C_PTR - import :: SIDRE_SHROUD_group_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self type(C_PTR) SHT_rv end function c_group_get_name - subroutine c_group_get_name_bufferify(self, SHF_rv, NSHF_rv) & + subroutine c_group_get_name_bufferify(self, SHT_rv, SHT_rv_len) & bind(C, name="SIDRE_Group_get_name_bufferify") use iso_c_binding, only : C_CHAR, C_INT - import :: SIDRE_SHROUD_group_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self - character(kind=C_CHAR), intent(OUT) :: SHF_rv(*) - integer(C_INT), value, intent(IN) :: NSHF_rv + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self + character(kind=C_CHAR), intent(OUT) :: SHT_rv(*) + integer(C_INT), value, intent(IN) :: SHT_rv_len end subroutine c_group_get_name_bufferify - subroutine c_group_get_path_bufferify(self, SHF_rv, NSHF_rv) & + subroutine c_group_get_path_bufferify(self, SHT_rv, SHT_rv_len) & bind(C, name="SIDRE_Group_get_path_bufferify") use iso_c_binding, only : C_CHAR, C_INT - import :: SIDRE_SHROUD_group_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self - character(kind=C_CHAR), intent(OUT) :: SHF_rv(*) - integer(C_INT), value, intent(IN) :: NSHF_rv + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self + character(kind=C_CHAR), intent(OUT) :: SHT_rv(*) + integer(C_INT), value, intent(IN) :: SHT_rv_len end subroutine c_group_get_path_bufferify - subroutine c_group_get_path_name_bufferify(self, SHF_rv, & - NSHF_rv) & + subroutine c_group_get_path_name_bufferify(self, SHT_rv, & + SHT_rv_len) & bind(C, name="SIDRE_Group_get_path_name_bufferify") use iso_c_binding, only : C_CHAR, C_INT - import :: SIDRE_SHROUD_group_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self - character(kind=C_CHAR), intent(OUT) :: SHF_rv(*) - integer(C_INT), value, intent(IN) :: NSHF_rv + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self + character(kind=C_CHAR), intent(OUT) :: SHT_rv(*) + integer(C_INT), value, intent(IN) :: SHT_rv_len end subroutine c_group_get_path_name_bufferify - function c_group_get_parent(self, SHT_crv) & - result(SHT_rv) & + function c_group_get_parent(self, SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_Group_get_parent") use iso_c_binding, only : C_PTR - import :: SIDRE_SHROUD_group_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self - type(SIDRE_SHROUD_group_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_group_get_parent pure function c_group_get_num_groups(self) & result(SHT_rv) & bind(C, name="SIDRE_Group_get_num_groups") use iso_c_binding, only : C_SIZE_T - import :: SIDRE_SHROUD_group_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(C_SIZE_T) :: SHT_rv end function c_group_get_num_groups @@ -749,43 +744,44 @@ pure function c_group_get_num_views(self) & result(SHT_rv) & bind(C, name="SIDRE_Group_get_num_views") use iso_c_binding, only : C_SIZE_T - import :: SIDRE_SHROUD_group_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(C_SIZE_T) :: SHT_rv end function c_group_get_num_views - function c_group_get_data_store(self, SHT_crv) & - result(SHT_rv) & + function c_group_get_data_store(self, SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_Group_get_data_store") use iso_c_binding, only : C_PTR - import :: SIDRE_SHROUD_datastore_capsule, SIDRE_SHROUD_group_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self - type(SIDRE_SHROUD_datastore_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_group_get_data_store pure function c_group_has_view(self, path) & result(SHT_rv) & bind(C, name="SIDRE_Group_has_view") use iso_c_binding, only : C_BOOL, C_CHAR - import :: SIDRE_SHROUD_group_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) logical(C_BOOL) :: SHT_rv end function c_group_has_view - pure function c_group_has_view_bufferify(self, path, Lpath) & + pure function c_group_has_view_bufferify(self, path, & + SHT_path_len) & result(SHT_rv) & bind(C, name="SIDRE_Group_has_view_bufferify") use iso_c_binding, only : C_BOOL, C_CHAR, C_INT - import :: SIDRE_SHROUD_group_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) - integer(C_INT), value, intent(IN) :: Lpath + integer(C_INT), value, intent(IN) :: SHT_path_len logical(C_BOOL) :: SHT_rv end function c_group_has_view_bufferify @@ -793,23 +789,23 @@ pure function c_group_has_child_view(self, name) & result(SHT_rv) & bind(C, name="SIDRE_Group_has_child_view") use iso_c_binding, only : C_BOOL, C_CHAR - import :: SIDRE_SHROUD_group_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: name(*) logical(C_BOOL) :: SHT_rv end function c_group_has_child_view pure function c_group_has_child_view_bufferify(self, name, & - Lname) & + SHT_name_len) & result(SHT_rv) & bind(C, name="SIDRE_Group_has_child_view_bufferify") use iso_c_binding, only : C_BOOL, C_CHAR, C_INT - import :: SIDRE_SHROUD_group_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: name(*) - integer(C_INT), value, intent(IN) :: Lname + integer(C_INT), value, intent(IN) :: SHT_name_len logical(C_BOOL) :: SHT_rv end function c_group_has_child_view_bufferify @@ -817,23 +813,23 @@ pure function c_group_get_view_index(self, name) & result(SHT_rv) & bind(C, name="SIDRE_Group_get_view_index") use iso_c_binding, only : C_CHAR - import :: SIDRE_IndexType, SIDRE_SHROUD_group_capsule + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: name(*) integer(SIDRE_IndexType) :: SHT_rv end function c_group_get_view_index pure function c_group_get_view_index_bufferify(self, name, & - Lname) & + SHT_name_len) & result(SHT_rv) & bind(C, name="SIDRE_Group_get_view_index_bufferify") use iso_c_binding, only : C_CHAR, C_INT - import :: SIDRE_IndexType, SIDRE_SHROUD_group_capsule + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: name(*) - integer(C_INT), value, intent(IN) :: Lname + integer(C_INT), value, intent(IN) :: SHT_name_len integer(SIDRE_IndexType) :: SHT_rv end function c_group_get_view_index_bufferify @@ -841,666 +837,773 @@ pure function c_group_get_view_name(self, idx) & result(SHT_rv) & bind(C, name="SIDRE_Group_get_view_name") use iso_c_binding, only : C_PTR - import :: SIDRE_IndexType, SIDRE_SHROUD_group_capsule + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(SIDRE_IndexType), value, intent(IN) :: idx type(C_PTR) SHT_rv end function c_group_get_view_name - subroutine c_group_get_view_name_bufferify(self, idx, SHF_rv, & - NSHF_rv) & - bind(C, name="SIDRE_Group_get_view_name_bufferify") - use iso_c_binding, only : C_CHAR, C_INT - import :: SIDRE_IndexType, SIDRE_SHROUD_group_capsule - implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self - integer(SIDRE_IndexType), value, intent(IN) :: idx - character(kind=C_CHAR), intent(OUT) :: SHF_rv(*) - integer(C_INT), value, intent(IN) :: NSHF_rv - end subroutine c_group_get_view_name_bufferify - - function c_group_get_view_from_name(self, path, SHT_crv) & - result(SHT_rv) & + subroutine c_group_get_view_name_int32_t_bufferify(self, idx, & + SHT_rv, SHT_rv_len) & + bind(C, name="SIDRE_Group_get_view_name_int32_t_bufferify") + use iso_c_binding, only : C_CHAR, C_INT, C_INT32_T + import :: SIDRE_SHROUD_capsule_data + implicit none + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self + integer(C_INT32_T), value, intent(IN) :: idx + character(kind=C_CHAR), intent(OUT) :: SHT_rv(*) + integer(C_INT), value, intent(IN) :: SHT_rv_len + end subroutine c_group_get_view_name_int32_t_bufferify + + subroutine c_group_get_view_name_int64_t_bufferify(self, idx, & + SHT_rv, SHT_rv_len) & + bind(C, name="SIDRE_Group_get_view_name_int64_t_bufferify") + use iso_c_binding, only : C_CHAR, C_INT, C_INT64_T + import :: SIDRE_SHROUD_capsule_data + implicit none + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self + integer(C_INT64_T), value, intent(IN) :: idx + character(kind=C_CHAR), intent(OUT) :: SHT_rv(*) + integer(C_INT), value, intent(IN) :: SHT_rv_len + end subroutine c_group_get_view_name_int64_t_bufferify + + function c_group_get_view_from_name(self, path, SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_Group_get_view_from_name") use iso_c_binding, only : C_CHAR, C_PTR - import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) - type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_group_get_view_from_name - function c_group_get_view_from_name_bufferify(self, path, Lpath, & - SHT_crv) & - result(SHT_rv) & + function c_group_get_view_from_name_bufferify(self, path, & + SHT_path_len, SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_Group_get_view_from_name_bufferify") use iso_c_binding, only : C_CHAR, C_INT, C_PTR - import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) - integer(C_INT), value, intent(IN) :: Lpath - type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + integer(C_INT), value, intent(IN) :: SHT_path_len + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_group_get_view_from_name_bufferify - function c_group_get_view_from_index(self, idx, SHT_crv) & - result(SHT_rv) & + function c_group_get_view_from_index(self, idx, SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_Group_get_view_from_index") use iso_c_binding, only : C_PTR - import :: SIDRE_IndexType, SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(SIDRE_IndexType), value, intent(IN) :: idx - type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_group_get_view_from_index + function c_group_get_view_from_index_int32_t(self, idx, SHT_rv) & + result(SHT_prv) & + bind(C, name="SIDRE_Group_get_view_from_index_int32_t") + use iso_c_binding, only : C_INT32_T, C_PTR + import :: SIDRE_SHROUD_capsule_data + implicit none + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self + integer(C_INT32_T), value, intent(IN) :: idx + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv + end function c_group_get_view_from_index_int32_t + + function c_group_get_view_from_index_int64_t(self, idx, SHT_rv) & + result(SHT_prv) & + bind(C, name="SIDRE_Group_get_view_from_index_int64_t") + use iso_c_binding, only : C_INT64_T, C_PTR + import :: SIDRE_SHROUD_capsule_data + implicit none + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self + integer(C_INT64_T), value, intent(IN) :: idx + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv + end function c_group_get_view_from_index_int64_t + pure function c_group_get_first_valid_view_index(self) & result(SHT_rv) & bind(C, name="SIDRE_Group_get_first_valid_view_index") - import :: SIDRE_IndexType, SIDRE_SHROUD_group_capsule + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(SIDRE_IndexType) :: SHT_rv end function c_group_get_first_valid_view_index pure function c_group_get_next_valid_view_index(self, idx) & result(SHT_rv) & bind(C, name="SIDRE_Group_get_next_valid_view_index") - import :: SIDRE_IndexType, SIDRE_SHROUD_group_capsule + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(SIDRE_IndexType), value, intent(IN) :: idx integer(SIDRE_IndexType) :: SHT_rv end function c_group_get_next_valid_view_index - function c_group_create_view_empty(self, path, SHT_crv) & - result(SHT_rv) & + function c_group_create_view_empty(self, path, SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_Group_create_view_empty") use iso_c_binding, only : C_CHAR, C_PTR - import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) - type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_group_create_view_empty - function c_group_create_view_empty_bufferify(self, path, Lpath, & - SHT_crv) & - result(SHT_rv) & + function c_group_create_view_empty_bufferify(self, path, & + SHT_path_len, SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_Group_create_view_empty_bufferify") use iso_c_binding, only : C_CHAR, C_INT, C_PTR - import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) - integer(C_INT), value, intent(IN) :: Lpath - type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + integer(C_INT), value, intent(IN) :: SHT_path_len + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_group_create_view_empty_bufferify function c_group_create_view_from_type(self, path, type, & - num_elems, SHT_crv) & - result(SHT_rv) & + num_elems, SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_Group_create_view_from_type") use iso_c_binding, only : C_CHAR, C_PTR - import :: SIDRE_IndexType, SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule, TypeID + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data, TypeID implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) integer(TypeID), value, intent(IN) :: type integer(SIDRE_IndexType), value, intent(IN) :: num_elems - type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_group_create_view_from_type - function c_group_create_view_from_type_bufferify(self, path, & - Lpath, type, num_elems, SHT_crv) & - result(SHT_rv) & - bind(C, name="SIDRE_Group_create_view_from_type_bufferify") - use iso_c_binding, only : C_CHAR, C_INT, C_PTR - import :: SIDRE_IndexType, SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule, TypeID + function c_group_create_view_from_type_int32_t_bufferify(self, & + path, SHT_path_len, type, num_elems, SHT_rv) & + result(SHT_prv) & + bind(C, name="SIDRE_Group_create_view_from_type_int32_t_bufferify") + use iso_c_binding, only : C_CHAR, C_INT, C_INT32_T, C_PTR + import :: SIDRE_SHROUD_capsule_data, TypeID implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) - integer(C_INT), value, intent(IN) :: Lpath + integer(C_INT), value, intent(IN) :: SHT_path_len integer(TypeID), value, intent(IN) :: type - integer(SIDRE_IndexType), value, intent(IN) :: num_elems - type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv - end function c_group_create_view_from_type_bufferify + integer(C_INT32_T), value, intent(IN) :: num_elems + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv + end function c_group_create_view_from_type_int32_t_bufferify + + function c_group_create_view_from_type_int64_t_bufferify(self, & + path, SHT_path_len, type, num_elems, SHT_rv) & + result(SHT_prv) & + bind(C, name="SIDRE_Group_create_view_from_type_int64_t_bufferify") + use iso_c_binding, only : C_CHAR, C_INT, C_INT64_T, C_PTR + import :: SIDRE_SHROUD_capsule_data, TypeID + implicit none + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self + character(kind=C_CHAR), intent(IN) :: path(*) + integer(C_INT), value, intent(IN) :: SHT_path_len + integer(TypeID), value, intent(IN) :: type + integer(C_INT64_T), value, intent(IN) :: num_elems + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv + end function c_group_create_view_from_type_int64_t_bufferify function c_group_create_view_with_shape_base(self, path, type, & - ndims, shape, SHT_crv) & - result(SHT_rv) & + ndims, shape, SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_Group_create_view_with_shape_base") use iso_c_binding, only : C_CHAR, C_INT, C_PTR - import :: SIDRE_IndexType, SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule, TypeID + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data, TypeID implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) integer(TypeID), value, intent(IN) :: type integer(C_INT), value, intent(IN) :: ndims integer(SIDRE_IndexType), intent(IN) :: shape(*) - type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_group_create_view_with_shape_base function c_group_create_view_with_shape_base_bufferify(self, & - path, Lpath, type, ndims, shape, SHT_crv) & - result(SHT_rv) & + path, SHT_path_len, type, ndims, shape, SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_Group_create_view_with_shape_base_bufferify") use iso_c_binding, only : C_CHAR, C_INT, C_PTR - import :: SIDRE_IndexType, SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule, TypeID + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data, TypeID implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) - integer(C_INT), value, intent(IN) :: Lpath + integer(C_INT), value, intent(IN) :: SHT_path_len integer(TypeID), value, intent(IN) :: type integer(C_INT), value, intent(IN) :: ndims integer(SIDRE_IndexType), intent(IN) :: shape(*) - type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_group_create_view_with_shape_base_bufferify function c_group_create_view_into_buffer(self, path, buff, & - SHT_crv) & - result(SHT_rv) & + SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_Group_create_view_into_buffer") use iso_c_binding, only : C_CHAR, C_PTR - import :: SIDRE_SHROUD_buffer_capsule, SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) - type(SIDRE_SHROUD_buffer_capsule), intent(INOUT) :: buff - type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + type(SIDRE_SHROUD_capsule_data), intent(INOUT) :: buff + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_group_create_view_into_buffer function c_group_create_view_into_buffer_bufferify(self, path, & - Lpath, buff, SHT_crv) & - result(SHT_rv) & + SHT_path_len, buff, SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_Group_create_view_into_buffer_bufferify") use iso_c_binding, only : C_CHAR, C_INT, C_PTR - import :: SIDRE_SHROUD_buffer_capsule, SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) - integer(C_INT), value, intent(IN) :: Lpath - type(SIDRE_SHROUD_buffer_capsule), intent(INOUT) :: buff - type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + integer(C_INT), value, intent(IN) :: SHT_path_len + type(SIDRE_SHROUD_capsule_data), intent(INOUT) :: buff + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_group_create_view_into_buffer_bufferify function c_group_create_view_from_type_and_buffer(self, path, & - type, num_elems, buff, SHT_crv) & - result(SHT_rv) & + type, num_elems, buff, SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_Group_create_view_from_type_and_buffer") use iso_c_binding, only : C_CHAR, C_PTR - import :: SIDRE_IndexType, SIDRE_SHROUD_buffer_capsule, SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule, TypeID + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data, TypeID implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) integer(TypeID), value, intent(IN) :: type integer(SIDRE_IndexType), value, intent(IN) :: num_elems - type(SIDRE_SHROUD_buffer_capsule), intent(INOUT) :: buff - type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + type(SIDRE_SHROUD_capsule_data), intent(INOUT) :: buff + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_group_create_view_from_type_and_buffer - function c_group_create_view_from_type_and_buffer_bufferify( & - self, path, Lpath, type, num_elems, buff, SHT_crv) & - result(SHT_rv) & - bind(C, name="SIDRE_Group_create_view_from_type_and_buffer_bufferify") - use iso_c_binding, only : C_CHAR, C_INT, C_PTR - import :: SIDRE_IndexType, SIDRE_SHROUD_buffer_capsule, SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule, TypeID + function c_group_create_view_from_type_and_buffer_int32_t_bufferify( & + self, path, SHT_path_len, type, num_elems, buff, SHT_rv) & + result(SHT_prv) & + bind(C, name="SIDRE_Group_create_view_from_type_and_buffer_int32_t_bufferify") + use iso_c_binding, only : C_CHAR, C_INT, C_INT32_T, C_PTR + import :: SIDRE_SHROUD_capsule_data, TypeID implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) - integer(C_INT), value, intent(IN) :: Lpath + integer(C_INT), value, intent(IN) :: SHT_path_len integer(TypeID), value, intent(IN) :: type - integer(SIDRE_IndexType), value, intent(IN) :: num_elems - type(SIDRE_SHROUD_buffer_capsule), intent(INOUT) :: buff - type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv - end function c_group_create_view_from_type_and_buffer_bufferify + integer(C_INT32_T), value, intent(IN) :: num_elems + type(SIDRE_SHROUD_capsule_data), intent(INOUT) :: buff + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv + end function c_group_create_view_from_type_and_buffer_int32_t_bufferify + + function c_group_create_view_from_type_and_buffer_int64_t_bufferify( & + self, path, SHT_path_len, type, num_elems, buff, SHT_rv) & + result(SHT_prv) & + bind(C, name="SIDRE_Group_create_view_from_type_and_buffer_int64_t_bufferify") + use iso_c_binding, only : C_CHAR, C_INT, C_INT64_T, C_PTR + import :: SIDRE_SHROUD_capsule_data, TypeID + implicit none + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self + character(kind=C_CHAR), intent(IN) :: path(*) + integer(C_INT), value, intent(IN) :: SHT_path_len + integer(TypeID), value, intent(IN) :: type + integer(C_INT64_T), value, intent(IN) :: num_elems + type(SIDRE_SHROUD_capsule_data), intent(INOUT) :: buff + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv + end function c_group_create_view_from_type_and_buffer_int64_t_bufferify function c_group_create_view_with_shape_and_buffer(self, path, & - type, ndims, shape, buff, SHT_crv) & - result(SHT_rv) & + type, ndims, shape, buff, SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_Group_create_view_with_shape_and_buffer") use iso_c_binding, only : C_CHAR, C_INT, C_PTR - import :: SIDRE_IndexType, SIDRE_SHROUD_buffer_capsule, SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule, TypeID + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data, TypeID implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) integer(TypeID), value, intent(IN) :: type integer(C_INT), value, intent(IN) :: ndims integer(SIDRE_IndexType), intent(IN) :: shape(*) - type(SIDRE_SHROUD_buffer_capsule), intent(INOUT) :: buff - type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + type(SIDRE_SHROUD_capsule_data), intent(INOUT) :: buff + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_group_create_view_with_shape_and_buffer function c_group_create_view_with_shape_and_buffer_bufferify( & - self, path, Lpath, type, ndims, shape, buff, SHT_crv) & - result(SHT_rv) & + self, path, SHT_path_len, type, ndims, shape, buff, & + SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_Group_create_view_with_shape_and_buffer_bufferify") use iso_c_binding, only : C_CHAR, C_INT, C_PTR - import :: SIDRE_IndexType, SIDRE_SHROUD_buffer_capsule, SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule, TypeID + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data, TypeID implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) - integer(C_INT), value, intent(IN) :: Lpath + integer(C_INT), value, intent(IN) :: SHT_path_len integer(TypeID), value, intent(IN) :: type integer(C_INT), value, intent(IN) :: ndims integer(SIDRE_IndexType), intent(IN) :: shape(*) - type(SIDRE_SHROUD_buffer_capsule), intent(INOUT) :: buff - type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + type(SIDRE_SHROUD_capsule_data), intent(INOUT) :: buff + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_group_create_view_with_shape_and_buffer_bufferify function c_group_create_view_external(self, path, external_ptr, & - SHT_crv) & - result(SHT_rv) & + SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_Group_create_view_external") use iso_c_binding, only : C_CHAR, C_PTR - import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) type(C_PTR), value, intent(IN) :: external_ptr - type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_group_create_view_external function c_group_create_view_external_bufferify(self, path, & - Lpath, external_ptr, SHT_crv) & - result(SHT_rv) & + SHT_path_len, external_ptr, SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_Group_create_view_external_bufferify") use iso_c_binding, only : C_CHAR, C_INT, C_PTR - import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) - integer(C_INT), value, intent(IN) :: Lpath + integer(C_INT), value, intent(IN) :: SHT_path_len type(C_PTR), value, intent(IN) :: external_ptr - type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_group_create_view_external_bufferify function c_group_create_view_from_type_external(self, path, & - type, num_elems, external_ptr, SHT_crv) & - result(SHT_rv) & + type, num_elems, external_ptr, SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_Group_create_view_from_type_external") use iso_c_binding, only : C_CHAR, C_PTR - import :: SIDRE_IndexType, SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule, TypeID + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data, TypeID implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) integer(TypeID), value, intent(IN) :: type integer(SIDRE_IndexType), value, intent(IN) :: num_elems type(C_PTR), value, intent(IN) :: external_ptr - type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_group_create_view_from_type_external - function c_group_create_view_from_type_external_bufferify(self, & - path, Lpath, type, num_elems, external_ptr, SHT_crv) & - result(SHT_rv) & - bind(C, name="SIDRE_Group_create_view_from_type_external_bufferify") - use iso_c_binding, only : C_CHAR, C_INT, C_PTR - import :: SIDRE_IndexType, SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule, TypeID + function c_group_create_view_from_type_external_int32_t_bufferify( & + self, path, SHT_path_len, type, num_elems, external_ptr, & + SHT_rv) & + result(SHT_prv) & + bind(C, name="SIDRE_Group_create_view_from_type_external_int32_t_bufferify") + use iso_c_binding, only : C_CHAR, C_INT, C_INT32_T, C_PTR + import :: SIDRE_SHROUD_capsule_data, TypeID implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) - integer(C_INT), value, intent(IN) :: Lpath + integer(C_INT), value, intent(IN) :: SHT_path_len integer(TypeID), value, intent(IN) :: type - integer(SIDRE_IndexType), value, intent(IN) :: num_elems + integer(C_INT32_T), value, intent(IN) :: num_elems type(C_PTR), value, intent(IN) :: external_ptr - type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv - end function c_group_create_view_from_type_external_bufferify + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv + end function c_group_create_view_from_type_external_int32_t_bufferify + + function c_group_create_view_from_type_external_int64_t_bufferify( & + self, path, SHT_path_len, type, num_elems, external_ptr, & + SHT_rv) & + result(SHT_prv) & + bind(C, name="SIDRE_Group_create_view_from_type_external_int64_t_bufferify") + use iso_c_binding, only : C_CHAR, C_INT, C_INT64_T, C_PTR + import :: SIDRE_SHROUD_capsule_data, TypeID + implicit none + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self + character(kind=C_CHAR), intent(IN) :: path(*) + integer(C_INT), value, intent(IN) :: SHT_path_len + integer(TypeID), value, intent(IN) :: type + integer(C_INT64_T), value, intent(IN) :: num_elems + type(C_PTR), value, intent(IN) :: external_ptr + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv + end function c_group_create_view_from_type_external_int64_t_bufferify function c_group_create_view_with_shape_external(self, path, & - type, ndims, shape, external_ptr, SHT_crv) & - result(SHT_rv) & + type, ndims, shape, external_ptr, SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_Group_create_view_with_shape_external") use iso_c_binding, only : C_CHAR, C_INT, C_PTR - import :: SIDRE_IndexType, SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule, TypeID + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data, TypeID implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) integer(TypeID), value, intent(IN) :: type integer(C_INT), value, intent(IN) :: ndims integer(SIDRE_IndexType), intent(IN) :: shape(*) type(C_PTR), value, intent(IN) :: external_ptr - type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_group_create_view_with_shape_external function c_group_create_view_with_shape_external_bufferify(self, & - path, Lpath, type, ndims, shape, external_ptr, SHT_crv) & - result(SHT_rv) & + path, SHT_path_len, type, ndims, shape, external_ptr, & + SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_Group_create_view_with_shape_external_bufferify") use iso_c_binding, only : C_CHAR, C_INT, C_PTR - import :: SIDRE_IndexType, SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule, TypeID + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data, TypeID implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) - integer(C_INT), value, intent(IN) :: Lpath + integer(C_INT), value, intent(IN) :: SHT_path_len integer(TypeID), value, intent(IN) :: type integer(C_INT), value, intent(IN) :: ndims integer(SIDRE_IndexType), intent(IN) :: shape(*) type(C_PTR), value, intent(IN) :: external_ptr - type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_group_create_view_with_shape_external_bufferify function c_group_create_view_and_allocate_nelems(self, path, & - type, num_elems, SHT_crv) & - result(SHT_rv) & + type, num_elems, SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_Group_create_view_and_allocate_nelems") use iso_c_binding, only : C_CHAR, C_PTR - import :: SIDRE_IndexType, SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule, TypeID + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data, TypeID implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) integer(TypeID), value, intent(IN) :: type integer(SIDRE_IndexType), value, intent(IN) :: num_elems - type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_group_create_view_and_allocate_nelems - function c_group_create_view_and_allocate_nelems_bufferify(self, & - path, Lpath, type, num_elems, SHT_crv) & - result(SHT_rv) & - bind(C, name="SIDRE_Group_create_view_and_allocate_nelems_bufferify") - use iso_c_binding, only : C_CHAR, C_INT, C_PTR - import :: SIDRE_IndexType, SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule, TypeID + function c_group_create_view_and_allocate_nelems_int32_t_bufferify( & + self, path, SHT_path_len, type, num_elems, SHT_rv) & + result(SHT_prv) & + bind(C, name="SIDRE_Group_create_view_and_allocate_nelems_int32_t_bufferify") + use iso_c_binding, only : C_CHAR, C_INT, C_INT32_T, C_PTR + import :: SIDRE_SHROUD_capsule_data, TypeID implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) - integer(C_INT), value, intent(IN) :: Lpath + integer(C_INT), value, intent(IN) :: SHT_path_len integer(TypeID), value, intent(IN) :: type - integer(SIDRE_IndexType), value, intent(IN) :: num_elems - type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv - end function c_group_create_view_and_allocate_nelems_bufferify + integer(C_INT32_T), value, intent(IN) :: num_elems + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv + end function c_group_create_view_and_allocate_nelems_int32_t_bufferify + + function c_group_create_view_and_allocate_nelems_int64_t_bufferify( & + self, path, SHT_path_len, type, num_elems, SHT_rv) & + result(SHT_prv) & + bind(C, name="SIDRE_Group_create_view_and_allocate_nelems_int64_t_bufferify") + use iso_c_binding, only : C_CHAR, C_INT, C_INT64_T, C_PTR + import :: SIDRE_SHROUD_capsule_data, TypeID + implicit none + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self + character(kind=C_CHAR), intent(IN) :: path(*) + integer(C_INT), value, intent(IN) :: SHT_path_len + integer(TypeID), value, intent(IN) :: type + integer(C_INT64_T), value, intent(IN) :: num_elems + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv + end function c_group_create_view_and_allocate_nelems_int64_t_bufferify function c_group_create_view_with_shape_and_allocate(self, path, & - type, ndims, shape, SHT_crv) & - result(SHT_rv) & + type, ndims, shape, SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_Group_create_view_with_shape_and_allocate") use iso_c_binding, only : C_CHAR, C_INT, C_PTR - import :: SIDRE_IndexType, SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule, TypeID + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data, TypeID implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) integer(TypeID), value, intent(IN) :: type integer(C_INT), value, intent(IN) :: ndims integer(SIDRE_IndexType), intent(IN) :: shape(*) - type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_group_create_view_with_shape_and_allocate function c_group_create_view_with_shape_and_allocate_bufferify( & - self, path, Lpath, type, ndims, shape, SHT_crv) & - result(SHT_rv) & + self, path, SHT_path_len, type, ndims, shape, SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_Group_create_view_with_shape_and_allocate_bufferify") use iso_c_binding, only : C_CHAR, C_INT, C_PTR - import :: SIDRE_IndexType, SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule, TypeID + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data, TypeID implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) - integer(C_INT), value, intent(IN) :: Lpath + integer(C_INT), value, intent(IN) :: SHT_path_len integer(TypeID), value, intent(IN) :: type integer(C_INT), value, intent(IN) :: ndims integer(SIDRE_IndexType), intent(IN) :: shape(*) - type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_group_create_view_with_shape_and_allocate_bufferify function c_group_create_view_scalar_int(self, path, value, & - SHT_crv) & - result(SHT_rv) & + SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_Group_create_view_scalar_int") use iso_c_binding, only : C_CHAR, C_INT, C_PTR - import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) integer(C_INT), value, intent(IN) :: value - type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_group_create_view_scalar_int function c_group_create_view_scalar_bufferify_int(self, path, & - Lpath, value, SHT_crv) & - result(SHT_rv) & + SHT_path_len, value, SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_Group_create_view_scalar_bufferify_int") use iso_c_binding, only : C_CHAR, C_INT, C_PTR - import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) - integer(C_INT), value, intent(IN) :: Lpath + integer(C_INT), value, intent(IN) :: SHT_path_len integer(C_INT), value, intent(IN) :: value - type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_group_create_view_scalar_bufferify_int function c_group_create_view_scalar_long(self, path, value, & - SHT_crv) & - result(SHT_rv) & + SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_Group_create_view_scalar_long") use iso_c_binding, only : C_CHAR, C_LONG, C_PTR - import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) integer(C_LONG), value, intent(IN) :: value - type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_group_create_view_scalar_long function c_group_create_view_scalar_bufferify_long(self, path, & - Lpath, value, SHT_crv) & - result(SHT_rv) & + SHT_path_len, value, SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_Group_create_view_scalar_bufferify_long") use iso_c_binding, only : C_CHAR, C_INT, C_LONG, C_PTR - import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) - integer(C_INT), value, intent(IN) :: Lpath + integer(C_INT), value, intent(IN) :: SHT_path_len integer(C_LONG), value, intent(IN) :: value - type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_group_create_view_scalar_bufferify_long function c_group_create_view_scalar_float(self, path, value, & - SHT_crv) & - result(SHT_rv) & + SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_Group_create_view_scalar_float") use iso_c_binding, only : C_CHAR, C_FLOAT, C_PTR - import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) real(C_FLOAT), value, intent(IN) :: value - type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_group_create_view_scalar_float function c_group_create_view_scalar_bufferify_float(self, path, & - Lpath, value, SHT_crv) & - result(SHT_rv) & + SHT_path_len, value, SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_Group_create_view_scalar_bufferify_float") use iso_c_binding, only : C_CHAR, C_FLOAT, C_INT, C_PTR - import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) - integer(C_INT), value, intent(IN) :: Lpath + integer(C_INT), value, intent(IN) :: SHT_path_len real(C_FLOAT), value, intent(IN) :: value - type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_group_create_view_scalar_bufferify_float function c_group_create_view_scalar_double(self, path, value, & - SHT_crv) & - result(SHT_rv) & + SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_Group_create_view_scalar_double") use iso_c_binding, only : C_CHAR, C_DOUBLE, C_PTR - import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) real(C_DOUBLE), value, intent(IN) :: value - type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_group_create_view_scalar_double function c_group_create_view_scalar_bufferify_double(self, path, & - Lpath, value, SHT_crv) & - result(SHT_rv) & + SHT_path_len, value, SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_Group_create_view_scalar_bufferify_double") use iso_c_binding, only : C_CHAR, C_DOUBLE, C_INT, C_PTR - import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) - integer(C_INT), value, intent(IN) :: Lpath + integer(C_INT), value, intent(IN) :: SHT_path_len real(C_DOUBLE), value, intent(IN) :: value - type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_group_create_view_scalar_bufferify_double - function c_group_create_view_string(self, path, value, SHT_crv) & - result(SHT_rv) & + function c_group_create_view_string(self, path, value, SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_Group_create_view_string") use iso_c_binding, only : C_CHAR, C_PTR - import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) character(kind=C_CHAR), intent(IN) :: value(*) - type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_group_create_view_string - function c_group_create_view_string_bufferify(self, path, Lpath, & - value, Lvalue, SHT_crv) & - result(SHT_rv) & + function c_group_create_view_string_bufferify(self, path, & + SHT_path_len, value, SHT_value_len, SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_Group_create_view_string_bufferify") use iso_c_binding, only : C_CHAR, C_INT, C_PTR - import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) - integer(C_INT), value, intent(IN) :: Lpath + integer(C_INT), value, intent(IN) :: SHT_path_len character(kind=C_CHAR), intent(IN) :: value(*) - integer(C_INT), value, intent(IN) :: Lvalue - type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + integer(C_INT), value, intent(IN) :: SHT_value_len + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_group_create_view_string_bufferify subroutine c_group_destroy_view(self, path) & bind(C, name="SIDRE_Group_destroy_view") use iso_c_binding, only : C_CHAR - import :: SIDRE_SHROUD_group_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) end subroutine c_group_destroy_view - subroutine c_group_destroy_view_bufferify(self, path, Lpath) & + subroutine c_group_destroy_view_bufferify(self, path, & + SHT_path_len) & bind(C, name="SIDRE_Group_destroy_view_bufferify") use iso_c_binding, only : C_CHAR, C_INT - import :: SIDRE_SHROUD_group_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) - integer(C_INT), value, intent(IN) :: Lpath + integer(C_INT), value, intent(IN) :: SHT_path_len end subroutine c_group_destroy_view_bufferify subroutine c_group_destroy_view_and_data_name(self, path) & bind(C, name="SIDRE_Group_destroy_view_and_data_name") use iso_c_binding, only : C_CHAR - import :: SIDRE_SHROUD_group_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) end subroutine c_group_destroy_view_and_data_name subroutine c_group_destroy_view_and_data_name_bufferify(self, & - path, Lpath) & + path, SHT_path_len) & bind(C, name="SIDRE_Group_destroy_view_and_data_name_bufferify") use iso_c_binding, only : C_CHAR, C_INT - import :: SIDRE_SHROUD_group_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) - integer(C_INT), value, intent(IN) :: Lpath + integer(C_INT), value, intent(IN) :: SHT_path_len end subroutine c_group_destroy_view_and_data_name_bufferify subroutine c_group_destroy_view_and_data_index(self, idx) & bind(C, name="SIDRE_Group_destroy_view_and_data_index") - import :: SIDRE_IndexType, SIDRE_SHROUD_group_capsule + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(SIDRE_IndexType), value, intent(IN) :: idx end subroutine c_group_destroy_view_and_data_index - function c_group_move_view(self, view, SHT_crv) & - result(SHT_rv) & + function c_group_move_view(self, view, SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_Group_move_view") use iso_c_binding, only : C_PTR - import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self - type(SIDRE_SHROUD_view_capsule), intent(INOUT) :: view - type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(INOUT) :: view + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_group_move_view - function c_group_copy_view(self, view, SHT_crv) & - result(SHT_rv) & + function c_group_copy_view(self, view, SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_Group_copy_view") use iso_c_binding, only : C_PTR - import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self - type(SIDRE_SHROUD_view_capsule), intent(INOUT) :: view - type(SIDRE_SHROUD_view_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(INOUT) :: view + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_group_copy_view function c_group_has_group(self, path) & result(SHT_rv) & bind(C, name="SIDRE_Group_has_group") use iso_c_binding, only : C_BOOL, C_CHAR - import :: SIDRE_SHROUD_group_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) logical(C_BOOL) :: SHT_rv end function c_group_has_group - function c_group_has_group_bufferify(self, path, Lpath) & + function c_group_has_group_bufferify(self, path, SHT_path_len) & result(SHT_rv) & bind(C, name="SIDRE_Group_has_group_bufferify") use iso_c_binding, only : C_BOOL, C_CHAR, C_INT - import :: SIDRE_SHROUD_group_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) - integer(C_INT), value, intent(IN) :: Lpath + integer(C_INT), value, intent(IN) :: SHT_path_len logical(C_BOOL) :: SHT_rv end function c_group_has_group_bufferify @@ -1508,22 +1611,23 @@ function c_group_has_child_group(self, name) & result(SHT_rv) & bind(C, name="SIDRE_Group_has_child_group") use iso_c_binding, only : C_BOOL, C_CHAR - import :: SIDRE_SHROUD_group_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: name(*) logical(C_BOOL) :: SHT_rv end function c_group_has_child_group - function c_group_has_child_group_bufferify(self, name, Lname) & + function c_group_has_child_group_bufferify(self, name, & + SHT_name_len) & result(SHT_rv) & bind(C, name="SIDRE_Group_has_child_group_bufferify") use iso_c_binding, only : C_BOOL, C_CHAR, C_INT - import :: SIDRE_SHROUD_group_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: name(*) - integer(C_INT), value, intent(IN) :: Lname + integer(C_INT), value, intent(IN) :: SHT_name_len logical(C_BOOL) :: SHT_rv end function c_group_has_child_group_bufferify @@ -1531,23 +1635,23 @@ pure function c_group_get_group_index(self, name) & result(SHT_rv) & bind(C, name="SIDRE_Group_get_group_index") use iso_c_binding, only : C_CHAR - import :: SIDRE_IndexType, SIDRE_SHROUD_group_capsule + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: name(*) integer(SIDRE_IndexType) :: SHT_rv end function c_group_get_group_index pure function c_group_get_group_index_bufferify(self, name, & - Lname) & + SHT_name_len) & result(SHT_rv) & bind(C, name="SIDRE_Group_get_group_index_bufferify") use iso_c_binding, only : C_CHAR, C_INT - import :: SIDRE_IndexType, SIDRE_SHROUD_group_capsule + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: name(*) - integer(C_INT), value, intent(IN) :: Lname + integer(C_INT), value, intent(IN) :: SHT_name_len integer(SIDRE_IndexType) :: SHT_rv end function c_group_get_group_index_bufferify @@ -1555,290 +1659,325 @@ pure function c_group_get_group_name(self, idx) & result(SHT_rv) & bind(C, name="SIDRE_Group_get_group_name") use iso_c_binding, only : C_PTR - import :: SIDRE_IndexType, SIDRE_SHROUD_group_capsule + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(SIDRE_IndexType), value, intent(IN) :: idx type(C_PTR) SHT_rv end function c_group_get_group_name - subroutine c_group_get_group_name_bufferify(self, idx, SHF_rv, & - NSHF_rv) & - bind(C, name="SIDRE_Group_get_group_name_bufferify") - use iso_c_binding, only : C_CHAR, C_INT - import :: SIDRE_IndexType, SIDRE_SHROUD_group_capsule - implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self - integer(SIDRE_IndexType), value, intent(IN) :: idx - character(kind=C_CHAR), intent(OUT) :: SHF_rv(*) - integer(C_INT), value, intent(IN) :: NSHF_rv - end subroutine c_group_get_group_name_bufferify - - function c_group_get_group_from_name(self, path, SHT_crv) & - result(SHT_rv) & + subroutine c_group_get_group_name_int32_t_bufferify(self, idx, & + SHT_rv, SHT_rv_len) & + bind(C, name="SIDRE_Group_get_group_name_int32_t_bufferify") + use iso_c_binding, only : C_CHAR, C_INT, C_INT32_T + import :: SIDRE_SHROUD_capsule_data + implicit none + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self + integer(C_INT32_T), value, intent(IN) :: idx + character(kind=C_CHAR), intent(OUT) :: SHT_rv(*) + integer(C_INT), value, intent(IN) :: SHT_rv_len + end subroutine c_group_get_group_name_int32_t_bufferify + + subroutine c_group_get_group_name_int64_t_bufferify(self, idx, & + SHT_rv, SHT_rv_len) & + bind(C, name="SIDRE_Group_get_group_name_int64_t_bufferify") + use iso_c_binding, only : C_CHAR, C_INT, C_INT64_T + import :: SIDRE_SHROUD_capsule_data + implicit none + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self + integer(C_INT64_T), value, intent(IN) :: idx + character(kind=C_CHAR), intent(OUT) :: SHT_rv(*) + integer(C_INT), value, intent(IN) :: SHT_rv_len + end subroutine c_group_get_group_name_int64_t_bufferify + + function c_group_get_group_from_name(self, path, SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_Group_get_group_from_name") use iso_c_binding, only : C_CHAR, C_PTR - import :: SIDRE_SHROUD_group_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) - type(SIDRE_SHROUD_group_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_group_get_group_from_name function c_group_get_group_from_name_bufferify(self, path, & - Lpath, SHT_crv) & - result(SHT_rv) & + SHT_path_len, SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_Group_get_group_from_name_bufferify") use iso_c_binding, only : C_CHAR, C_INT, C_PTR - import :: SIDRE_SHROUD_group_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) - integer(C_INT), value, intent(IN) :: Lpath - type(SIDRE_SHROUD_group_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + integer(C_INT), value, intent(IN) :: SHT_path_len + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_group_get_group_from_name_bufferify - function c_group_get_group_from_index(self, idx, SHT_crv) & - result(SHT_rv) & + function c_group_get_group_from_index(self, idx, SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_Group_get_group_from_index") use iso_c_binding, only : C_PTR - import :: SIDRE_IndexType, SIDRE_SHROUD_group_capsule + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(SIDRE_IndexType), value, intent(IN) :: idx - type(SIDRE_SHROUD_group_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_group_get_group_from_index + function c_group_get_group_from_index_int32_t(self, idx, SHT_rv) & + result(SHT_prv) & + bind(C, name="SIDRE_Group_get_group_from_index_int32_t") + use iso_c_binding, only : C_INT32_T, C_PTR + import :: SIDRE_SHROUD_capsule_data + implicit none + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self + integer(C_INT32_T), value, intent(IN) :: idx + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv + end function c_group_get_group_from_index_int32_t + + function c_group_get_group_from_index_int64_t(self, idx, SHT_rv) & + result(SHT_prv) & + bind(C, name="SIDRE_Group_get_group_from_index_int64_t") + use iso_c_binding, only : C_INT64_T, C_PTR + import :: SIDRE_SHROUD_capsule_data + implicit none + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self + integer(C_INT64_T), value, intent(IN) :: idx + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv + end function c_group_get_group_from_index_int64_t + pure function c_group_get_first_valid_group_index(self) & result(SHT_rv) & bind(C, name="SIDRE_Group_get_first_valid_group_index") - import :: SIDRE_IndexType, SIDRE_SHROUD_group_capsule + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(SIDRE_IndexType) :: SHT_rv end function c_group_get_first_valid_group_index pure function c_group_get_next_valid_group_index(self, idx) & result(SHT_rv) & bind(C, name="SIDRE_Group_get_next_valid_group_index") - import :: SIDRE_IndexType, SIDRE_SHROUD_group_capsule + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(SIDRE_IndexType), value, intent(IN) :: idx integer(SIDRE_IndexType) :: SHT_rv end function c_group_get_next_valid_group_index - function c_group_create_group(self, path, SHT_crv) & - result(SHT_rv) & + function c_group_create_group(self, path, SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_Group_create_group") use iso_c_binding, only : C_CHAR, C_PTR - import :: SIDRE_SHROUD_group_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) - type(SIDRE_SHROUD_group_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_group_create_group - function c_group_create_group_bufferify(self, path, Lpath, & - SHT_crv) & - result(SHT_rv) & + function c_group_create_group_bufferify(self, path, & + SHT_path_len, SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_Group_create_group_bufferify") use iso_c_binding, only : C_CHAR, C_INT, C_PTR - import :: SIDRE_SHROUD_group_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) - integer(C_INT), value, intent(IN) :: Lpath - type(SIDRE_SHROUD_group_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + integer(C_INT), value, intent(IN) :: SHT_path_len + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_group_create_group_bufferify subroutine c_group_destroy_group_name(self, path) & bind(C, name="SIDRE_Group_destroy_group_name") use iso_c_binding, only : C_CHAR - import :: SIDRE_SHROUD_group_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) end subroutine c_group_destroy_group_name subroutine c_group_destroy_group_name_bufferify(self, path, & - Lpath) & + SHT_path_len) & bind(C, name="SIDRE_Group_destroy_group_name_bufferify") use iso_c_binding, only : C_CHAR, C_INT - import :: SIDRE_SHROUD_group_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: path(*) - integer(C_INT), value, intent(IN) :: Lpath + integer(C_INT), value, intent(IN) :: SHT_path_len end subroutine c_group_destroy_group_name_bufferify subroutine c_group_destroy_group_index(self, idx) & bind(C, name="SIDRE_Group_destroy_group_index") - import :: SIDRE_IndexType, SIDRE_SHROUD_group_capsule + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(SIDRE_IndexType), value, intent(IN) :: idx end subroutine c_group_destroy_group_index - function c_group_move_group(self, grp, SHT_crv) & - result(SHT_rv) & + function c_group_move_group(self, grp, SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_Group_move_group") use iso_c_binding, only : C_PTR - import :: SIDRE_SHROUD_group_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self - type(SIDRE_SHROUD_group_capsule), intent(INOUT) :: grp - type(SIDRE_SHROUD_group_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(INOUT) :: grp + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_group_move_group subroutine c_group_print(self) & bind(C, name="SIDRE_Group_print") - import :: SIDRE_SHROUD_group_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self end subroutine c_group_print pure function c_group_is_equivalent_to(self, other) & result(SHT_rv) & bind(C, name="SIDRE_Group_is_equivalent_to") use iso_c_binding, only : C_BOOL - import :: SIDRE_SHROUD_group_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self - type(SIDRE_SHROUD_group_capsule), intent(IN) :: other + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: other logical(C_BOOL) :: SHT_rv end function c_group_is_equivalent_to subroutine c_group_save(self, file_path, protocol) & bind(C, name="SIDRE_Group_save") use iso_c_binding, only : C_CHAR - import :: SIDRE_SHROUD_group_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: file_path(*) character(kind=C_CHAR), intent(IN) :: protocol(*) end subroutine c_group_save - subroutine c_group_save_bufferify(self, file_path, Lfile_path, & - protocol, Lprotocol) & + subroutine c_group_save_bufferify(self, file_path, & + SHT_file_path_len, protocol, SHT_protocol_len) & bind(C, name="SIDRE_Group_save_bufferify") use iso_c_binding, only : C_CHAR, C_INT - import :: SIDRE_SHROUD_group_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: file_path(*) - integer(C_INT), value, intent(IN) :: Lfile_path + integer(C_INT), value, intent(IN) :: SHT_file_path_len character(kind=C_CHAR), intent(IN) :: protocol(*) - integer(C_INT), value, intent(IN) :: Lprotocol + integer(C_INT), value, intent(IN) :: SHT_protocol_len end subroutine c_group_save_bufferify subroutine c_group_load_0(self, file_path, protocol) & bind(C, name="SIDRE_Group_load_0") use iso_c_binding, only : C_CHAR - import :: SIDRE_SHROUD_group_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: file_path(*) character(kind=C_CHAR), intent(IN) :: protocol(*) end subroutine c_group_load_0 - subroutine c_group_load_0_bufferify(self, file_path, Lfile_path, & - protocol, Lprotocol) & + subroutine c_group_load_0_bufferify(self, file_path, & + SHT_file_path_len, protocol, SHT_protocol_len) & bind(C, name="SIDRE_Group_load_0_bufferify") use iso_c_binding, only : C_CHAR, C_INT - import :: SIDRE_SHROUD_group_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: file_path(*) - integer(C_INT), value, intent(IN) :: Lfile_path + integer(C_INT), value, intent(IN) :: SHT_file_path_len character(kind=C_CHAR), intent(IN) :: protocol(*) - integer(C_INT), value, intent(IN) :: Lprotocol + integer(C_INT), value, intent(IN) :: SHT_protocol_len end subroutine c_group_load_0_bufferify subroutine c_group_load_1(self, file_path, protocol, & preserve_contents) & bind(C, name="SIDRE_Group_load_1") use iso_c_binding, only : C_BOOL, C_CHAR - import :: SIDRE_SHROUD_group_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: file_path(*) character(kind=C_CHAR), intent(IN) :: protocol(*) logical(C_BOOL), value, intent(IN) :: preserve_contents end subroutine c_group_load_1 - subroutine c_group_load_1_bufferify(self, file_path, Lfile_path, & - protocol, Lprotocol, preserve_contents) & + subroutine c_group_load_1_bufferify(self, file_path, & + SHT_file_path_len, protocol, SHT_protocol_len, & + preserve_contents) & bind(C, name="SIDRE_Group_load_1_bufferify") use iso_c_binding, only : C_BOOL, C_CHAR, C_INT - import :: SIDRE_SHROUD_group_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: file_path(*) - integer(C_INT), value, intent(IN) :: Lfile_path + integer(C_INT), value, intent(IN) :: SHT_file_path_len character(kind=C_CHAR), intent(IN) :: protocol(*) - integer(C_INT), value, intent(IN) :: Lprotocol + integer(C_INT), value, intent(IN) :: SHT_protocol_len logical(C_BOOL), value, intent(IN) :: preserve_contents end subroutine c_group_load_1_bufferify subroutine c_group_load_external_data(self, file_path) & bind(C, name="SIDRE_Group_load_external_data") use iso_c_binding, only : C_CHAR - import :: SIDRE_SHROUD_group_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: file_path(*) end subroutine c_group_load_external_data subroutine c_group_load_external_data_bufferify(self, file_path, & - Lfile_path) & + SHT_file_path_len) & bind(C, name="SIDRE_Group_load_external_data_bufferify") use iso_c_binding, only : C_CHAR, C_INT - import :: SIDRE_SHROUD_group_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: file_path(*) - integer(C_INT), value, intent(IN) :: Lfile_path + integer(C_INT), value, intent(IN) :: SHT_file_path_len end subroutine c_group_load_external_data_bufferify function c_group_rename(self, new_name) & result(SHT_rv) & bind(C, name="SIDRE_Group_rename") use iso_c_binding, only : C_BOOL, C_CHAR - import :: SIDRE_SHROUD_group_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: new_name(*) logical(C_BOOL) :: SHT_rv end function c_group_rename - function c_group_rename_bufferify(self, new_name, Lnew_name) & + function c_group_rename_bufferify(self, new_name, & + SHT_new_name_len) & result(SHT_rv) & bind(C, name="SIDRE_Group_rename_bufferify") use iso_c_binding, only : C_BOOL, C_CHAR, C_INT - import :: SIDRE_SHROUD_group_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_group_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: new_name(*) - integer(C_INT), value, intent(IN) :: Lnew_name + integer(C_INT), value, intent(IN) :: SHT_new_name_len logical(C_BOOL) :: SHT_rv end function c_group_rename_bufferify - ! splicer begin class.Group.additional_interfaces - ! splicer end class.Group.additional_interfaces - function c_view_get_index(self) & result(SHT_rv) & bind(C, name="SIDRE_View_get_index") - import :: SIDRE_IndexType, SIDRE_SHROUD_view_capsule + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(SIDRE_IndexType) :: SHT_rv end function c_view_get_index @@ -1846,81 +1985,82 @@ pure function c_view_get_name(self) & result(SHT_rv) & bind(C, name="SIDRE_View_get_name") use iso_c_binding, only : C_PTR - import :: SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self type(C_PTR) SHT_rv end function c_view_get_name - subroutine c_view_get_name_bufferify(self, SHF_rv, NSHF_rv) & + subroutine c_view_get_name_bufferify(self, SHT_rv, SHT_rv_len) & bind(C, name="SIDRE_View_get_name_bufferify") use iso_c_binding, only : C_CHAR, C_INT - import :: SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self - character(kind=C_CHAR), intent(OUT) :: SHF_rv(*) - integer(C_INT), value, intent(IN) :: NSHF_rv + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self + character(kind=C_CHAR), intent(OUT) :: SHT_rv(*) + integer(C_INT), value, intent(IN) :: SHT_rv_len end subroutine c_view_get_name_bufferify - subroutine c_view_get_path_bufferify(self, SHF_rv, NSHF_rv) & + subroutine c_view_get_path_bufferify(self, SHT_rv, SHT_rv_len) & bind(C, name="SIDRE_View_get_path_bufferify") use iso_c_binding, only : C_CHAR, C_INT - import :: SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self - character(kind=C_CHAR), intent(OUT) :: SHF_rv(*) - integer(C_INT), value, intent(IN) :: NSHF_rv + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self + character(kind=C_CHAR), intent(OUT) :: SHT_rv(*) + integer(C_INT), value, intent(IN) :: SHT_rv_len end subroutine c_view_get_path_bufferify - subroutine c_view_get_path_name_bufferify(self, SHF_rv, NSHF_rv) & + subroutine c_view_get_path_name_bufferify(self, SHT_rv, & + SHT_rv_len) & bind(C, name="SIDRE_View_get_path_name_bufferify") use iso_c_binding, only : C_CHAR, C_INT - import :: SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self - character(kind=C_CHAR), intent(OUT) :: SHF_rv(*) - integer(C_INT), value, intent(IN) :: NSHF_rv + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self + character(kind=C_CHAR), intent(OUT) :: SHT_rv(*) + integer(C_INT), value, intent(IN) :: SHT_rv_len end subroutine c_view_get_path_name_bufferify - function c_view_get_owning_group(self, SHT_crv) & - result(SHT_rv) & + function c_view_get_owning_group(self, SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_View_get_owning_group") use iso_c_binding, only : C_PTR - import :: SIDRE_SHROUD_group_capsule, SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self - type(SIDRE_SHROUD_group_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_view_get_owning_group pure function c_view_has_buffer(self) & result(SHT_rv) & bind(C, name="SIDRE_View_has_buffer") use iso_c_binding, only : C_BOOL - import :: SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self logical(C_BOOL) :: SHT_rv end function c_view_has_buffer - function c_view_get_buffer(self, SHT_crv) & - result(SHT_rv) & + function c_view_get_buffer(self, SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_View_get_buffer") use iso_c_binding, only : C_PTR - import :: SIDRE_SHROUD_buffer_capsule, SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self - type(SIDRE_SHROUD_buffer_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_view_get_buffer pure function c_view_is_external(self) & result(SHT_rv) & bind(C, name="SIDRE_View_is_external") use iso_c_binding, only : C_BOOL - import :: SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self logical(C_BOOL) :: SHT_rv end function c_view_is_external @@ -1928,9 +2068,9 @@ function c_view_is_allocated(self) & result(SHT_rv) & bind(C, name="SIDRE_View_is_allocated") use iso_c_binding, only : C_BOOL - import :: SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self logical(C_BOOL) :: SHT_rv end function c_view_is_allocated @@ -1938,9 +2078,9 @@ pure function c_view_is_applied(self) & result(SHT_rv) & bind(C, name="SIDRE_View_is_applied") use iso_c_binding, only : C_BOOL - import :: SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self logical(C_BOOL) :: SHT_rv end function c_view_is_applied @@ -1948,9 +2088,9 @@ pure function c_view_is_described(self) & result(SHT_rv) & bind(C, name="SIDRE_View_is_described") use iso_c_binding, only : C_BOOL - import :: SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self logical(C_BOOL) :: SHT_rv end function c_view_is_described @@ -1958,9 +2098,9 @@ pure function c_view_is_empty(self) & result(SHT_rv) & bind(C, name="SIDRE_View_is_empty") use iso_c_binding, only : C_BOOL - import :: SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self logical(C_BOOL) :: SHT_rv end function c_view_is_empty @@ -1968,9 +2108,9 @@ pure function c_view_is_opaque(self) & result(SHT_rv) & bind(C, name="SIDRE_View_is_opaque") use iso_c_binding, only : C_BOOL - import :: SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self logical(C_BOOL) :: SHT_rv end function c_view_is_opaque @@ -1978,9 +2118,9 @@ pure function c_view_is_scalar(self) & result(SHT_rv) & bind(C, name="SIDRE_View_is_scalar") use iso_c_binding, only : C_BOOL - import :: SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self logical(C_BOOL) :: SHT_rv end function c_view_is_scalar @@ -1988,18 +2128,18 @@ pure function c_view_is_string(self) & result(SHT_rv) & bind(C, name="SIDRE_View_is_string") use iso_c_binding, only : C_BOOL - import :: SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self logical(C_BOOL) :: SHT_rv end function c_view_is_string pure function c_view_get_type_id(self) & result(SHT_rv) & bind(C, name="SIDRE_View_get_type_id") - import :: SIDRE_SHROUD_view_capsule, TypeIDint + import :: SIDRE_SHROUD_capsule_data, TypeIDint implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(TypeIDint) :: SHT_rv end function c_view_get_type_id @@ -2007,9 +2147,9 @@ pure function c_view_get_total_bytes(self) & result(SHT_rv) & bind(C, name="SIDRE_View_get_total_bytes") use iso_c_binding, only : C_SIZE_T - import :: SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(C_SIZE_T) :: SHT_rv end function c_view_get_total_bytes @@ -2017,9 +2157,9 @@ pure function c_view_get_num_elements(self) & result(SHT_rv) & bind(C, name="SIDRE_View_get_num_elements") use iso_c_binding, only : C_SIZE_T - import :: SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(C_SIZE_T) :: SHT_rv end function c_view_get_num_elements @@ -2027,9 +2167,9 @@ pure function c_view_get_bytes_per_element(self) & result(SHT_rv) & bind(C, name="SIDRE_View_get_bytes_per_element") use iso_c_binding, only : C_SIZE_T - import :: SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(C_SIZE_T) :: SHT_rv end function c_view_get_bytes_per_element @@ -2037,9 +2177,9 @@ pure function c_view_get_offset(self) & result(SHT_rv) & bind(C, name="SIDRE_View_get_offset") use iso_c_binding, only : C_SIZE_T - import :: SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(C_SIZE_T) :: SHT_rv end function c_view_get_offset @@ -2047,9 +2187,9 @@ pure function c_view_get_stride(self) & result(SHT_rv) & bind(C, name="SIDRE_View_get_stride") use iso_c_binding, only : C_SIZE_T - import :: SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(C_SIZE_T) :: SHT_rv end function c_view_get_stride @@ -2057,9 +2197,9 @@ pure function c_view_get_num_dimensions(self) & result(SHT_rv) & bind(C, name="SIDRE_View_get_num_dimensions") use iso_c_binding, only : C_INT - import :: SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(C_INT) :: SHT_rv end function c_view_get_num_dimensions @@ -2067,9 +2207,9 @@ function c_view_get_shape(self, ndims, shape) & result(SHT_rv) & bind(C, name="SIDRE_View_get_shape") use iso_c_binding, only : C_INT - import :: SIDRE_IndexType, SIDRE_SHROUD_view_capsule + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(C_INT), value, intent(IN) :: ndims integer(SIDRE_IndexType), intent(OUT) :: shape(*) integer(C_INT) :: SHT_rv @@ -2077,87 +2217,111 @@ end function c_view_get_shape subroutine c_view_allocate_simple(self) & bind(C, name="SIDRE_View_allocate_simple") - import :: SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self end subroutine c_view_allocate_simple subroutine c_view_allocate_from_type(self, type, num_elems) & bind(C, name="SIDRE_View_allocate_from_type") - import :: SIDRE_IndexType, SIDRE_SHROUD_view_capsule, TypeID + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data, TypeID implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(TypeID), value, intent(IN) :: type integer(SIDRE_IndexType), value, intent(IN) :: num_elems end subroutine c_view_allocate_from_type subroutine c_view_reallocate(self, num_elems) & bind(C, name="SIDRE_View_reallocate") - import :: SIDRE_IndexType, SIDRE_SHROUD_view_capsule + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(SIDRE_IndexType), value, intent(IN) :: num_elems end subroutine c_view_reallocate subroutine c_view_attach_buffer_only(self, buff) & bind(C, name="SIDRE_View_attach_buffer_only") - import :: SIDRE_SHROUD_buffer_capsule, SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self - type(SIDRE_SHROUD_buffer_capsule), intent(INOUT) :: buff + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(INOUT) :: buff end subroutine c_view_attach_buffer_only subroutine c_view_attach_buffer_type(self, type, num_elems, & buff) & bind(C, name="SIDRE_View_attach_buffer_type") - import :: SIDRE_IndexType, SIDRE_SHROUD_buffer_capsule, SIDRE_SHROUD_view_capsule, TypeID + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data, TypeID implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(TypeID), value, intent(IN) :: type integer(SIDRE_IndexType), value, intent(IN) :: num_elems - type(SIDRE_SHROUD_buffer_capsule), intent(INOUT) :: buff + type(SIDRE_SHROUD_capsule_data), intent(INOUT) :: buff end subroutine c_view_attach_buffer_type + subroutine c_view_attach_buffer_type_int32_t(self, type, & + num_elems, buff) & + bind(C, name="SIDRE_View_attach_buffer_type_int32_t") + use iso_c_binding, only : C_INT32_T + import :: SIDRE_SHROUD_capsule_data, TypeID + implicit none + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self + integer(TypeID), value, intent(IN) :: type + integer(C_INT32_T), value, intent(IN) :: num_elems + type(SIDRE_SHROUD_capsule_data), intent(INOUT) :: buff + end subroutine c_view_attach_buffer_type_int32_t + + subroutine c_view_attach_buffer_type_int64_t(self, type, & + num_elems, buff) & + bind(C, name="SIDRE_View_attach_buffer_type_int64_t") + use iso_c_binding, only : C_INT64_T + import :: SIDRE_SHROUD_capsule_data, TypeID + implicit none + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self + integer(TypeID), value, intent(IN) :: type + integer(C_INT64_T), value, intent(IN) :: num_elems + type(SIDRE_SHROUD_capsule_data), intent(INOUT) :: buff + end subroutine c_view_attach_buffer_type_int64_t + subroutine c_view_attach_buffer_shape(self, type, ndims, shape, & buff) & bind(C, name="SIDRE_View_attach_buffer_shape") use iso_c_binding, only : C_INT - import :: SIDRE_IndexType, SIDRE_SHROUD_buffer_capsule, SIDRE_SHROUD_view_capsule, TypeID + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data, TypeID implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(TypeID), value, intent(IN) :: type integer(C_INT), value, intent(IN) :: ndims integer(SIDRE_IndexType), intent(IN) :: shape(*) - type(SIDRE_SHROUD_buffer_capsule), intent(INOUT) :: buff + type(SIDRE_SHROUD_capsule_data), intent(INOUT) :: buff end subroutine c_view_attach_buffer_shape subroutine c_view_clear(self) & bind(C, name="SIDRE_View_clear") - import :: SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self end subroutine c_view_clear subroutine c_view_apply_0(self) & bind(C, name="SIDRE_View_apply_0") - import :: SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self end subroutine c_view_apply_0 subroutine c_view_apply_nelems(self, num_elems) & bind(C, name="SIDRE_View_apply_nelems") - import :: SIDRE_IndexType, SIDRE_SHROUD_view_capsule + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(SIDRE_IndexType), value, intent(IN) :: num_elems end subroutine c_view_apply_nelems subroutine c_view_apply_nelems_offset(self, num_elems, offset) & bind(C, name="SIDRE_View_apply_nelems_offset") - import :: SIDRE_IndexType, SIDRE_SHROUD_view_capsule + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(SIDRE_IndexType), value, intent(IN) :: num_elems integer(SIDRE_IndexType), value, intent(IN) :: offset end subroutine c_view_apply_nelems_offset @@ -2165,9 +2329,9 @@ end subroutine c_view_apply_nelems_offset subroutine c_view_apply_nelems_offset_stride(self, num_elems, & offset, stride) & bind(C, name="SIDRE_View_apply_nelems_offset_stride") - import :: SIDRE_IndexType, SIDRE_SHROUD_view_capsule + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(SIDRE_IndexType), value, intent(IN) :: num_elems integer(SIDRE_IndexType), value, intent(IN) :: offset integer(SIDRE_IndexType), value, intent(IN) :: stride @@ -2175,9 +2339,9 @@ end subroutine c_view_apply_nelems_offset_stride subroutine c_view_apply_type_nelems(self, type, num_elems) & bind(C, name="SIDRE_View_apply_type_nelems") - import :: SIDRE_IndexType, SIDRE_SHROUD_view_capsule, TypeID + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data, TypeID implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(TypeID), value, intent(IN) :: type integer(SIDRE_IndexType), value, intent(IN) :: num_elems end subroutine c_view_apply_type_nelems @@ -2185,9 +2349,9 @@ end subroutine c_view_apply_type_nelems subroutine c_view_apply_type_nelems_offset(self, type, & num_elems, offset) & bind(C, name="SIDRE_View_apply_type_nelems_offset") - import :: SIDRE_IndexType, SIDRE_SHROUD_view_capsule, TypeID + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data, TypeID implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(TypeID), value, intent(IN) :: type integer(SIDRE_IndexType), value, intent(IN) :: num_elems integer(SIDRE_IndexType), value, intent(IN) :: offset @@ -2196,9 +2360,9 @@ end subroutine c_view_apply_type_nelems_offset subroutine c_view_apply_type_nelems_offset_stride(self, type, & num_elems, offset, stride) & bind(C, name="SIDRE_View_apply_type_nelems_offset_stride") - import :: SIDRE_IndexType, SIDRE_SHROUD_view_capsule, TypeID + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data, TypeID implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(TypeID), value, intent(IN) :: type integer(SIDRE_IndexType), value, intent(IN) :: num_elems integer(SIDRE_IndexType), value, intent(IN) :: offset @@ -2208,9 +2372,9 @@ end subroutine c_view_apply_type_nelems_offset_stride subroutine c_view_apply_type_shape(self, type, ndims, shape) & bind(C, name="SIDRE_View_apply_type_shape") use iso_c_binding, only : C_INT - import :: SIDRE_IndexType, SIDRE_SHROUD_view_capsule, TypeID + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data, TypeID implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(TypeID), value, intent(IN) :: type integer(C_INT), value, intent(IN) :: ndims integer(SIDRE_IndexType), intent(IN) :: shape(*) @@ -2219,64 +2383,65 @@ end subroutine c_view_apply_type_shape subroutine c_view_set_scalar_int(self, value) & bind(C, name="SIDRE_View_set_scalar_int") use iso_c_binding, only : C_INT - import :: SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(C_INT), value, intent(IN) :: value end subroutine c_view_set_scalar_int subroutine c_view_set_scalar_long(self, value) & bind(C, name="SIDRE_View_set_scalar_long") use iso_c_binding, only : C_LONG - import :: SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(C_LONG), value, intent(IN) :: value end subroutine c_view_set_scalar_long subroutine c_view_set_scalar_float(self, value) & bind(C, name="SIDRE_View_set_scalar_float") use iso_c_binding, only : C_FLOAT - import :: SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self real(C_FLOAT), value, intent(IN) :: value end subroutine c_view_set_scalar_float subroutine c_view_set_scalar_double(self, value) & bind(C, name="SIDRE_View_set_scalar_double") use iso_c_binding, only : C_DOUBLE - import :: SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self real(C_DOUBLE), value, intent(IN) :: value end subroutine c_view_set_scalar_double subroutine c_view_set_string(self, value) & bind(C, name="SIDRE_View_set_string") use iso_c_binding, only : C_CHAR - import :: SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: value(*) end subroutine c_view_set_string - subroutine c_view_set_string_bufferify(self, value, Lvalue) & + subroutine c_view_set_string_bufferify(self, value, & + SHT_value_len) & bind(C, name="SIDRE_View_set_string_bufferify") use iso_c_binding, only : C_CHAR, C_INT - import :: SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: value(*) - integer(C_INT), value, intent(IN) :: Lvalue + integer(C_INT), value, intent(IN) :: SHT_value_len end subroutine c_view_set_string_bufferify subroutine c_view_set_external_data_ptr_only(self, external_ptr) & bind(C, name="SIDRE_View_set_external_data_ptr_only") use iso_c_binding, only : C_PTR - import :: SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self type(C_PTR), value, intent(IN) :: external_ptr end subroutine c_view_set_external_data_ptr_only @@ -2284,21 +2449,45 @@ subroutine c_view_set_external_data_ptr_type(self, type, & num_elems, external_ptr) & bind(C, name="SIDRE_View_set_external_data_ptr_type") use iso_c_binding, only : C_PTR - import :: SIDRE_IndexType, SIDRE_SHROUD_view_capsule, TypeID + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data, TypeID implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(TypeID), value, intent(IN) :: type integer(SIDRE_IndexType), value, intent(IN) :: num_elems type(C_PTR), value, intent(IN) :: external_ptr end subroutine c_view_set_external_data_ptr_type + subroutine c_view_set_external_data_ptr_type_int32_t(self, type, & + num_elems, external_ptr) & + bind(C, name="SIDRE_View_set_external_data_ptr_type_int32_t") + use iso_c_binding, only : C_INT32_T, C_PTR + import :: SIDRE_SHROUD_capsule_data, TypeID + implicit none + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self + integer(TypeID), value, intent(IN) :: type + integer(C_INT32_T), value, intent(IN) :: num_elems + type(C_PTR), value, intent(IN) :: external_ptr + end subroutine c_view_set_external_data_ptr_type_int32_t + + subroutine c_view_set_external_data_ptr_type_int64_t(self, type, & + num_elems, external_ptr) & + bind(C, name="SIDRE_View_set_external_data_ptr_type_int64_t") + use iso_c_binding, only : C_INT64_T, C_PTR + import :: SIDRE_SHROUD_capsule_data, TypeID + implicit none + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self + integer(TypeID), value, intent(IN) :: type + integer(C_INT64_T), value, intent(IN) :: num_elems + type(C_PTR), value, intent(IN) :: external_ptr + end subroutine c_view_set_external_data_ptr_type_int64_t + subroutine c_view_set_external_data_ptr_shape(self, type, ndims, & shape, external_ptr) & bind(C, name="SIDRE_View_set_external_data_ptr_shape") use iso_c_binding, only : C_INT, C_PTR - import :: SIDRE_IndexType, SIDRE_SHROUD_view_capsule, TypeID + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data, TypeID implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(TypeID), value, intent(IN) :: type integer(C_INT), value, intent(IN) :: ndims integer(SIDRE_IndexType), intent(IN) :: shape(*) @@ -2309,29 +2498,29 @@ function c_view_get_string(self) & result(SHT_rv) & bind(C, name="SIDRE_View_get_string") use iso_c_binding, only : C_PTR - import :: SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self type(C_PTR) SHT_rv end function c_view_get_string - subroutine c_view_get_string_bufferify(self, name, Nname) & + subroutine c_view_get_string_bufferify(self, name, SHT_name_len) & bind(C, name="SIDRE_View_get_string_bufferify") use iso_c_binding, only : C_CHAR, C_INT - import :: SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(OUT) :: name(*) - integer(C_INT), value, intent(IN) :: Nname + integer(C_INT), value, intent(IN) :: SHT_name_len end subroutine c_view_get_string_bufferify function c_view_get_data_int(self) & result(SHT_rv) & bind(C, name="SIDRE_View_get_data_int") use iso_c_binding, only : C_INT - import :: SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(C_INT) :: SHT_rv end function c_view_get_data_int @@ -2339,9 +2528,9 @@ function c_view_get_data_long(self) & result(SHT_rv) & bind(C, name="SIDRE_View_get_data_long") use iso_c_binding, only : C_LONG - import :: SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(C_LONG) :: SHT_rv end function c_view_get_data_long @@ -2349,9 +2538,9 @@ function c_view_get_data_float(self) & result(SHT_rv) & bind(C, name="SIDRE_View_get_data_float") use iso_c_binding, only : C_FLOAT - import :: SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self real(C_FLOAT) :: SHT_rv end function c_view_get_data_float @@ -2359,9 +2548,9 @@ function c_view_get_data_double(self) & result(SHT_rv) & bind(C, name="SIDRE_View_get_data_double") use iso_c_binding, only : C_DOUBLE - import :: SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self real(C_DOUBLE) :: SHT_rv end function c_view_get_data_double @@ -2369,125 +2558,175 @@ pure function c_view_get_void_ptr(self) & result(SHT_rv) & bind(C, name="SIDRE_View_get_void_ptr") use iso_c_binding, only : C_PTR - import :: SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self type(C_PTR) :: SHT_rv end function c_view_get_void_ptr subroutine c_view_print(self) & bind(C, name="SIDRE_View_print") - import :: SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self end subroutine c_view_print function c_view_rename(self, new_name) & result(SHT_rv) & bind(C, name="SIDRE_View_rename") use iso_c_binding, only : C_BOOL, C_CHAR - import :: SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: new_name(*) logical(C_BOOL) :: SHT_rv end function c_view_rename - function c_view_rename_bufferify(self, new_name, Lnew_name) & + function c_view_rename_bufferify(self, new_name, & + SHT_new_name_len) & result(SHT_rv) & bind(C, name="SIDRE_View_rename_bufferify") use iso_c_binding, only : C_BOOL, C_CHAR, C_INT - import :: SIDRE_SHROUD_view_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_view_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: new_name(*) - integer(C_INT), value, intent(IN) :: Lnew_name + integer(C_INT), value, intent(IN) :: SHT_new_name_len logical(C_BOOL) :: SHT_rv end function c_view_rename_bufferify - ! splicer begin class.View.additional_interfaces - ! splicer end class.View.additional_interfaces - - function c_datastore_new(SHT_crv) & - result(SHT_rv) & + function c_datastore_new(SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_DataStore_new") use iso_c_binding, only : C_PTR - import :: SIDRE_SHROUD_datastore_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_datastore_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) SHT_prv end function c_datastore_new subroutine c_datastore_delete(self) & bind(C, name="SIDRE_DataStore_delete") - import :: SIDRE_SHROUD_datastore_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_datastore_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(INOUT) :: self end subroutine c_datastore_delete - function c_datastore_get_root(self, SHT_crv) & - result(SHT_rv) & + function c_datastore_get_root(self, SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_DataStore_get_root") use iso_c_binding, only : C_PTR - import :: SIDRE_SHROUD_datastore_capsule, SIDRE_SHROUD_group_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_datastore_capsule), intent(IN) :: self - type(SIDRE_SHROUD_group_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_datastore_get_root pure function c_datastore_get_num_buffers(self) & result(SHT_rv) & bind(C, name="SIDRE_DataStore_get_num_buffers") use iso_c_binding, only : C_SIZE_T - import :: SIDRE_SHROUD_datastore_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_datastore_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(C_SIZE_T) :: SHT_rv end function c_datastore_get_num_buffers - function c_datastore_get_buffer(self, idx, SHT_crv) & - result(SHT_rv) & + function c_datastore_get_buffer(self, idx, SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_DataStore_get_buffer") use iso_c_binding, only : C_PTR - import :: SIDRE_IndexType, SIDRE_SHROUD_buffer_capsule, SIDRE_SHROUD_datastore_capsule + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_datastore_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(SIDRE_IndexType), value, intent(IN) :: idx - type(SIDRE_SHROUD_buffer_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_datastore_get_buffer - function c_datastore_create_buffer_empty(self, SHT_crv) & - result(SHT_rv) & + function c_datastore_get_buffer_int32_t(self, idx, SHT_rv) & + result(SHT_prv) & + bind(C, name="SIDRE_DataStore_get_buffer_int32_t") + use iso_c_binding, only : C_INT32_T, C_PTR + import :: SIDRE_SHROUD_capsule_data + implicit none + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self + integer(C_INT32_T), value, intent(IN) :: idx + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv + end function c_datastore_get_buffer_int32_t + + function c_datastore_get_buffer_int64_t(self, idx, SHT_rv) & + result(SHT_prv) & + bind(C, name="SIDRE_DataStore_get_buffer_int64_t") + use iso_c_binding, only : C_INT64_T, C_PTR + import :: SIDRE_SHROUD_capsule_data + implicit none + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self + integer(C_INT64_T), value, intent(IN) :: idx + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv + end function c_datastore_get_buffer_int64_t + + function c_datastore_create_buffer_empty(self, SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_DataStore_create_buffer_empty") use iso_c_binding, only : C_PTR - import :: SIDRE_SHROUD_buffer_capsule, SIDRE_SHROUD_datastore_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_datastore_capsule), intent(IN) :: self - type(SIDRE_SHROUD_buffer_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_datastore_create_buffer_empty function c_datastore_create_buffer_from_type(self, type, & - num_elems, SHT_crv) & - result(SHT_rv) & + num_elems, SHT_rv) & + result(SHT_prv) & bind(C, name="SIDRE_DataStore_create_buffer_from_type") use iso_c_binding, only : C_PTR - import :: SIDRE_IndexType, SIDRE_SHROUD_buffer_capsule, SIDRE_SHROUD_datastore_capsule, TypeID + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data, TypeID implicit none - type(SIDRE_SHROUD_datastore_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(TypeID), value, intent(IN) :: type integer(SIDRE_IndexType), value, intent(IN) :: num_elems - type(SIDRE_SHROUD_buffer_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv end function c_datastore_create_buffer_from_type + function c_datastore_create_buffer_from_type_int32_t(self, type, & + num_elems, SHT_rv) & + result(SHT_prv) & + bind(C, name="SIDRE_DataStore_create_buffer_from_type_int32_t") + use iso_c_binding, only : C_INT32_T, C_PTR + import :: SIDRE_SHROUD_capsule_data, TypeID + implicit none + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self + integer(TypeID), value, intent(IN) :: type + integer(C_INT32_T), value, intent(IN) :: num_elems + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv + end function c_datastore_create_buffer_from_type_int32_t + + function c_datastore_create_buffer_from_type_int64_t(self, type, & + num_elems, SHT_rv) & + result(SHT_prv) & + bind(C, name="SIDRE_DataStore_create_buffer_from_type_int64_t") + use iso_c_binding, only : C_INT64_T, C_PTR + import :: SIDRE_SHROUD_capsule_data, TypeID + implicit none + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self + integer(TypeID), value, intent(IN) :: type + integer(C_INT64_T), value, intent(IN) :: num_elems + type(SIDRE_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) :: SHT_prv + end function c_datastore_create_buffer_from_type_int64_t + subroutine c_datastore_destroy_buffer(self, id) & bind(C, name="SIDRE_DataStore_destroy_buffer") - import :: SIDRE_IndexType, SIDRE_SHROUD_datastore_capsule + import :: SIDRE_IndexType, SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_datastore_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(SIDRE_IndexType), value, intent(IN) :: id end subroutine c_datastore_destroy_buffer @@ -2496,9 +2735,9 @@ function c_datastore_generate_blueprint_index_0(self, & result(SHT_rv) & bind(C, name="SIDRE_DataStore_generate_blueprint_index_0") use iso_c_binding, only : C_BOOL, C_CHAR, C_INT - import :: SIDRE_SHROUD_datastore_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_datastore_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: domain_path(*) character(kind=C_CHAR), intent(IN) :: mesh_name(*) character(kind=C_CHAR), intent(IN) :: index_path(*) @@ -2507,20 +2746,21 @@ function c_datastore_generate_blueprint_index_0(self, & end function c_datastore_generate_blueprint_index_0 function c_datastore_generate_blueprint_index_0_bufferify(self, & - domain_path, Ldomain_path, mesh_name, Lmesh_name, & - index_path, Lindex_path, num_domains) & + domain_path, SHT_domain_path_len, mesh_name, & + SHT_mesh_name_len, index_path, SHT_index_path_len, & + num_domains) & result(SHT_rv) & bind(C, name="SIDRE_DataStore_generate_blueprint_index_0_bufferify") use iso_c_binding, only : C_BOOL, C_CHAR, C_INT - import :: SIDRE_SHROUD_datastore_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_datastore_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self character(kind=C_CHAR), intent(IN) :: domain_path(*) - integer(C_INT), value, intent(IN) :: Ldomain_path + integer(C_INT), value, intent(IN) :: SHT_domain_path_len character(kind=C_CHAR), intent(IN) :: mesh_name(*) - integer(C_INT), value, intent(IN) :: Lmesh_name + integer(C_INT), value, intent(IN) :: SHT_mesh_name_len character(kind=C_CHAR), intent(IN) :: index_path(*) - integer(C_INT), value, intent(IN) :: Lindex_path + integer(C_INT), value, intent(IN) :: SHT_index_path_len integer(C_INT), value, intent(IN) :: num_domains logical(C_BOOL) :: SHT_rv end function c_datastore_generate_blueprint_index_0_bufferify @@ -2531,9 +2771,9 @@ function c_datastore_generate_blueprint_index_1(self, comm, & result(SHT_rv) & bind(C, name="SIDRE_DataStore_generate_blueprint_index_1") use iso_c_binding, only : C_BOOL, C_CHAR, C_INT - import :: SIDRE_SHROUD_datastore_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_datastore_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(C_INT), value, intent(IN) :: comm character(kind=C_CHAR), intent(IN) :: domain_path(*) character(kind=C_CHAR), intent(IN) :: mesh_name(*) @@ -2544,35 +2784,32 @@ end function c_datastore_generate_blueprint_index_1 #ifdef AXOM_USE_MPI function c_datastore_generate_blueprint_index_1_bufferify(self, & - comm, domain_path, Ldomain_path, mesh_name, Lmesh_name, & - index_path, Lindex_path) & + comm, domain_path, SHT_domain_path_len, mesh_name, & + SHT_mesh_name_len, index_path, SHT_index_path_len) & result(SHT_rv) & bind(C, name="SIDRE_DataStore_generate_blueprint_index_1_bufferify") use iso_c_binding, only : C_BOOL, C_CHAR, C_INT - import :: SIDRE_SHROUD_datastore_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_datastore_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self integer(C_INT), value, intent(IN) :: comm character(kind=C_CHAR), intent(IN) :: domain_path(*) - integer(C_INT), value, intent(IN) :: Ldomain_path + integer(C_INT), value, intent(IN) :: SHT_domain_path_len character(kind=C_CHAR), intent(IN) :: mesh_name(*) - integer(C_INT), value, intent(IN) :: Lmesh_name + integer(C_INT), value, intent(IN) :: SHT_mesh_name_len character(kind=C_CHAR), intent(IN) :: index_path(*) - integer(C_INT), value, intent(IN) :: Lindex_path + integer(C_INT), value, intent(IN) :: SHT_index_path_len logical(C_BOOL) :: SHT_rv end function c_datastore_generate_blueprint_index_1_bufferify #endif subroutine c_datastore_print(self) & bind(C, name="SIDRE_DataStore_print") - import :: SIDRE_SHROUD_datastore_capsule + import :: SIDRE_SHROUD_capsule_data implicit none - type(SIDRE_SHROUD_datastore_capsule), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(IN) :: self end subroutine c_datastore_print - ! splicer begin class.DataStore.additional_interfaces - ! splicer end class.DataStore.additional_interfaces - function c_name_is_valid(name) & result(SHT_rv) & bind(C, name="SIDRE_name_is_valid") @@ -2581,33 +2818,195 @@ function c_name_is_valid(name) & character(kind=C_CHAR), intent(IN) :: name(*) logical(C_BOOL) :: SHT_rv end function c_name_is_valid - - ! splicer begin additional_interfaces - function SIDRE_create_array_view(group, name, lname, addr, type, rank, extents) & - result(rv) bind(C,name="SIDRE_create_array_view") - use iso_c_binding - import SIDRE_IndexType - type(C_PTR), value, intent(IN) :: group - character(kind=C_CHAR), intent(IN) :: name(*) - integer(C_INT), value, intent(IN) :: lname - type(C_PTR), value, intent(IN) :: addr - integer(C_INT), value, intent(IN) :: type - integer(C_INT), value, intent(IN) :: rank - integer(SIDRE_IndexType), intent(IN) :: extents(*) - type(C_PTR) rv - end function SIDRE_create_array_view - ! splicer end additional_interfaces end interface interface SidreDataStore module procedure datastore_new end interface SidreDataStore + interface buffer_allocate + module procedure buffer_allocate_existing + module procedure buffer_allocate_from_type_int32_t + module procedure buffer_allocate_from_type_int64_t + end interface buffer_allocate + + interface buffer_describe + module procedure buffer_describe_int32_t + module procedure buffer_describe_int64_t + end interface buffer_describe + + interface buffer_reallocate + module procedure buffer_reallocate_int32_t + module procedure buffer_reallocate_int64_t + end interface buffer_reallocate + + interface datastore_create_buffer + module procedure datastore_create_buffer_empty + module procedure datastore_create_buffer_from_type_int32_t + module procedure datastore_create_buffer_from_type_int64_t + end interface datastore_create_buffer + + interface datastore_destroy_buffer + module procedure datastore_destroy_buffer_int32_t + module procedure datastore_destroy_buffer_int64_t + end interface datastore_destroy_buffer + + interface datastore_generate_blueprint_index + module procedure datastore_generate_blueprint_index_0 +#ifdef AXOM_USE_MPI + module procedure datastore_generate_blueprint_index_1 +#endif + end interface datastore_generate_blueprint_index + + interface datastore_get_buffer + module procedure datastore_get_buffer_int32_t + module procedure datastore_get_buffer_int64_t + end interface datastore_get_buffer + + interface group_create_view + module procedure group_create_view_empty + module procedure group_create_view_from_type_int32_t + module procedure group_create_view_from_type_int64_t + module procedure group_create_view_into_buffer + module procedure group_create_view_from_type_and_buffer_int32_t + module procedure group_create_view_from_type_and_buffer_int64_t + module procedure group_create_view_external + module procedure group_create_view_from_type_external_int32_t + module procedure group_create_view_from_type_external_int64_t + end interface group_create_view + + interface group_create_view_and_allocate + module procedure group_create_view_and_allocate_nelems_int32_t + module procedure group_create_view_and_allocate_nelems_int64_t + end interface group_create_view_and_allocate + + interface group_create_view_scalar + module procedure group_create_view_scalar_int + module procedure group_create_view_scalar_long + module procedure group_create_view_scalar_float + module procedure group_create_view_scalar_double + end interface group_create_view_scalar + + interface group_create_view_with_shape + module procedure group_create_view_with_shape_base + module procedure group_create_view_with_shape_and_buffer + module procedure group_create_view_with_shape_external + end interface group_create_view_with_shape + + interface group_destroy_group + module procedure group_destroy_group_name + module procedure group_destroy_group_index_int32_t + module procedure group_destroy_group_index_int64_t + end interface group_destroy_group + + interface group_destroy_view_and_data + module procedure group_destroy_view_and_data_name + module procedure group_destroy_view_and_data_index_int32_t + module procedure group_destroy_view_and_data_index_int64_t + end interface group_destroy_view_and_data + + interface group_get_group + module procedure group_get_group_from_name + module procedure group_get_group_from_index_int32_t + module procedure group_get_group_from_index_int64_t + end interface group_get_group + + interface group_get_group_name + module procedure group_get_group_name_int32_t + module procedure group_get_group_name_int64_t + end interface group_get_group_name + + interface group_get_next_valid_group_index + module procedure group_get_next_valid_group_index_int32_t + module procedure group_get_next_valid_group_index_int64_t + end interface group_get_next_valid_group_index + + interface group_get_next_valid_view_index + module procedure group_get_next_valid_view_index_int32_t + module procedure group_get_next_valid_view_index_int64_t + end interface group_get_next_valid_view_index + + interface group_get_view + module procedure group_get_view_from_name + module procedure group_get_view_from_index_int32_t + module procedure group_get_view_from_index_int64_t + end interface group_get_view + + interface group_get_view_name + module procedure group_get_view_name_int32_t + module procedure group_get_view_name_int64_t + end interface group_get_view_name + + interface group_load + module procedure group_load_0 + module procedure group_load_1 + end interface group_load + + interface view_allocate + module procedure view_allocate_simple + module procedure view_allocate_from_type_int32_t + module procedure view_allocate_from_type_int64_t + end interface view_allocate + + interface view_apply + module procedure view_apply_0 + module procedure view_apply_nelems + module procedure view_apply_nelems_offset + module procedure view_apply_nelems_offset_stride + module procedure view_apply_type_nelems + module procedure view_apply_type_nelems_offset + module procedure view_apply_type_nelems_offset_stride + module procedure view_apply_type_shape + end interface view_apply + + interface view_attach_buffer + module procedure view_attach_buffer_only + module procedure view_attach_buffer_type_int32_t + module procedure view_attach_buffer_type_int64_t + module procedure view_attach_buffer_shape + end interface view_attach_buffer + + interface view_reallocate + module procedure view_reallocate_int32_t + module procedure view_reallocate_int64_t + end interface view_reallocate + + interface view_set_external_data_ptr + module procedure view_set_external_data_ptr_only + module procedure view_set_external_data_ptr_type_int32_t + module procedure view_set_external_data_ptr_type_int64_t + module procedure view_set_external_data_ptr_shape + end interface view_set_external_data_ptr + + interface view_set_scalar + module procedure view_set_scalar_int + module procedure view_set_scalar_long + module procedure view_set_scalar_float + module procedure view_set_scalar_double + end interface view_set_scalar + + ! splicer begin additional_declarations + interface + function SIDRE_create_array_view(group, name, lname, addr, type, rank, extents) & + result(rv) bind(C,name="SIDRE_create_array_view") + use iso_c_binding + import SIDRE_IndexType + type(C_PTR), value, intent(IN) :: group + character(kind=C_CHAR), intent(IN) :: name(*) + integer(C_INT), value, intent(IN) :: lname + type(C_PTR), value, intent(IN) :: addr + integer(C_INT), value, intent(IN) :: type + integer(C_INT), value, intent(IN) :: rank + integer(SIDRE_IndexType), intent(IN) :: extents(*) + type(C_PTR) rv + end function SIDRE_create_array_view + end interface + ! splicer end additional_declarations + contains function buffer_get_index(obj) & result(SHT_rv) - use iso_c_binding, only : C_INT64_T class(SidreBuffer) :: obj integer(SIDRE_IndexType) :: SHT_rv ! splicer begin class.Buffer.method.get_index @@ -2637,7 +3036,6 @@ end function buffer_get_void_ptr function buffer_get_type_id(obj) & result(SHT_rv) - use iso_c_binding, only : C_INT class(SidreBuffer) :: obj integer(TypeIDint) :: SHT_rv ! splicer begin class.Buffer.method.get_type_id @@ -2676,7 +3074,7 @@ function buffer_get_bytes_per_element(obj) & end function buffer_get_bytes_per_element subroutine buffer_describe_int32_t(obj, type, num_elems) - use iso_c_binding, only : C_INT32_T, C_INT64_T, C_SHORT + use iso_c_binding, only : C_INT32_T class(SidreBuffer) :: obj integer(TypeID), value, intent(IN) :: type integer(C_INT32_T), value, intent(IN) :: num_elems @@ -2687,7 +3085,7 @@ subroutine buffer_describe_int32_t(obj, type, num_elems) end subroutine buffer_describe_int32_t subroutine buffer_describe_int64_t(obj, type, num_elems) - use iso_c_binding, only : C_INT64_T, C_SHORT + use iso_c_binding, only : C_INT64_T class(SidreBuffer) :: obj integer(TypeID), value, intent(IN) :: type integer(C_INT64_T), value, intent(IN) :: num_elems @@ -2705,7 +3103,7 @@ subroutine buffer_allocate_existing(obj) end subroutine buffer_allocate_existing subroutine buffer_allocate_from_type_int32_t(obj, type, num_elems) - use iso_c_binding, only : C_INT32_T, C_INT64_T, C_SHORT + use iso_c_binding, only : C_INT32_T class(SidreBuffer) :: obj integer(TypeID), value, intent(IN) :: type integer(C_INT32_T), value, intent(IN) :: num_elems @@ -2716,7 +3114,7 @@ subroutine buffer_allocate_from_type_int32_t(obj, type, num_elems) end subroutine buffer_allocate_from_type_int32_t subroutine buffer_allocate_from_type_int64_t(obj, type, num_elems) - use iso_c_binding, only : C_INT64_T, C_SHORT + use iso_c_binding, only : C_INT64_T class(SidreBuffer) :: obj integer(TypeID), value, intent(IN) :: type integer(C_INT64_T), value, intent(IN) :: num_elems @@ -2727,7 +3125,7 @@ subroutine buffer_allocate_from_type_int64_t(obj, type, num_elems) end subroutine buffer_allocate_from_type_int64_t subroutine buffer_reallocate_int32_t(obj, num_elems) - use iso_c_binding, only : C_INT32_T, C_INT64_T + use iso_c_binding, only : C_INT32_T class(SidreBuffer) :: obj integer(C_INT32_T), value, intent(IN) :: num_elems ! splicer begin class.Buffer.method.reallocate_int32_t @@ -2781,7 +3179,6 @@ end function buffer_associated function group_get_index(obj) & result(SHT_rv) - use iso_c_binding, only : C_INT64_T class(SidreGroup) :: obj integer(SIDRE_IndexType) :: SHT_rv ! splicer begin class.Group.method.get_index @@ -2795,8 +3192,9 @@ function group_get_name(obj) & class(SidreGroup) :: obj character(len=MAXNAMESIZE) :: SHT_rv ! splicer begin class.Group.method.get_name - call c_group_get_name_bufferify(obj%cxxmem, SHT_rv, & - len(SHT_rv, kind=C_INT)) + integer(C_INT) SHT_rv_len + SHT_rv_len = len(SHT_rv, kind=C_INT) + call c_group_get_name_bufferify(obj%cxxmem, SHT_rv, SHT_rv_len) ! splicer end class.Group.method.get_name end function group_get_name @@ -2806,8 +3204,9 @@ function group_get_path(obj) & class(SidreGroup) :: obj character(len=MAXNAMESIZE) :: SHT_rv ! splicer begin class.Group.method.get_path - call c_group_get_path_bufferify(obj%cxxmem, SHT_rv, & - len(SHT_rv, kind=C_INT)) + integer(C_INT) SHT_rv_len + SHT_rv_len = len(SHT_rv, kind=C_INT) + call c_group_get_path_bufferify(obj%cxxmem, SHT_rv, SHT_rv_len) ! splicer end class.Group.method.get_path end function group_get_path @@ -2817,8 +3216,10 @@ function group_get_path_name(obj) & class(SidreGroup) :: obj character(len=MAXNAMESIZE) :: SHT_rv ! splicer begin class.Group.method.get_path_name + integer(C_INT) SHT_rv_len + SHT_rv_len = len(SHT_rv, kind=C_INT) call c_group_get_path_name_bufferify(obj%cxxmem, SHT_rv, & - len(SHT_rv, kind=C_INT)) + SHT_rv_len) ! splicer end class.Group.method.get_path_name end function group_get_path_name @@ -2827,8 +3228,8 @@ function group_get_parent(obj) & use iso_c_binding, only : C_PTR class(SidreGroup) :: obj type(SidreGroup) :: SHT_rv - ! splicer begin class.Group.method.get_parent type(C_PTR) :: SHT_prv + ! splicer begin class.Group.method.get_parent SHT_prv = c_group_get_parent(obj%cxxmem, SHT_rv%cxxmem) ! splicer end class.Group.method.get_parent end function group_get_parent @@ -2858,8 +3259,8 @@ function group_get_data_store(obj) & use iso_c_binding, only : C_PTR class(SidreGroup) :: obj type(SidreDataStore) :: SHT_rv - ! splicer begin class.Group.method.get_data_store type(C_PTR) :: SHT_prv + ! splicer begin class.Group.method.get_data_store SHT_prv = c_group_get_data_store(obj%cxxmem, SHT_rv%cxxmem) ! splicer end class.Group.method.get_data_store end function group_get_data_store @@ -2871,8 +3272,10 @@ function group_has_view(obj, path) & character(len=*), intent(IN) :: path logical :: SHT_rv ! splicer begin class.Group.method.has_view + integer(C_INT) SHT_path_len + SHT_path_len = len(path, kind=C_INT) SHT_rv = c_group_has_view_bufferify(obj%cxxmem, path, & - len_trim(path, kind=C_INT)) + SHT_path_len) ! splicer end class.Group.method.has_view end function group_has_view @@ -2883,32 +3286,38 @@ function group_has_child_view(obj, name) & character(len=*), intent(IN) :: name logical :: SHT_rv ! splicer begin class.Group.method.has_child_view + integer(C_INT) SHT_name_len + SHT_name_len = len(name, kind=C_INT) SHT_rv = c_group_has_child_view_bufferify(obj%cxxmem, name, & - len_trim(name, kind=C_INT)) + SHT_name_len) ! splicer end class.Group.method.has_child_view end function group_has_child_view function group_get_view_index(obj, name) & result(SHT_rv) - use iso_c_binding, only : C_INT, C_INT64_T + use iso_c_binding, only : C_INT class(SidreGroup) :: obj character(len=*), intent(IN) :: name integer(SIDRE_IndexType) :: SHT_rv ! splicer begin class.Group.method.get_view_index + integer(C_INT) SHT_name_len + SHT_name_len = len(name, kind=C_INT) SHT_rv = c_group_get_view_index_bufferify(obj%cxxmem, name, & - len_trim(name, kind=C_INT)) + SHT_name_len) ! splicer end class.Group.method.get_view_index end function group_get_view_index function group_get_view_name_int32_t(obj, idx) & result(SHT_rv) - use iso_c_binding, only : C_INT, C_INT32_T, C_INT64_T + use iso_c_binding, only : C_INT, C_INT32_T class(SidreGroup) :: obj integer(C_INT32_T), value, intent(IN) :: idx character(len=MAXNAMESIZE) :: SHT_rv ! splicer begin class.Group.method.get_view_name_int32_t - call c_group_get_view_name_bufferify(obj%cxxmem, & - int(idx, SIDRE_IndexType), SHT_rv, len(SHT_rv, kind=C_INT)) + integer(C_INT) SHT_rv_len + SHT_rv_len = len(SHT_rv, kind=C_INT) + call c_group_get_view_name_int32_t_bufferify(obj%cxxmem, idx, & + SHT_rv, SHT_rv_len) ! splicer end class.Group.method.get_view_name_int32_t end function group_get_view_name_int32_t @@ -2919,8 +3328,10 @@ function group_get_view_name_int64_t(obj, idx) & integer(C_INT64_T), value, intent(IN) :: idx character(len=MAXNAMESIZE) :: SHT_rv ! splicer begin class.Group.method.get_view_name_int64_t - call c_group_get_view_name_bufferify(obj%cxxmem, & - int(idx, SIDRE_IndexType), SHT_rv, len(SHT_rv, kind=C_INT)) + integer(C_INT) SHT_rv_len + SHT_rv_len = len(SHT_rv, kind=C_INT) + call c_group_get_view_name_int64_t_bufferify(obj%cxxmem, idx, & + SHT_rv, SHT_rv_len) ! splicer end class.Group.method.get_view_name_int64_t end function group_get_view_name_int64_t @@ -2930,23 +3341,25 @@ function group_get_view_from_name(obj, path) & class(SidreGroup) :: obj character(len=*), intent(IN) :: path type(SidreView) :: SHT_rv - ! splicer begin class.Group.method.get_view_from_name type(C_PTR) :: SHT_prv + ! splicer begin class.Group.method.get_view_from_name + integer(C_INT) SHT_path_len + SHT_path_len = len(path, kind=C_INT) SHT_prv = c_group_get_view_from_name_bufferify(obj%cxxmem, path, & - len_trim(path, kind=C_INT), SHT_rv%cxxmem) + SHT_path_len, SHT_rv%cxxmem) ! splicer end class.Group.method.get_view_from_name end function group_get_view_from_name function group_get_view_from_index_int32_t(obj, idx) & result(SHT_rv) - use iso_c_binding, only : C_INT32_T, C_INT64_T, C_PTR + use iso_c_binding, only : C_INT32_T, C_PTR class(SidreGroup) :: obj integer(C_INT32_T), value, intent(IN) :: idx type(SidreView) :: SHT_rv - ! splicer begin class.Group.method.get_view_from_index_int32_t type(C_PTR) :: SHT_prv - SHT_prv = c_group_get_view_from_index(obj%cxxmem, & - int(idx, SIDRE_IndexType), SHT_rv%cxxmem) + ! splicer begin class.Group.method.get_view_from_index_int32_t + SHT_prv = c_group_get_view_from_index_int32_t(obj%cxxmem, idx, & + SHT_rv%cxxmem) ! splicer end class.Group.method.get_view_from_index_int32_t end function group_get_view_from_index_int32_t @@ -2956,16 +3369,15 @@ function group_get_view_from_index_int64_t(obj, idx) & class(SidreGroup) :: obj integer(C_INT64_T), value, intent(IN) :: idx type(SidreView) :: SHT_rv - ! splicer begin class.Group.method.get_view_from_index_int64_t type(C_PTR) :: SHT_prv - SHT_prv = c_group_get_view_from_index(obj%cxxmem, & - int(idx, SIDRE_IndexType), SHT_rv%cxxmem) + ! splicer begin class.Group.method.get_view_from_index_int64_t + SHT_prv = c_group_get_view_from_index_int64_t(obj%cxxmem, idx, & + SHT_rv%cxxmem) ! splicer end class.Group.method.get_view_from_index_int64_t end function group_get_view_from_index_int64_t function group_get_first_valid_view_index(obj) & result(SHT_rv) - use iso_c_binding, only : C_INT64_T class(SidreGroup) :: obj integer(SIDRE_IndexType) :: SHT_rv ! splicer begin class.Group.method.get_first_valid_view_index @@ -2975,7 +3387,7 @@ end function group_get_first_valid_view_index function group_get_next_valid_view_index_int32_t(obj, idx) & result(SHT_rv) - use iso_c_binding, only : C_INT32_T, C_INT64_T + use iso_c_binding, only : C_INT32_T class(SidreGroup) :: obj integer(C_INT32_T), value, intent(IN) :: idx integer(SIDRE_IndexType) :: SHT_rv @@ -3003,62 +3415,67 @@ function group_create_view_empty(obj, path) & class(SidreGroup) :: obj character(len=*), intent(IN) :: path type(SidreView) :: SHT_rv - ! splicer begin class.Group.method.create_view_empty type(C_PTR) :: SHT_prv + ! splicer begin class.Group.method.create_view_empty + integer(C_INT) SHT_path_len + SHT_path_len = len(path, kind=C_INT) SHT_prv = c_group_create_view_empty_bufferify(obj%cxxmem, path, & - len_trim(path, kind=C_INT), SHT_rv%cxxmem) + SHT_path_len, SHT_rv%cxxmem) ! splicer end class.Group.method.create_view_empty end function group_create_view_empty function group_create_view_from_type_int32_t(obj, path, type, & num_elems) & result(SHT_rv) - use iso_c_binding, only : C_INT, C_INT32_T, C_INT64_T, C_PTR, C_SHORT + use iso_c_binding, only : C_INT, C_INT32_T, C_PTR class(SidreGroup) :: obj character(len=*), intent(IN) :: path integer(TypeID), value, intent(IN) :: type integer(C_INT32_T), value, intent(IN) :: num_elems type(SidreView) :: SHT_rv - ! splicer begin class.Group.method.create_view_from_type_int32_t type(C_PTR) :: SHT_prv - SHT_prv = c_group_create_view_from_type_bufferify(obj%cxxmem, & - path, len_trim(path, kind=C_INT), type, & - int(num_elems, SIDRE_IndexType), SHT_rv%cxxmem) + ! splicer begin class.Group.method.create_view_from_type_int32_t + integer(C_INT) SHT_path_len + SHT_path_len = len(path, kind=C_INT) + SHT_prv = c_group_create_view_from_type_int32_t_bufferify(obj%cxxmem, & + path, SHT_path_len, type, num_elems, SHT_rv%cxxmem) ! splicer end class.Group.method.create_view_from_type_int32_t end function group_create_view_from_type_int32_t function group_create_view_from_type_int64_t(obj, path, type, & num_elems) & result(SHT_rv) - use iso_c_binding, only : C_INT, C_INT64_T, C_PTR, C_SHORT + use iso_c_binding, only : C_INT, C_INT64_T, C_PTR class(SidreGroup) :: obj character(len=*), intent(IN) :: path integer(TypeID), value, intent(IN) :: type integer(C_INT64_T), value, intent(IN) :: num_elems type(SidreView) :: SHT_rv - ! splicer begin class.Group.method.create_view_from_type_int64_t type(C_PTR) :: SHT_prv - SHT_prv = c_group_create_view_from_type_bufferify(obj%cxxmem, & - path, len_trim(path, kind=C_INT), type, & - int(num_elems, SIDRE_IndexType), SHT_rv%cxxmem) + ! splicer begin class.Group.method.create_view_from_type_int64_t + integer(C_INT) SHT_path_len + SHT_path_len = len(path, kind=C_INT) + SHT_prv = c_group_create_view_from_type_int64_t_bufferify(obj%cxxmem, & + path, SHT_path_len, type, num_elems, SHT_rv%cxxmem) ! splicer end class.Group.method.create_view_from_type_int64_t end function group_create_view_from_type_int64_t function group_create_view_with_shape_base(obj, path, type, ndims, & shape) & result(SHT_rv) - use iso_c_binding, only : C_INT, C_INT64_T, C_PTR, C_SHORT + use iso_c_binding, only : C_INT, C_PTR class(SidreGroup) :: obj character(len=*), intent(IN) :: path integer(TypeID), value, intent(IN) :: type integer(C_INT), value, intent(IN) :: ndims integer(SIDRE_IndexType), intent(IN) :: shape(:) type(SidreView) :: SHT_rv - ! splicer begin class.Group.method.create_view_with_shape_base type(C_PTR) :: SHT_prv + ! splicer begin class.Group.method.create_view_with_shape_base + integer(C_INT) SHT_path_len + SHT_path_len = len(path, kind=C_INT) SHT_prv = c_group_create_view_with_shape_base_bufferify(obj%cxxmem, & - path, len_trim(path, kind=C_INT), type, ndims, shape, & - SHT_rv%cxxmem) + path, SHT_path_len, type, ndims, shape, SHT_rv%cxxmem) ! splicer end class.Group.method.create_view_with_shape_base end function group_create_view_with_shape_base @@ -3069,54 +3486,59 @@ function group_create_view_into_buffer(obj, path, buff) & character(len=*), intent(IN) :: path type(SidreBuffer), intent(INOUT) :: buff type(SidreView) :: SHT_rv - ! splicer begin class.Group.method.create_view_into_buffer type(C_PTR) :: SHT_prv + ! splicer begin class.Group.method.create_view_into_buffer + integer(C_INT) SHT_path_len + SHT_path_len = len(path, kind=C_INT) SHT_prv = c_group_create_view_into_buffer_bufferify(obj%cxxmem, & - path, len_trim(path, kind=C_INT), buff%cxxmem, & - SHT_rv%cxxmem) + path, SHT_path_len, buff%cxxmem, SHT_rv%cxxmem) ! splicer end class.Group.method.create_view_into_buffer end function group_create_view_into_buffer function group_create_view_from_type_and_buffer_int32_t(obj, path, & type, num_elems, buff) & result(SHT_rv) - use iso_c_binding, only : C_INT, C_INT32_T, C_INT64_T, C_PTR, C_SHORT + use iso_c_binding, only : C_INT, C_INT32_T, C_PTR class(SidreGroup) :: obj character(len=*), intent(IN) :: path integer(TypeID), value, intent(IN) :: type integer(C_INT32_T), value, intent(IN) :: num_elems type(SidreBuffer), intent(INOUT) :: buff type(SidreView) :: SHT_rv - ! splicer begin class.Group.method.create_view_from_type_and_buffer_int32_t type(C_PTR) :: SHT_prv - SHT_prv = c_group_create_view_from_type_and_buffer_bufferify(obj%cxxmem, & - path, len_trim(path, kind=C_INT), type, & - int(num_elems, SIDRE_IndexType), buff%cxxmem, SHT_rv%cxxmem) + ! splicer begin class.Group.method.create_view_from_type_and_buffer_int32_t + integer(C_INT) SHT_path_len + SHT_path_len = len(path, kind=C_INT) + SHT_prv = c_group_create_view_from_type_and_buffer_int32_t_bufferify(obj%cxxmem, & + path, SHT_path_len, type, num_elems, buff%cxxmem, & + SHT_rv%cxxmem) ! splicer end class.Group.method.create_view_from_type_and_buffer_int32_t end function group_create_view_from_type_and_buffer_int32_t function group_create_view_from_type_and_buffer_int64_t(obj, path, & type, num_elems, buff) & result(SHT_rv) - use iso_c_binding, only : C_INT, C_INT64_T, C_PTR, C_SHORT + use iso_c_binding, only : C_INT, C_INT64_T, C_PTR class(SidreGroup) :: obj character(len=*), intent(IN) :: path integer(TypeID), value, intent(IN) :: type integer(C_INT64_T), value, intent(IN) :: num_elems type(SidreBuffer), intent(INOUT) :: buff type(SidreView) :: SHT_rv - ! splicer begin class.Group.method.create_view_from_type_and_buffer_int64_t type(C_PTR) :: SHT_prv - SHT_prv = c_group_create_view_from_type_and_buffer_bufferify(obj%cxxmem, & - path, len_trim(path, kind=C_INT), type, & - int(num_elems, SIDRE_IndexType), buff%cxxmem, SHT_rv%cxxmem) + ! splicer begin class.Group.method.create_view_from_type_and_buffer_int64_t + integer(C_INT) SHT_path_len + SHT_path_len = len(path, kind=C_INT) + SHT_prv = c_group_create_view_from_type_and_buffer_int64_t_bufferify(obj%cxxmem, & + path, SHT_path_len, type, num_elems, buff%cxxmem, & + SHT_rv%cxxmem) ! splicer end class.Group.method.create_view_from_type_and_buffer_int64_t end function group_create_view_from_type_and_buffer_int64_t function group_create_view_with_shape_and_buffer(obj, path, type, & ndims, shape, buff) & result(SHT_rv) - use iso_c_binding, only : C_INT, C_INT64_T, C_PTR, C_SHORT + use iso_c_binding, only : C_INT, C_PTR class(SidreGroup) :: obj character(len=*), intent(IN) :: path integer(TypeID), value, intent(IN) :: type @@ -3124,11 +3546,13 @@ function group_create_view_with_shape_and_buffer(obj, path, type, & integer(SIDRE_IndexType), intent(IN) :: shape(:) type(SidreBuffer), intent(INOUT) :: buff type(SidreView) :: SHT_rv - ! splicer begin class.Group.method.create_view_with_shape_and_buffer type(C_PTR) :: SHT_prv + ! splicer begin class.Group.method.create_view_with_shape_and_buffer + integer(C_INT) SHT_path_len + SHT_path_len = len(path, kind=C_INT) SHT_prv = c_group_create_view_with_shape_and_buffer_bufferify(obj%cxxmem, & - path, len_trim(path, kind=C_INT), type, ndims, shape, & - buff%cxxmem, SHT_rv%cxxmem) + path, SHT_path_len, type, ndims, shape, buff%cxxmem, & + SHT_rv%cxxmem) ! splicer end class.Group.method.create_view_with_shape_and_buffer end function group_create_view_with_shape_and_buffer @@ -3139,29 +3563,31 @@ function group_create_view_external(obj, path, external_ptr) & character(len=*), intent(IN) :: path type(C_PTR), intent(IN) :: external_ptr type(SidreView) :: SHT_rv - ! splicer begin class.Group.method.create_view_external type(C_PTR) :: SHT_prv + ! splicer begin class.Group.method.create_view_external + integer(C_INT) SHT_path_len + SHT_path_len = len(path, kind=C_INT) SHT_prv = c_group_create_view_external_bufferify(obj%cxxmem, & - path, len_trim(path, kind=C_INT), external_ptr, & - SHT_rv%cxxmem) + path, SHT_path_len, external_ptr, SHT_rv%cxxmem) ! splicer end class.Group.method.create_view_external end function group_create_view_external function group_create_view_from_type_external_int32_t(obj, path, & type, num_elems, external_ptr) & result(SHT_rv) - use iso_c_binding, only : C_INT, C_INT32_T, C_INT64_T, C_PTR, C_SHORT + use iso_c_binding, only : C_INT, C_INT32_T, C_PTR class(SidreGroup) :: obj character(len=*), intent(IN) :: path integer(TypeID), value, intent(IN) :: type integer(C_INT32_T), value, intent(IN) :: num_elems type(C_PTR), intent(IN) :: external_ptr type(SidreView) :: SHT_rv - ! splicer begin class.Group.method.create_view_from_type_external_int32_t type(C_PTR) :: SHT_prv - SHT_prv = c_group_create_view_from_type_external_bufferify(obj%cxxmem, & - path, len_trim(path, kind=C_INT), type, & - int(num_elems, SIDRE_IndexType), external_ptr, & + ! splicer begin class.Group.method.create_view_from_type_external_int32_t + integer(C_INT) SHT_path_len + SHT_path_len = len(path, kind=C_INT) + SHT_prv = c_group_create_view_from_type_external_int32_t_bufferify(obj%cxxmem, & + path, SHT_path_len, type, num_elems, external_ptr, & SHT_rv%cxxmem) ! splicer end class.Group.method.create_view_from_type_external_int32_t end function group_create_view_from_type_external_int32_t @@ -3169,18 +3595,19 @@ end function group_create_view_from_type_external_int32_t function group_create_view_from_type_external_int64_t(obj, path, & type, num_elems, external_ptr) & result(SHT_rv) - use iso_c_binding, only : C_INT, C_INT64_T, C_PTR, C_SHORT + use iso_c_binding, only : C_INT, C_INT64_T, C_PTR class(SidreGroup) :: obj character(len=*), intent(IN) :: path integer(TypeID), value, intent(IN) :: type integer(C_INT64_T), value, intent(IN) :: num_elems type(C_PTR), intent(IN) :: external_ptr type(SidreView) :: SHT_rv - ! splicer begin class.Group.method.create_view_from_type_external_int64_t type(C_PTR) :: SHT_prv - SHT_prv = c_group_create_view_from_type_external_bufferify(obj%cxxmem, & - path, len_trim(path, kind=C_INT), type, & - int(num_elems, SIDRE_IndexType), external_ptr, & + ! splicer begin class.Group.method.create_view_from_type_external_int64_t + integer(C_INT) SHT_path_len + SHT_path_len = len(path, kind=C_INT) + SHT_prv = c_group_create_view_from_type_external_int64_t_bufferify(obj%cxxmem, & + path, SHT_path_len, type, num_elems, external_ptr, & SHT_rv%cxxmem) ! splicer end class.Group.method.create_view_from_type_external_int64_t end function group_create_view_from_type_external_int64_t @@ -3188,7 +3615,7 @@ end function group_create_view_from_type_external_int64_t function group_create_view_with_shape_external(obj, path, type, & ndims, shape, external_ptr) & result(SHT_rv) - use iso_c_binding, only : C_INT, C_INT64_T, C_PTR, C_SHORT + use iso_c_binding, only : C_INT, C_PTR class(SidreGroup) :: obj character(len=*), intent(IN) :: path integer(TypeID), value, intent(IN) :: type @@ -3196,63 +3623,68 @@ function group_create_view_with_shape_external(obj, path, type, & integer(SIDRE_IndexType), intent(IN) :: shape(:) type(C_PTR), intent(IN) :: external_ptr type(SidreView) :: SHT_rv - ! splicer begin class.Group.method.create_view_with_shape_external type(C_PTR) :: SHT_prv + ! splicer begin class.Group.method.create_view_with_shape_external + integer(C_INT) SHT_path_len + SHT_path_len = len(path, kind=C_INT) SHT_prv = c_group_create_view_with_shape_external_bufferify(obj%cxxmem, & - path, len_trim(path, kind=C_INT), type, ndims, shape, & - external_ptr, SHT_rv%cxxmem) + path, SHT_path_len, type, ndims, shape, external_ptr, & + SHT_rv%cxxmem) ! splicer end class.Group.method.create_view_with_shape_external end function group_create_view_with_shape_external function group_create_view_and_allocate_nelems_int32_t(obj, path, & type, num_elems) & result(SHT_rv) - use iso_c_binding, only : C_INT, C_INT32_T, C_INT64_T, C_PTR, C_SHORT + use iso_c_binding, only : C_INT, C_INT32_T, C_PTR class(SidreGroup) :: obj character(len=*), intent(IN) :: path integer(TypeID), value, intent(IN) :: type integer(C_INT32_T), value, intent(IN) :: num_elems type(SidreView) :: SHT_rv - ! splicer begin class.Group.method.create_view_and_allocate_nelems_int32_t type(C_PTR) :: SHT_prv - SHT_prv = c_group_create_view_and_allocate_nelems_bufferify(obj%cxxmem, & - path, len_trim(path, kind=C_INT), type, & - int(num_elems, SIDRE_IndexType), SHT_rv%cxxmem) + ! splicer begin class.Group.method.create_view_and_allocate_nelems_int32_t + integer(C_INT) SHT_path_len + SHT_path_len = len(path, kind=C_INT) + SHT_prv = c_group_create_view_and_allocate_nelems_int32_t_bufferify(obj%cxxmem, & + path, SHT_path_len, type, num_elems, SHT_rv%cxxmem) ! splicer end class.Group.method.create_view_and_allocate_nelems_int32_t end function group_create_view_and_allocate_nelems_int32_t function group_create_view_and_allocate_nelems_int64_t(obj, path, & type, num_elems) & result(SHT_rv) - use iso_c_binding, only : C_INT, C_INT64_T, C_PTR, C_SHORT + use iso_c_binding, only : C_INT, C_INT64_T, C_PTR class(SidreGroup) :: obj character(len=*), intent(IN) :: path integer(TypeID), value, intent(IN) :: type integer(C_INT64_T), value, intent(IN) :: num_elems type(SidreView) :: SHT_rv - ! splicer begin class.Group.method.create_view_and_allocate_nelems_int64_t type(C_PTR) :: SHT_prv - SHT_prv = c_group_create_view_and_allocate_nelems_bufferify(obj%cxxmem, & - path, len_trim(path, kind=C_INT), type, & - int(num_elems, SIDRE_IndexType), SHT_rv%cxxmem) + ! splicer begin class.Group.method.create_view_and_allocate_nelems_int64_t + integer(C_INT) SHT_path_len + SHT_path_len = len(path, kind=C_INT) + SHT_prv = c_group_create_view_and_allocate_nelems_int64_t_bufferify(obj%cxxmem, & + path, SHT_path_len, type, num_elems, SHT_rv%cxxmem) ! splicer end class.Group.method.create_view_and_allocate_nelems_int64_t end function group_create_view_and_allocate_nelems_int64_t function group_create_view_with_shape_and_allocate(obj, path, type, & ndims, shape) & result(SHT_rv) - use iso_c_binding, only : C_INT, C_INT64_T, C_PTR, C_SHORT + use iso_c_binding, only : C_INT, C_PTR class(SidreGroup) :: obj character(len=*), intent(IN) :: path integer(TypeID), value, intent(IN) :: type integer(C_INT), value, intent(IN) :: ndims integer(SIDRE_IndexType), intent(IN) :: shape(:) type(SidreView) :: SHT_rv - ! splicer begin class.Group.method.create_view_with_shape_and_allocate type(C_PTR) :: SHT_prv + ! splicer begin class.Group.method.create_view_with_shape_and_allocate + integer(C_INT) SHT_path_len + SHT_path_len = len(path, kind=C_INT) SHT_prv = c_group_create_view_with_shape_and_allocate_bufferify(obj%cxxmem, & - path, len_trim(path, kind=C_INT), type, ndims, shape, & - SHT_rv%cxxmem) + path, SHT_path_len, type, ndims, shape, SHT_rv%cxxmem) ! splicer end class.Group.method.create_view_with_shape_and_allocate end function group_create_view_with_shape_and_allocate @@ -3263,10 +3695,12 @@ function group_create_view_scalar_int(obj, path, value) & character(len=*), intent(IN) :: path integer(C_INT), value, intent(IN) :: value type(SidreView) :: SHT_rv - ! splicer begin class.Group.method.create_view_scalar_int type(C_PTR) :: SHT_prv + ! splicer begin class.Group.method.create_view_scalar_int + integer(C_INT) SHT_path_len + SHT_path_len = len(path, kind=C_INT) SHT_prv = c_group_create_view_scalar_bufferify_int(obj%cxxmem, & - path, len_trim(path, kind=C_INT), value, SHT_rv%cxxmem) + path, SHT_path_len, value, SHT_rv%cxxmem) ! splicer end class.Group.method.create_view_scalar_int end function group_create_view_scalar_int @@ -3277,10 +3711,12 @@ function group_create_view_scalar_long(obj, path, value) & character(len=*), intent(IN) :: path integer(C_LONG), value, intent(IN) :: value type(SidreView) :: SHT_rv - ! splicer begin class.Group.method.create_view_scalar_long type(C_PTR) :: SHT_prv + ! splicer begin class.Group.method.create_view_scalar_long + integer(C_INT) SHT_path_len + SHT_path_len = len(path, kind=C_INT) SHT_prv = c_group_create_view_scalar_bufferify_long(obj%cxxmem, & - path, len_trim(path, kind=C_INT), value, SHT_rv%cxxmem) + path, SHT_path_len, value, SHT_rv%cxxmem) ! splicer end class.Group.method.create_view_scalar_long end function group_create_view_scalar_long @@ -3291,10 +3727,12 @@ function group_create_view_scalar_float(obj, path, value) & character(len=*), intent(IN) :: path real(C_FLOAT), value, intent(IN) :: value type(SidreView) :: SHT_rv - ! splicer begin class.Group.method.create_view_scalar_float type(C_PTR) :: SHT_prv + ! splicer begin class.Group.method.create_view_scalar_float + integer(C_INT) SHT_path_len + SHT_path_len = len(path, kind=C_INT) SHT_prv = c_group_create_view_scalar_bufferify_float(obj%cxxmem, & - path, len_trim(path, kind=C_INT), value, SHT_rv%cxxmem) + path, SHT_path_len, value, SHT_rv%cxxmem) ! splicer end class.Group.method.create_view_scalar_float end function group_create_view_scalar_float @@ -3305,10 +3743,12 @@ function group_create_view_scalar_double(obj, path, value) & character(len=*), intent(IN) :: path real(C_DOUBLE), value, intent(IN) :: value type(SidreView) :: SHT_rv - ! splicer begin class.Group.method.create_view_scalar_double type(C_PTR) :: SHT_prv + ! splicer begin class.Group.method.create_view_scalar_double + integer(C_INT) SHT_path_len + SHT_path_len = len(path, kind=C_INT) SHT_prv = c_group_create_view_scalar_bufferify_double(obj%cxxmem, & - path, len_trim(path, kind=C_INT), value, SHT_rv%cxxmem) + path, SHT_path_len, value, SHT_rv%cxxmem) ! splicer end class.Group.method.create_view_scalar_double end function group_create_view_scalar_double @@ -3319,11 +3759,14 @@ function group_create_view_string(obj, path, value) & character(len=*), intent(IN) :: path character(len=*), intent(IN) :: value type(SidreView) :: SHT_rv - ! splicer begin class.Group.method.create_view_string type(C_PTR) :: SHT_prv + ! splicer begin class.Group.method.create_view_string + integer(C_INT) SHT_path_len + integer(C_INT) SHT_value_len + SHT_path_len = len(path, kind=C_INT) + SHT_value_len = len(value, kind=C_INT) SHT_prv = c_group_create_view_string_bufferify(obj%cxxmem, path, & - len_trim(path, kind=C_INT), value, & - len_trim(value, kind=C_INT), SHT_rv%cxxmem) + SHT_path_len, value, SHT_value_len, SHT_rv%cxxmem) ! splicer end class.Group.method.create_view_string end function group_create_view_string @@ -3332,8 +3775,10 @@ subroutine group_destroy_view(obj, path) class(SidreGroup) :: obj character(len=*), intent(IN) :: path ! splicer begin class.Group.method.destroy_view + integer(C_INT) SHT_path_len + SHT_path_len = len(path, kind=C_INT) call c_group_destroy_view_bufferify(obj%cxxmem, path, & - len_trim(path, kind=C_INT)) + SHT_path_len) ! splicer end class.Group.method.destroy_view end subroutine group_destroy_view @@ -3342,13 +3787,15 @@ subroutine group_destroy_view_and_data_name(obj, path) class(SidreGroup) :: obj character(len=*), intent(IN) :: path ! splicer begin class.Group.method.destroy_view_and_data_name + integer(C_INT) SHT_path_len + SHT_path_len = len(path, kind=C_INT) call c_group_destroy_view_and_data_name_bufferify(obj%cxxmem, & - path, len_trim(path, kind=C_INT)) + path, SHT_path_len) ! splicer end class.Group.method.destroy_view_and_data_name end subroutine group_destroy_view_and_data_name subroutine group_destroy_view_and_data_index_int32_t(obj, idx) - use iso_c_binding, only : C_INT32_T, C_INT64_T + use iso_c_binding, only : C_INT32_T class(SidreGroup) :: obj integer(C_INT32_T), value, intent(IN) :: idx ! splicer begin class.Group.method.destroy_view_and_data_index_int32_t @@ -3373,8 +3820,8 @@ function group_move_view(obj, view) & class(SidreGroup) :: obj type(SidreView), intent(INOUT) :: view type(SidreView) :: SHT_rv - ! splicer begin class.Group.method.move_view type(C_PTR) :: SHT_prv + ! splicer begin class.Group.method.move_view SHT_prv = c_group_move_view(obj%cxxmem, view%cxxmem, & SHT_rv%cxxmem) ! splicer end class.Group.method.move_view @@ -3386,8 +3833,8 @@ function group_copy_view(obj, view) & class(SidreGroup) :: obj type(SidreView), intent(INOUT) :: view type(SidreView) :: SHT_rv - ! splicer begin class.Group.method.copy_view type(C_PTR) :: SHT_prv + ! splicer begin class.Group.method.copy_view SHT_prv = c_group_copy_view(obj%cxxmem, view%cxxmem, & SHT_rv%cxxmem) ! splicer end class.Group.method.copy_view @@ -3400,8 +3847,10 @@ function group_has_group(obj, path) & character(len=*), intent(IN) :: path logical :: SHT_rv ! splicer begin class.Group.method.has_group + integer(C_INT) SHT_path_len + SHT_path_len = len(path, kind=C_INT) SHT_rv = c_group_has_group_bufferify(obj%cxxmem, path, & - len_trim(path, kind=C_INT)) + SHT_path_len) ! splicer end class.Group.method.has_group end function group_has_group @@ -3412,32 +3861,38 @@ function group_has_child_group(obj, name) & character(len=*), intent(IN) :: name logical :: SHT_rv ! splicer begin class.Group.method.has_child_group + integer(C_INT) SHT_name_len + SHT_name_len = len(name, kind=C_INT) SHT_rv = c_group_has_child_group_bufferify(obj%cxxmem, name, & - len_trim(name, kind=C_INT)) + SHT_name_len) ! splicer end class.Group.method.has_child_group end function group_has_child_group function group_get_group_index(obj, name) & result(SHT_rv) - use iso_c_binding, only : C_INT, C_INT64_T + use iso_c_binding, only : C_INT class(SidreGroup) :: obj character(len=*), intent(IN) :: name integer(SIDRE_IndexType) :: SHT_rv ! splicer begin class.Group.method.get_group_index + integer(C_INT) SHT_name_len + SHT_name_len = len(name, kind=C_INT) SHT_rv = c_group_get_group_index_bufferify(obj%cxxmem, name, & - len_trim(name, kind=C_INT)) + SHT_name_len) ! splicer end class.Group.method.get_group_index end function group_get_group_index function group_get_group_name_int32_t(obj, idx) & result(SHT_rv) - use iso_c_binding, only : C_INT, C_INT32_T, C_INT64_T + use iso_c_binding, only : C_INT, C_INT32_T class(SidreGroup) :: obj integer(C_INT32_T), value, intent(IN) :: idx character(len=MAXNAMESIZE) :: SHT_rv ! splicer begin class.Group.method.get_group_name_int32_t - call c_group_get_group_name_bufferify(obj%cxxmem, & - int(idx, SIDRE_IndexType), SHT_rv, len(SHT_rv, kind=C_INT)) + integer(C_INT) SHT_rv_len + SHT_rv_len = len(SHT_rv, kind=C_INT) + call c_group_get_group_name_int32_t_bufferify(obj%cxxmem, idx, & + SHT_rv, SHT_rv_len) ! splicer end class.Group.method.get_group_name_int32_t end function group_get_group_name_int32_t @@ -3448,8 +3903,10 @@ function group_get_group_name_int64_t(obj, idx) & integer(C_INT64_T), value, intent(IN) :: idx character(len=MAXNAMESIZE) :: SHT_rv ! splicer begin class.Group.method.get_group_name_int64_t - call c_group_get_group_name_bufferify(obj%cxxmem, & - int(idx, SIDRE_IndexType), SHT_rv, len(SHT_rv, kind=C_INT)) + integer(C_INT) SHT_rv_len + SHT_rv_len = len(SHT_rv, kind=C_INT) + call c_group_get_group_name_int64_t_bufferify(obj%cxxmem, idx, & + SHT_rv, SHT_rv_len) ! splicer end class.Group.method.get_group_name_int64_t end function group_get_group_name_int64_t @@ -3459,23 +3916,25 @@ function group_get_group_from_name(obj, path) & class(SidreGroup) :: obj character(len=*), intent(IN) :: path type(SidreGroup) :: SHT_rv - ! splicer begin class.Group.method.get_group_from_name type(C_PTR) :: SHT_prv + ! splicer begin class.Group.method.get_group_from_name + integer(C_INT) SHT_path_len + SHT_path_len = len(path, kind=C_INT) SHT_prv = c_group_get_group_from_name_bufferify(obj%cxxmem, & - path, len_trim(path, kind=C_INT), SHT_rv%cxxmem) + path, SHT_path_len, SHT_rv%cxxmem) ! splicer end class.Group.method.get_group_from_name end function group_get_group_from_name function group_get_group_from_index_int32_t(obj, idx) & result(SHT_rv) - use iso_c_binding, only : C_INT32_T, C_INT64_T, C_PTR + use iso_c_binding, only : C_INT32_T, C_PTR class(SidreGroup) :: obj integer(C_INT32_T), value, intent(IN) :: idx type(SidreGroup) :: SHT_rv - ! splicer begin class.Group.method.get_group_from_index_int32_t type(C_PTR) :: SHT_prv - SHT_prv = c_group_get_group_from_index(obj%cxxmem, & - int(idx, SIDRE_IndexType), SHT_rv%cxxmem) + ! splicer begin class.Group.method.get_group_from_index_int32_t + SHT_prv = c_group_get_group_from_index_int32_t(obj%cxxmem, idx, & + SHT_rv%cxxmem) ! splicer end class.Group.method.get_group_from_index_int32_t end function group_get_group_from_index_int32_t @@ -3485,16 +3944,15 @@ function group_get_group_from_index_int64_t(obj, idx) & class(SidreGroup) :: obj integer(C_INT64_T), value, intent(IN) :: idx type(SidreGroup) :: SHT_rv - ! splicer begin class.Group.method.get_group_from_index_int64_t type(C_PTR) :: SHT_prv - SHT_prv = c_group_get_group_from_index(obj%cxxmem, & - int(idx, SIDRE_IndexType), SHT_rv%cxxmem) + ! splicer begin class.Group.method.get_group_from_index_int64_t + SHT_prv = c_group_get_group_from_index_int64_t(obj%cxxmem, idx, & + SHT_rv%cxxmem) ! splicer end class.Group.method.get_group_from_index_int64_t end function group_get_group_from_index_int64_t function group_get_first_valid_group_index(obj) & result(SHT_rv) - use iso_c_binding, only : C_INT64_T class(SidreGroup) :: obj integer(SIDRE_IndexType) :: SHT_rv ! splicer begin class.Group.method.get_first_valid_group_index @@ -3504,7 +3962,7 @@ end function group_get_first_valid_group_index function group_get_next_valid_group_index_int32_t(obj, idx) & result(SHT_rv) - use iso_c_binding, only : C_INT32_T, C_INT64_T + use iso_c_binding, only : C_INT32_T class(SidreGroup) :: obj integer(C_INT32_T), value, intent(IN) :: idx integer(SIDRE_IndexType) :: SHT_rv @@ -3532,10 +3990,12 @@ function group_create_group(obj, path) & class(SidreGroup) :: obj character(len=*), intent(IN) :: path type(SidreGroup) :: SHT_rv - ! splicer begin class.Group.method.create_group type(C_PTR) :: SHT_prv + ! splicer begin class.Group.method.create_group + integer(C_INT) SHT_path_len + SHT_path_len = len(path, kind=C_INT) SHT_prv = c_group_create_group_bufferify(obj%cxxmem, path, & - len_trim(path, kind=C_INT), SHT_rv%cxxmem) + SHT_path_len, SHT_rv%cxxmem) ! splicer end class.Group.method.create_group end function group_create_group @@ -3544,13 +4004,15 @@ subroutine group_destroy_group_name(obj, path) class(SidreGroup) :: obj character(len=*), intent(IN) :: path ! splicer begin class.Group.method.destroy_group_name + integer(C_INT) SHT_path_len + SHT_path_len = len(path, kind=C_INT) call c_group_destroy_group_name_bufferify(obj%cxxmem, path, & - len_trim(path, kind=C_INT)) + SHT_path_len) ! splicer end class.Group.method.destroy_group_name end subroutine group_destroy_group_name subroutine group_destroy_group_index_int32_t(obj, idx) - use iso_c_binding, only : C_INT32_T, C_INT64_T + use iso_c_binding, only : C_INT32_T class(SidreGroup) :: obj integer(C_INT32_T), value, intent(IN) :: idx ! splicer begin class.Group.method.destroy_group_index_int32_t @@ -3575,8 +4037,8 @@ function group_move_group(obj, grp) & class(SidreGroup) :: obj type(SidreGroup), intent(INOUT) :: grp type(SidreGroup) :: SHT_rv - ! splicer begin class.Group.method.move_group type(C_PTR) :: SHT_prv + ! splicer begin class.Group.method.move_group SHT_prv = c_group_move_group(obj%cxxmem, grp%cxxmem, & SHT_rv%cxxmem) ! splicer end class.Group.method.move_group @@ -3606,9 +4068,12 @@ subroutine group_save(obj, file_path, protocol) character(len=*), intent(IN) :: file_path character(len=*), intent(IN) :: protocol ! splicer begin class.Group.method.save + integer(C_INT) SHT_file_path_len + integer(C_INT) SHT_protocol_len + SHT_file_path_len = len(file_path, kind=C_INT) + SHT_protocol_len = len(protocol, kind=C_INT) call c_group_save_bufferify(obj%cxxmem, file_path, & - len_trim(file_path, kind=C_INT), protocol, & - len_trim(protocol, kind=C_INT)) + SHT_file_path_len, protocol, SHT_protocol_len) ! splicer end class.Group.method.save end subroutine group_save @@ -3618,9 +4083,12 @@ subroutine group_load_0(obj, file_path, protocol) character(len=*), intent(IN) :: file_path character(len=*), intent(IN) :: protocol ! splicer begin class.Group.method.load_0 + integer(C_INT) SHT_file_path_len + integer(C_INT) SHT_protocol_len + SHT_file_path_len = len(file_path, kind=C_INT) + SHT_protocol_len = len(protocol, kind=C_INT) call c_group_load_0_bufferify(obj%cxxmem, file_path, & - len_trim(file_path, kind=C_INT), protocol, & - len_trim(protocol, kind=C_INT)) + SHT_file_path_len, protocol, SHT_protocol_len) ! splicer end class.Group.method.load_0 end subroutine group_load_0 @@ -3631,11 +4099,15 @@ subroutine group_load_1(obj, file_path, protocol, preserve_contents) character(len=*), intent(IN) :: protocol logical, value, intent(IN) :: preserve_contents ! splicer begin class.Group.method.load_1 + integer(C_INT) SHT_file_path_len + integer(C_INT) SHT_protocol_len logical(C_BOOL) SH_preserve_contents + SHT_file_path_len = len(file_path, kind=C_INT) + SHT_protocol_len = len(protocol, kind=C_INT) SH_preserve_contents = preserve_contents ! coerce to C_BOOL call c_group_load_1_bufferify(obj%cxxmem, file_path, & - len_trim(file_path, kind=C_INT), protocol, & - len_trim(protocol, kind=C_INT), SH_preserve_contents) + SHT_file_path_len, protocol, SHT_protocol_len, & + SH_preserve_contents) ! splicer end class.Group.method.load_1 end subroutine group_load_1 @@ -3644,8 +4116,10 @@ subroutine group_load_external_data(obj, file_path) class(SidreGroup) :: obj character(len=*), intent(IN) :: file_path ! splicer begin class.Group.method.load_external_data + integer(C_INT) SHT_file_path_len + SHT_file_path_len = len(file_path, kind=C_INT) call c_group_load_external_data_bufferify(obj%cxxmem, file_path, & - len_trim(file_path, kind=C_INT)) + SHT_file_path_len) ! splicer end class.Group.method.load_external_data end subroutine group_load_external_data @@ -3656,8 +4130,10 @@ function group_rename(obj, new_name) & character(len=*), intent(IN) :: new_name logical :: SHT_rv ! splicer begin class.Group.method.rename + integer(C_INT) SHT_new_name_len + SHT_new_name_len = len(new_name, kind=C_INT) SHT_rv = c_group_rename_bufferify(obj%cxxmem, new_name, & - len_trim(new_name, kind=C_INT)) + SHT_new_name_len) ! splicer end class.Group.method.rename end function group_rename @@ -3693,7 +4169,7 @@ subroutine group_get_scalar_int(grp, name, value) character(*), intent(IN) :: name integer(C_INT), intent(OUT) :: value integer(C_INT) :: lname - type(SIDRE_SHROUD_view_capsule) view + type(SIDRE_SHROUD_capsule_data) view type(C_PTR) viewptr lname = len_trim(name) @@ -3708,7 +4184,7 @@ subroutine group_get_scalar_long(grp, name, value) character(*), intent(IN) :: name integer(C_LONG), intent(OUT) :: value integer(C_INT) :: lname - type(SIDRE_SHROUD_view_capsule) view + type(SIDRE_SHROUD_capsule_data) view type(C_PTR) viewptr lname = len_trim(name) @@ -3723,7 +4199,7 @@ subroutine group_get_scalar_float(grp, name, value) character(*), intent(IN) :: name real(C_FLOAT), intent(OUT) :: value integer(C_INT) :: lname - type(SIDRE_SHROUD_view_capsule) view + type(SIDRE_SHROUD_capsule_data) view type(C_PTR) viewptr lname = len_trim(name) @@ -3738,7 +4214,7 @@ subroutine group_get_scalar_double(grp, name, value) character(*), intent(IN) :: name real(C_DOUBLE), intent(OUT) :: value integer(C_INT) :: lname - type(SIDRE_SHROUD_view_capsule) view + type(SIDRE_SHROUD_capsule_data) view type(C_PTR) viewptr lname = len_trim(name) @@ -3753,7 +4229,7 @@ subroutine group_set_scalar_int(grp, name, value) character(*), intent(IN) :: name integer(C_INT), intent(IN) :: value integer(C_INT) :: lname - type(SIDRE_SHROUD_view_capsule) view + type(SIDRE_SHROUD_capsule_data) view type(C_PTR) viewptr lname = len_trim(name) @@ -3768,7 +4244,7 @@ subroutine group_set_scalar_long(grp, name, value) character(*), intent(IN) :: name integer(C_LONG), intent(IN) :: value integer(C_INT) :: lname - type(SIDRE_SHROUD_view_capsule) view + type(SIDRE_SHROUD_capsule_data) view type(C_PTR) viewptr lname = len_trim(name) @@ -3783,7 +4259,7 @@ subroutine group_set_scalar_float(grp, name, value) character(*), intent(IN) :: name real(C_FLOAT), intent(IN) :: value integer(C_INT) :: lname - type(SIDRE_SHROUD_view_capsule) view + type(SIDRE_SHROUD_capsule_data) view type(C_PTR) viewptr lname = len_trim(name) @@ -3798,7 +4274,7 @@ subroutine group_set_scalar_double(grp, name, value) character(*), intent(IN) :: name real(C_DOUBLE), intent(IN) :: value integer(C_INT) :: lname - type(SIDRE_SHROUD_view_capsule) view + type(SIDRE_SHROUD_capsule_data) view type(C_PTR) viewptr lname = len_trim(name) @@ -4336,7 +4812,7 @@ subroutine group_set_array_data_ptr_int_scalar(grp, name, value) character(len=*), intent(IN) :: name integer(C_INT), target, intent(IN) :: value integer(C_INT) :: lname - type(SIDRE_SHROUD_view_capsule) view + type(SIDRE_SHROUD_capsule_data) view ! integer(SIDRE_IndexType) :: extents(1) ! integer(C_INT), parameter :: type = SIDRE_INT_ID type(C_PTR) addr, viewptr @@ -4365,7 +4841,7 @@ subroutine group_set_array_data_ptr_int_1d(grp, name, value) character(len=*), intent(IN) :: name integer(C_INT), target, intent(IN) :: value(:) integer(C_INT) :: lname - type(SIDRE_SHROUD_view_capsule) view + type(SIDRE_SHROUD_capsule_data) view ! integer(SIDRE_IndexType) :: extents(1) ! integer(C_INT), parameter :: type = SIDRE_INT_ID type(C_PTR) addr, viewptr @@ -4394,7 +4870,7 @@ subroutine group_set_array_data_ptr_int_2d(grp, name, value) character(len=*), intent(IN) :: name integer(C_INT), target, intent(IN) :: value(:,:) integer(C_INT) :: lname - type(SIDRE_SHROUD_view_capsule) view + type(SIDRE_SHROUD_capsule_data) view ! integer(SIDRE_IndexType) :: extents(2) ! integer(C_INT), parameter :: type = SIDRE_INT_ID type(C_PTR) addr, viewptr @@ -4423,7 +4899,7 @@ subroutine group_set_array_data_ptr_int_3d(grp, name, value) character(len=*), intent(IN) :: name integer(C_INT), target, intent(IN) :: value(:,:,:) integer(C_INT) :: lname - type(SIDRE_SHROUD_view_capsule) view + type(SIDRE_SHROUD_capsule_data) view ! integer(SIDRE_IndexType) :: extents(3) ! integer(C_INT), parameter :: type = SIDRE_INT_ID type(C_PTR) addr, viewptr @@ -4452,7 +4928,7 @@ subroutine group_set_array_data_ptr_int_4d(grp, name, value) character(len=*), intent(IN) :: name integer(C_INT), target, intent(IN) :: value(:,:,:,:) integer(C_INT) :: lname - type(SIDRE_SHROUD_view_capsule) view + type(SIDRE_SHROUD_capsule_data) view ! integer(SIDRE_IndexType) :: extents(4) ! integer(C_INT), parameter :: type = SIDRE_INT_ID type(C_PTR) addr, viewptr @@ -4481,7 +4957,7 @@ subroutine group_set_array_data_ptr_long_scalar(grp, name, value) character(len=*), intent(IN) :: name integer(C_LONG), target, intent(IN) :: value integer(C_INT) :: lname - type(SIDRE_SHROUD_view_capsule) view + type(SIDRE_SHROUD_capsule_data) view ! integer(SIDRE_IndexType) :: extents(1) ! integer(C_INT), parameter :: type = SIDRE_LONG_ID type(C_PTR) addr, viewptr @@ -4510,7 +4986,7 @@ subroutine group_set_array_data_ptr_long_1d(grp, name, value) character(len=*), intent(IN) :: name integer(C_LONG), target, intent(IN) :: value(:) integer(C_INT) :: lname - type(SIDRE_SHROUD_view_capsule) view + type(SIDRE_SHROUD_capsule_data) view ! integer(SIDRE_IndexType) :: extents(1) ! integer(C_INT), parameter :: type = SIDRE_LONG_ID type(C_PTR) addr, viewptr @@ -4539,7 +5015,7 @@ subroutine group_set_array_data_ptr_long_2d(grp, name, value) character(len=*), intent(IN) :: name integer(C_LONG), target, intent(IN) :: value(:,:) integer(C_INT) :: lname - type(SIDRE_SHROUD_view_capsule) view + type(SIDRE_SHROUD_capsule_data) view ! integer(SIDRE_IndexType) :: extents(2) ! integer(C_INT), parameter :: type = SIDRE_LONG_ID type(C_PTR) addr, viewptr @@ -4568,7 +5044,7 @@ subroutine group_set_array_data_ptr_long_3d(grp, name, value) character(len=*), intent(IN) :: name integer(C_LONG), target, intent(IN) :: value(:,:,:) integer(C_INT) :: lname - type(SIDRE_SHROUD_view_capsule) view + type(SIDRE_SHROUD_capsule_data) view ! integer(SIDRE_IndexType) :: extents(3) ! integer(C_INT), parameter :: type = SIDRE_LONG_ID type(C_PTR) addr, viewptr @@ -4597,7 +5073,7 @@ subroutine group_set_array_data_ptr_long_4d(grp, name, value) character(len=*), intent(IN) :: name integer(C_LONG), target, intent(IN) :: value(:,:,:,:) integer(C_INT) :: lname - type(SIDRE_SHROUD_view_capsule) view + type(SIDRE_SHROUD_capsule_data) view ! integer(SIDRE_IndexType) :: extents(4) ! integer(C_INT), parameter :: type = SIDRE_LONG_ID type(C_PTR) addr, viewptr @@ -4626,7 +5102,7 @@ subroutine group_set_array_data_ptr_float_scalar(grp, name, value) character(len=*), intent(IN) :: name real(C_FLOAT), target, intent(IN) :: value integer(C_INT) :: lname - type(SIDRE_SHROUD_view_capsule) view + type(SIDRE_SHROUD_capsule_data) view ! integer(SIDRE_IndexType) :: extents(1) ! integer(C_INT), parameter :: type = SIDRE_FLOAT_ID type(C_PTR) addr, viewptr @@ -4655,7 +5131,7 @@ subroutine group_set_array_data_ptr_float_1d(grp, name, value) character(len=*), intent(IN) :: name real(C_FLOAT), target, intent(IN) :: value(:) integer(C_INT) :: lname - type(SIDRE_SHROUD_view_capsule) view + type(SIDRE_SHROUD_capsule_data) view ! integer(SIDRE_IndexType) :: extents(1) ! integer(C_INT), parameter :: type = SIDRE_FLOAT_ID type(C_PTR) addr, viewptr @@ -4684,7 +5160,7 @@ subroutine group_set_array_data_ptr_float_2d(grp, name, value) character(len=*), intent(IN) :: name real(C_FLOAT), target, intent(IN) :: value(:,:) integer(C_INT) :: lname - type(SIDRE_SHROUD_view_capsule) view + type(SIDRE_SHROUD_capsule_data) view ! integer(SIDRE_IndexType) :: extents(2) ! integer(C_INT), parameter :: type = SIDRE_FLOAT_ID type(C_PTR) addr, viewptr @@ -4713,7 +5189,7 @@ subroutine group_set_array_data_ptr_float_3d(grp, name, value) character(len=*), intent(IN) :: name real(C_FLOAT), target, intent(IN) :: value(:,:,:) integer(C_INT) :: lname - type(SIDRE_SHROUD_view_capsule) view + type(SIDRE_SHROUD_capsule_data) view ! integer(SIDRE_IndexType) :: extents(3) ! integer(C_INT), parameter :: type = SIDRE_FLOAT_ID type(C_PTR) addr, viewptr @@ -4742,7 +5218,7 @@ subroutine group_set_array_data_ptr_float_4d(grp, name, value) character(len=*), intent(IN) :: name real(C_FLOAT), target, intent(IN) :: value(:,:,:,:) integer(C_INT) :: lname - type(SIDRE_SHROUD_view_capsule) view + type(SIDRE_SHROUD_capsule_data) view ! integer(SIDRE_IndexType) :: extents(4) ! integer(C_INT), parameter :: type = SIDRE_FLOAT_ID type(C_PTR) addr, viewptr @@ -4771,7 +5247,7 @@ subroutine group_set_array_data_ptr_double_scalar(grp, name, value) character(len=*), intent(IN) :: name real(C_DOUBLE), target, intent(IN) :: value integer(C_INT) :: lname - type(SIDRE_SHROUD_view_capsule) view + type(SIDRE_SHROUD_capsule_data) view ! integer(SIDRE_IndexType) :: extents(1) ! integer(C_INT), parameter :: type = SIDRE_DOUBLE_ID type(C_PTR) addr, viewptr @@ -4800,7 +5276,7 @@ subroutine group_set_array_data_ptr_double_1d(grp, name, value) character(len=*), intent(IN) :: name real(C_DOUBLE), target, intent(IN) :: value(:) integer(C_INT) :: lname - type(SIDRE_SHROUD_view_capsule) view + type(SIDRE_SHROUD_capsule_data) view ! integer(SIDRE_IndexType) :: extents(1) ! integer(C_INT), parameter :: type = SIDRE_DOUBLE_ID type(C_PTR) addr, viewptr @@ -4829,7 +5305,7 @@ subroutine group_set_array_data_ptr_double_2d(grp, name, value) character(len=*), intent(IN) :: name real(C_DOUBLE), target, intent(IN) :: value(:,:) integer(C_INT) :: lname - type(SIDRE_SHROUD_view_capsule) view + type(SIDRE_SHROUD_capsule_data) view ! integer(SIDRE_IndexType) :: extents(2) ! integer(C_INT), parameter :: type = SIDRE_DOUBLE_ID type(C_PTR) addr, viewptr @@ -4858,7 +5334,7 @@ subroutine group_set_array_data_ptr_double_3d(grp, name, value) character(len=*), intent(IN) :: name real(C_DOUBLE), target, intent(IN) :: value(:,:,:) integer(C_INT) :: lname - type(SIDRE_SHROUD_view_capsule) view + type(SIDRE_SHROUD_capsule_data) view ! integer(SIDRE_IndexType) :: extents(3) ! integer(C_INT), parameter :: type = SIDRE_DOUBLE_ID type(C_PTR) addr, viewptr @@ -4887,7 +5363,7 @@ subroutine group_set_array_data_ptr_double_4d(grp, name, value) character(len=*), intent(IN) :: name real(C_DOUBLE), target, intent(IN) :: value(:,:,:,:) integer(C_INT) :: lname - type(SIDRE_SHROUD_view_capsule) view + type(SIDRE_SHROUD_capsule_data) view ! integer(SIDRE_IndexType) :: extents(4) ! integer(C_INT), parameter :: type = SIDRE_DOUBLE_ID type(C_PTR) addr, viewptr @@ -4912,7 +5388,7 @@ subroutine group_get_string(grp, name, value) character(*), intent(IN) :: name character(*), intent(OUT) :: value integer(C_INT) :: lname - type(SIDRE_SHROUD_view_capsule) view + type(SIDRE_SHROUD_capsule_data) view type(C_PTR) viewptr lname = len_trim(name) @@ -4926,7 +5402,7 @@ subroutine group_set_string(grp, name, value) character(*), intent(IN) :: name character(*), intent(IN) :: value integer(C_INT) :: lname - type(SIDRE_SHROUD_view_capsule) view + type(SIDRE_SHROUD_capsule_data) view type(C_PTR) viewptr lname = len_trim(name) @@ -4938,7 +5414,6 @@ end subroutine group_set_string function view_get_index(obj) & result(SHT_rv) - use iso_c_binding, only : C_INT64_T class(SidreView) :: obj integer(SIDRE_IndexType) :: SHT_rv ! splicer begin class.View.method.get_index @@ -4952,8 +5427,9 @@ function view_get_name(obj) & class(SidreView) :: obj character(len=MAXNAMESIZE) :: SHT_rv ! splicer begin class.View.method.get_name - call c_view_get_name_bufferify(obj%cxxmem, SHT_rv, & - len(SHT_rv, kind=C_INT)) + integer(C_INT) SHT_rv_len + SHT_rv_len = len(SHT_rv, kind=C_INT) + call c_view_get_name_bufferify(obj%cxxmem, SHT_rv, SHT_rv_len) ! splicer end class.View.method.get_name end function view_get_name @@ -4963,8 +5439,9 @@ function view_get_path(obj) & class(SidreView) :: obj character(len=MAXNAMESIZE) :: SHT_rv ! splicer begin class.View.method.get_path - call c_view_get_path_bufferify(obj%cxxmem, SHT_rv, & - len(SHT_rv, kind=C_INT)) + integer(C_INT) SHT_rv_len + SHT_rv_len = len(SHT_rv, kind=C_INT) + call c_view_get_path_bufferify(obj%cxxmem, SHT_rv, SHT_rv_len) ! splicer end class.View.method.get_path end function view_get_path @@ -4974,8 +5451,10 @@ function view_get_path_name(obj) & class(SidreView) :: obj character(len=MAXNAMESIZE) :: SHT_rv ! splicer begin class.View.method.get_path_name + integer(C_INT) SHT_rv_len + SHT_rv_len = len(SHT_rv, kind=C_INT) call c_view_get_path_name_bufferify(obj%cxxmem, SHT_rv, & - len(SHT_rv, kind=C_INT)) + SHT_rv_len) ! splicer end class.View.method.get_path_name end function view_get_path_name @@ -4984,8 +5463,8 @@ function view_get_owning_group(obj) & use iso_c_binding, only : C_PTR class(SidreView) :: obj type(SidreGroup) :: SHT_rv - ! splicer begin class.View.method.get_owning_group type(C_PTR) :: SHT_prv + ! splicer begin class.View.method.get_owning_group SHT_prv = c_view_get_owning_group(obj%cxxmem, SHT_rv%cxxmem) ! splicer end class.View.method.get_owning_group end function view_get_owning_group @@ -5005,8 +5484,8 @@ function view_get_buffer(obj) & use iso_c_binding, only : C_PTR class(SidreView) :: obj type(SidreBuffer) :: SHT_rv - ! splicer begin class.View.method.get_buffer type(C_PTR) :: SHT_prv + ! splicer begin class.View.method.get_buffer SHT_prv = c_view_get_buffer(obj%cxxmem, SHT_rv%cxxmem) ! splicer end class.View.method.get_buffer end function view_get_buffer @@ -5093,7 +5572,6 @@ end function view_is_string function view_get_type_id(obj) & result(SHT_rv) - use iso_c_binding, only : C_INT class(SidreView) :: obj integer(TypeIDint) :: SHT_rv ! splicer begin class.View.method.get_type_id @@ -5163,7 +5641,7 @@ end function view_get_num_dimensions function view_get_shape(obj, ndims, shape) & result(SHT_rv) - use iso_c_binding, only : C_INT, C_INT64_T + use iso_c_binding, only : C_INT class(SidreView) :: obj integer(C_INT), value, intent(IN) :: ndims integer(SIDRE_IndexType), intent(OUT) :: shape(:) @@ -5181,7 +5659,7 @@ subroutine view_allocate_simple(obj) end subroutine view_allocate_simple subroutine view_allocate_from_type_int32_t(obj, type, num_elems) - use iso_c_binding, only : C_INT32_T, C_INT64_T, C_SHORT + use iso_c_binding, only : C_INT32_T class(SidreView) :: obj integer(TypeID), value, intent(IN) :: type integer(C_INT32_T), value, intent(IN) :: num_elems @@ -5192,7 +5670,7 @@ subroutine view_allocate_from_type_int32_t(obj, type, num_elems) end subroutine view_allocate_from_type_int32_t subroutine view_allocate_from_type_int64_t(obj, type, num_elems) - use iso_c_binding, only : C_INT64_T, C_SHORT + use iso_c_binding, only : C_INT64_T class(SidreView) :: obj integer(TypeID), value, intent(IN) :: type integer(C_INT64_T), value, intent(IN) :: num_elems @@ -5203,7 +5681,7 @@ subroutine view_allocate_from_type_int64_t(obj, type, num_elems) end subroutine view_allocate_from_type_int64_t subroutine view_reallocate_int32_t(obj, num_elems) - use iso_c_binding, only : C_INT32_T, C_INT64_T + use iso_c_binding, only : C_INT32_T class(SidreView) :: obj integer(C_INT32_T), value, intent(IN) :: num_elems ! splicer begin class.View.method.reallocate_int32_t @@ -5232,32 +5710,32 @@ end subroutine view_attach_buffer_only subroutine view_attach_buffer_type_int32_t(obj, type, num_elems, & buff) - use iso_c_binding, only : C_INT32_T, C_INT64_T, C_SHORT + use iso_c_binding, only : C_INT32_T class(SidreView) :: obj integer(TypeID), value, intent(IN) :: type integer(C_INT32_T), value, intent(IN) :: num_elems type(SidreBuffer), intent(INOUT) :: buff ! splicer begin class.View.method.attach_buffer_type_int32_t - call c_view_attach_buffer_type(obj%cxxmem, type, & - int(num_elems, SIDRE_IndexType), buff%cxxmem) + call c_view_attach_buffer_type_int32_t(obj%cxxmem, type, & + num_elems, buff%cxxmem) ! splicer end class.View.method.attach_buffer_type_int32_t end subroutine view_attach_buffer_type_int32_t subroutine view_attach_buffer_type_int64_t(obj, type, num_elems, & buff) - use iso_c_binding, only : C_INT64_T, C_SHORT + use iso_c_binding, only : C_INT64_T class(SidreView) :: obj integer(TypeID), value, intent(IN) :: type integer(C_INT64_T), value, intent(IN) :: num_elems type(SidreBuffer), intent(INOUT) :: buff ! splicer begin class.View.method.attach_buffer_type_int64_t - call c_view_attach_buffer_type(obj%cxxmem, type, & - int(num_elems, SIDRE_IndexType), buff%cxxmem) + call c_view_attach_buffer_type_int64_t(obj%cxxmem, type, & + num_elems, buff%cxxmem) ! splicer end class.View.method.attach_buffer_type_int64_t end subroutine view_attach_buffer_type_int64_t subroutine view_attach_buffer_shape(obj, type, ndims, shape, buff) - use iso_c_binding, only : C_INT, C_INT64_T, C_SHORT + use iso_c_binding, only : C_INT class(SidreView) :: obj integer(TypeID), value, intent(IN) :: type integer(C_INT), value, intent(IN) :: ndims @@ -5284,7 +5762,6 @@ subroutine view_apply_0(obj) end subroutine view_apply_0 subroutine view_apply_nelems(obj, num_elems) - use iso_c_binding, only : C_INT64_T class(SidreView) :: obj integer(SIDRE_IndexType), value, intent(IN) :: num_elems ! splicer begin class.View.method.apply_nelems @@ -5293,7 +5770,6 @@ subroutine view_apply_nelems(obj, num_elems) end subroutine view_apply_nelems subroutine view_apply_nelems_offset(obj, num_elems, offset) - use iso_c_binding, only : C_INT64_T class(SidreView) :: obj integer(SIDRE_IndexType), value, intent(IN) :: num_elems integer(SIDRE_IndexType), value, intent(IN) :: offset @@ -5304,7 +5780,6 @@ end subroutine view_apply_nelems_offset subroutine view_apply_nelems_offset_stride(obj, num_elems, offset, & stride) - use iso_c_binding, only : C_INT64_T class(SidreView) :: obj integer(SIDRE_IndexType), value, intent(IN) :: num_elems integer(SIDRE_IndexType), value, intent(IN) :: offset @@ -5316,7 +5791,6 @@ subroutine view_apply_nelems_offset_stride(obj, num_elems, offset, & end subroutine view_apply_nelems_offset_stride subroutine view_apply_type_nelems(obj, type, num_elems) - use iso_c_binding, only : C_INT64_T, C_SHORT class(SidreView) :: obj integer(TypeID), value, intent(IN) :: type integer(SIDRE_IndexType), value, intent(IN) :: num_elems @@ -5327,7 +5801,6 @@ end subroutine view_apply_type_nelems subroutine view_apply_type_nelems_offset(obj, type, num_elems, & offset) - use iso_c_binding, only : C_INT64_T, C_SHORT class(SidreView) :: obj integer(TypeID), value, intent(IN) :: type integer(SIDRE_IndexType), value, intent(IN) :: num_elems @@ -5340,7 +5813,6 @@ end subroutine view_apply_type_nelems_offset subroutine view_apply_type_nelems_offset_stride(obj, type, & num_elems, offset, stride) - use iso_c_binding, only : C_INT64_T, C_SHORT class(SidreView) :: obj integer(TypeID), value, intent(IN) :: type integer(SIDRE_IndexType), value, intent(IN) :: num_elems @@ -5353,7 +5825,7 @@ subroutine view_apply_type_nelems_offset_stride(obj, type, & end subroutine view_apply_type_nelems_offset_stride subroutine view_apply_type_shape(obj, type, ndims, shape) - use iso_c_binding, only : C_INT, C_INT64_T, C_SHORT + use iso_c_binding, only : C_INT class(SidreView) :: obj integer(TypeID), value, intent(IN) :: type integer(C_INT), value, intent(IN) :: ndims @@ -5404,8 +5876,10 @@ subroutine view_set_string(obj, value) class(SidreView) :: obj character(len=*), intent(IN) :: value ! splicer begin class.View.method.set_string + integer(C_INT) SHT_value_len + SHT_value_len = len(value, kind=C_INT) call c_view_set_string_bufferify(obj%cxxmem, value, & - len_trim(value, kind=C_INT)) + SHT_value_len) ! splicer end class.View.method.set_string end subroutine view_set_string @@ -5420,33 +5894,33 @@ end subroutine view_set_external_data_ptr_only subroutine view_set_external_data_ptr_type_int32_t(obj, type, & num_elems, external_ptr) - use iso_c_binding, only : C_INT32_T, C_INT64_T, C_PTR, C_SHORT + use iso_c_binding, only : C_INT32_T, C_PTR class(SidreView) :: obj integer(TypeID), value, intent(IN) :: type integer(C_INT32_T), value, intent(IN) :: num_elems type(C_PTR), intent(IN) :: external_ptr ! splicer begin class.View.method.set_external_data_ptr_type_int32_t - call c_view_set_external_data_ptr_type(obj%cxxmem, type, & - int(num_elems, SIDRE_IndexType), external_ptr) + call c_view_set_external_data_ptr_type_int32_t(obj%cxxmem, type, & + num_elems, external_ptr) ! splicer end class.View.method.set_external_data_ptr_type_int32_t end subroutine view_set_external_data_ptr_type_int32_t subroutine view_set_external_data_ptr_type_int64_t(obj, type, & num_elems, external_ptr) - use iso_c_binding, only : C_INT64_T, C_PTR, C_SHORT + use iso_c_binding, only : C_INT64_T, C_PTR class(SidreView) :: obj integer(TypeID), value, intent(IN) :: type integer(C_INT64_T), value, intent(IN) :: num_elems type(C_PTR), intent(IN) :: external_ptr ! splicer begin class.View.method.set_external_data_ptr_type_int64_t - call c_view_set_external_data_ptr_type(obj%cxxmem, type, & - int(num_elems, SIDRE_IndexType), external_ptr) + call c_view_set_external_data_ptr_type_int64_t(obj%cxxmem, type, & + num_elems, external_ptr) ! splicer end class.View.method.set_external_data_ptr_type_int64_t end subroutine view_set_external_data_ptr_type_int64_t subroutine view_set_external_data_ptr_shape(obj, type, ndims, shape, & external_ptr) - use iso_c_binding, only : C_INT, C_INT64_T, C_PTR, C_SHORT + use iso_c_binding, only : C_INT, C_PTR class(SidreView) :: obj integer(TypeID), value, intent(IN) :: type integer(C_INT), value, intent(IN) :: ndims @@ -5463,8 +5937,9 @@ subroutine view_get_string(obj, name) class(SidreView) :: obj character(len=*), intent(OUT) :: name ! splicer begin class.View.method.get_string - call c_view_get_string_bufferify(obj%cxxmem, name, & - len(name, kind=C_INT)) + integer(C_INT) SHT_name_len + SHT_name_len = len(name, kind=C_INT) + call c_view_get_string_bufferify(obj%cxxmem, name, SHT_name_len) ! splicer end class.View.method.get_string end subroutine view_get_string @@ -5532,8 +6007,10 @@ function view_rename(obj, new_name) & character(len=*), intent(IN) :: new_name logical :: SHT_rv ! splicer begin class.View.method.rename + integer(C_INT) SHT_new_name_len + SHT_new_name_len = len(new_name, kind=C_INT) SHT_rv = c_view_rename_bufferify(obj%cxxmem, new_name, & - len_trim(new_name, kind=C_INT)) + SHT_new_name_len) ! splicer end class.View.method.rename end function view_rename @@ -6535,8 +7012,8 @@ function datastore_new() & result(SHT_rv) use iso_c_binding, only : C_PTR type(SidreDataStore) :: SHT_rv - ! splicer begin class.DataStore.method.new type(C_PTR) :: SHT_prv + ! splicer begin class.DataStore.method.new SHT_prv = c_datastore_new(SHT_rv%cxxmem) ! splicer end class.DataStore.method.new end function datastore_new @@ -6553,8 +7030,8 @@ function datastore_get_root(obj) & use iso_c_binding, only : C_PTR class(SidreDataStore) :: obj type(SidreGroup) :: SHT_rv - ! splicer begin class.DataStore.method.get_root type(C_PTR) :: SHT_prv + ! splicer begin class.DataStore.method.get_root SHT_prv = c_datastore_get_root(obj%cxxmem, SHT_rv%cxxmem) ! splicer end class.DataStore.method.get_root end function datastore_get_root @@ -6571,14 +7048,14 @@ end function datastore_get_num_buffers function datastore_get_buffer_int32_t(obj, idx) & result(SHT_rv) - use iso_c_binding, only : C_INT32_T, C_INT64_T, C_PTR + use iso_c_binding, only : C_INT32_T, C_PTR class(SidreDataStore) :: obj integer(C_INT32_T), value, intent(IN) :: idx type(SidreBuffer) :: SHT_rv - ! splicer begin class.DataStore.method.get_buffer_int32_t type(C_PTR) :: SHT_prv - SHT_prv = c_datastore_get_buffer(obj%cxxmem, & - int(idx, SIDRE_IndexType), SHT_rv%cxxmem) + ! splicer begin class.DataStore.method.get_buffer_int32_t + SHT_prv = c_datastore_get_buffer_int32_t(obj%cxxmem, idx, & + SHT_rv%cxxmem) ! splicer end class.DataStore.method.get_buffer_int32_t end function datastore_get_buffer_int32_t @@ -6588,10 +7065,10 @@ function datastore_get_buffer_int64_t(obj, idx) & class(SidreDataStore) :: obj integer(C_INT64_T), value, intent(IN) :: idx type(SidreBuffer) :: SHT_rv - ! splicer begin class.DataStore.method.get_buffer_int64_t type(C_PTR) :: SHT_prv - SHT_prv = c_datastore_get_buffer(obj%cxxmem, & - int(idx, SIDRE_IndexType), SHT_rv%cxxmem) + ! splicer begin class.DataStore.method.get_buffer_int64_t + SHT_prv = c_datastore_get_buffer_int64_t(obj%cxxmem, idx, & + SHT_rv%cxxmem) ! splicer end class.DataStore.method.get_buffer_int64_t end function datastore_get_buffer_int64_t @@ -6600,8 +7077,8 @@ function datastore_create_buffer_empty(obj) & use iso_c_binding, only : C_PTR class(SidreDataStore) :: obj type(SidreBuffer) :: SHT_rv - ! splicer begin class.DataStore.method.create_buffer_empty type(C_PTR) :: SHT_prv + ! splicer begin class.DataStore.method.create_buffer_empty SHT_prv = c_datastore_create_buffer_empty(obj%cxxmem, & SHT_rv%cxxmem) ! splicer end class.DataStore.method.create_buffer_empty @@ -6610,35 +7087,35 @@ end function datastore_create_buffer_empty function datastore_create_buffer_from_type_int32_t(obj, type, & num_elems) & result(SHT_rv) - use iso_c_binding, only : C_INT32_T, C_INT64_T, C_PTR, C_SHORT + use iso_c_binding, only : C_INT32_T, C_PTR class(SidreDataStore) :: obj integer(TypeID), value, intent(IN) :: type integer(C_INT32_T), value, intent(IN) :: num_elems type(SidreBuffer) :: SHT_rv - ! splicer begin class.DataStore.method.create_buffer_from_type_int32_t type(C_PTR) :: SHT_prv - SHT_prv = c_datastore_create_buffer_from_type(obj%cxxmem, type, & - int(num_elems, SIDRE_IndexType), SHT_rv%cxxmem) + ! splicer begin class.DataStore.method.create_buffer_from_type_int32_t + SHT_prv = c_datastore_create_buffer_from_type_int32_t(obj%cxxmem, & + type, num_elems, SHT_rv%cxxmem) ! splicer end class.DataStore.method.create_buffer_from_type_int32_t end function datastore_create_buffer_from_type_int32_t function datastore_create_buffer_from_type_int64_t(obj, type, & num_elems) & result(SHT_rv) - use iso_c_binding, only : C_INT64_T, C_PTR, C_SHORT + use iso_c_binding, only : C_INT64_T, C_PTR class(SidreDataStore) :: obj integer(TypeID), value, intent(IN) :: type integer(C_INT64_T), value, intent(IN) :: num_elems type(SidreBuffer) :: SHT_rv - ! splicer begin class.DataStore.method.create_buffer_from_type_int64_t type(C_PTR) :: SHT_prv - SHT_prv = c_datastore_create_buffer_from_type(obj%cxxmem, type, & - int(num_elems, SIDRE_IndexType), SHT_rv%cxxmem) + ! splicer begin class.DataStore.method.create_buffer_from_type_int64_t + SHT_prv = c_datastore_create_buffer_from_type_int64_t(obj%cxxmem, & + type, num_elems, SHT_rv%cxxmem) ! splicer end class.DataStore.method.create_buffer_from_type_int64_t end function datastore_create_buffer_from_type_int64_t subroutine datastore_destroy_buffer_int32_t(obj, id) - use iso_c_binding, only : C_INT32_T, C_INT64_T + use iso_c_binding, only : C_INT32_T class(SidreDataStore) :: obj integer(C_INT32_T), value, intent(IN) :: id ! splicer begin class.DataStore.method.destroy_buffer_int32_t @@ -6668,10 +7145,16 @@ function datastore_generate_blueprint_index_0(obj, domain_path, & integer(C_INT), value, intent(IN) :: num_domains logical :: SHT_rv ! splicer begin class.DataStore.method.generate_blueprint_index_0 + integer(C_INT) SHT_domain_path_len + integer(C_INT) SHT_mesh_name_len + integer(C_INT) SHT_index_path_len + SHT_domain_path_len = len(domain_path, kind=C_INT) + SHT_mesh_name_len = len(mesh_name, kind=C_INT) + SHT_index_path_len = len(index_path, kind=C_INT) SHT_rv = c_datastore_generate_blueprint_index_0_bufferify(obj%cxxmem, & - domain_path, len_trim(domain_path, kind=C_INT), mesh_name, & - len_trim(mesh_name, kind=C_INT), index_path, & - len_trim(index_path, kind=C_INT), num_domains) + domain_path, SHT_domain_path_len, mesh_name, & + SHT_mesh_name_len, index_path, SHT_index_path_len, & + num_domains) ! splicer end class.DataStore.method.generate_blueprint_index_0 end function datastore_generate_blueprint_index_0 @@ -6687,10 +7170,15 @@ function datastore_generate_blueprint_index_1(obj, comm, & character(len=*), intent(IN) :: index_path logical :: SHT_rv ! splicer begin class.DataStore.method.generate_blueprint_index_1 + integer(C_INT) SHT_domain_path_len + integer(C_INT) SHT_mesh_name_len + integer(C_INT) SHT_index_path_len + SHT_domain_path_len = len(domain_path, kind=C_INT) + SHT_mesh_name_len = len(mesh_name, kind=C_INT) + SHT_index_path_len = len(index_path, kind=C_INT) SHT_rv = c_datastore_generate_blueprint_index_1_bufferify(obj%cxxmem, & - comm, domain_path, len_trim(domain_path, kind=C_INT), & - mesh_name, len_trim(mesh_name, kind=C_INT), index_path, & - len_trim(index_path, kind=C_INT)) + comm, domain_path, SHT_domain_path_len, mesh_name, & + SHT_mesh_name_len, index_path, SHT_index_path_len) ! splicer end class.DataStore.method.generate_blueprint_index_1 end function datastore_generate_blueprint_index_1 #endif diff --git a/src/axom/sidre/interface/yaml/sidre_types.yaml b/src/axom/sidre/interface/yaml/sidre_types.yaml index 88f07abb4a..fe29d8e60a 100644 --- a/src/axom/sidre/interface/yaml/sidre_types.yaml +++ b/src/axom/sidre/interface/yaml/sidre_types.yaml @@ -1,5 +1,5 @@ # sidre_types.yaml -# This file is generated by Shroud 0.12.2. Do not edit. +# This file is generated by Shroud 0.13.0. Do not edit. # # Copyright (c) 2017-2024, Lawrence Livermore National Security, LLC and # other Axom Project Developers. See the top-level LICENSE file for details. @@ -19,7 +19,7 @@ typemap: c_type: SIDRE_Buffer f_module_name: axom_sidre f_derived_type: SidreBuffer - f_capsule_data_type: SIDRE_SHROUD_buffer_capsule + f_capsule_data_type: SIDRE_SHROUD_capsule_data f_to_c: "{f_var}%cxxmem" - type: DataStore fields: @@ -29,7 +29,7 @@ typemap: c_type: SIDRE_DataStore f_module_name: axom_sidre f_derived_type: SidreDataStore - f_capsule_data_type: SIDRE_SHROUD_datastore_capsule + f_capsule_data_type: SIDRE_SHROUD_capsule_data f_to_c: "{f_var}%cxxmem" - type: Group fields: @@ -39,7 +39,7 @@ typemap: c_type: SIDRE_Group f_module_name: axom_sidre f_derived_type: SidreGroup - f_capsule_data_type: SIDRE_SHROUD_group_capsule + f_capsule_data_type: SIDRE_SHROUD_capsule_data f_to_c: "{f_var}%cxxmem" - type: View fields: @@ -49,5 +49,5 @@ typemap: c_type: SIDRE_View f_module_name: axom_sidre f_derived_type: SidreView - f_capsule_data_type: SIDRE_SHROUD_view_capsule + f_capsule_data_type: SIDRE_SHROUD_capsule_data f_to_c: "{f_var}%cxxmem" diff --git a/src/axom/sidre/spio/interface/c_fortran/typesSPIO.h b/src/axom/sidre/spio/interface/c_fortran/typesSPIO.h index 205518a7af..0ee164a32c 100644 --- a/src/axom/sidre/spio/interface/c_fortran/typesSPIO.h +++ b/src/axom/sidre/spio/interface/c_fortran/typesSPIO.h @@ -1,5 +1,5 @@ // typesSPIO.h -// This file is generated by Shroud 0.12.2. Do not edit. +// This file is generated by Shroud 0.13.0. Do not edit. // // Copyright (c) 2017-2024, Lawrence Livermore National Security, LLC and // other Axom Project Developers. See the top-level LICENSE file for details. @@ -10,14 +10,20 @@ #ifndef TYPESSPIO_H #define TYPESSPIO_H +// splicer begin types.CXX_declarations +// splicer end types.CXX_declarations + #ifdef __cplusplus extern "C" { #endif +// splicer begin types.C_declarations +// splicer end types.C_declarations + // helper capsule_SPIO_IOManager struct s_SPIO_IOManager { - void* addr; /* address of C++ memory */ + void *addr; /* address of C++ memory */ int idtor; /* index of destructor */ }; typedef struct s_SPIO_IOManager SPIO_IOManager; @@ -25,12 +31,12 @@ typedef struct s_SPIO_IOManager SPIO_IOManager; // helper capsule_data_helper struct s_SPIO_SHROUD_capsule_data { - void* addr; /* address of C++ memory */ + void *addr; /* address of C++ memory */ int idtor; /* index of destructor */ }; typedef struct s_SPIO_SHROUD_capsule_data SPIO_SHROUD_capsule_data; -void SPIO_SHROUD_memory_destructor(SPIO_SHROUD_capsule_data* cap); +void SPIO_SHROUD_memory_destructor(SPIO_SHROUD_capsule_data *cap); #ifdef __cplusplus } diff --git a/src/axom/sidre/spio/interface/c_fortran/wrapIOManager.cpp b/src/axom/sidre/spio/interface/c_fortran/wrapIOManager.cpp index 5a8e0cd9ac..a87101c6a9 100644 --- a/src/axom/sidre/spio/interface/c_fortran/wrapIOManager.cpp +++ b/src/axom/sidre/spio/interface/c_fortran/wrapIOManager.cpp @@ -1,20 +1,39 @@ // wrapIOManager.cpp -// This file is generated by Shroud 0.12.2. Do not edit. +// This file is generated by Shroud 0.13.0. Do not edit. // // Copyright (c) 2017-2024, Lawrence Livermore National Security, LLC and // other Axom Project Developers. See the top-level LICENSE file for details. // // SPDX-License-Identifier: (BSD-3-Clause) -#include "wrapIOManager.h" -#include <cstddef> -#include <string> + #include "axom/sidre/spio/IOManager.hpp" +#include <string> +#include <cstddef> +#include "wrapIOManager.h" // splicer begin class.IOManager.CXX_definitions // splicer end class.IOManager.CXX_definitions extern "C" { +// helper ShroudLenTrim +// Returns the length of character string src with length nsrc, +// ignoring any trailing blanks. +static int ShroudLenTrim(const char *src, int nsrc) +{ + int i; + + for(i = nsrc - 1; i >= 0; i--) + { + if(src[i] != ' ') + { + break; + } + } + + return i + 1; +} + // splicer begin class.IOManager.C_definitions // splicer end class.IOManager.C_definitions @@ -73,18 +92,21 @@ void SPIO_IOManager_write_0(SPIO_IOManager *self, void SPIO_IOManager_write_0_bufferify(SPIO_IOManager *self, SIDRE_Group *group, int num_files, - const char *file_string, - int Lfile_string, - const char *protocol, - int Lprotocol) + char *file_string, + int SHT_file_string_len, + char *protocol, + int SHT_protocol_len) { axom::sidre::IOManager *SH_this = static_cast<axom::sidre::IOManager *>(self->addr); // splicer begin class.IOManager.method.write_0_bufferify axom::sidre::Group *SHCXX_group = static_cast<axom::sidre::Group *>(group->addr); - const std::string SHCXX_file_string(file_string, Lfile_string); - const std::string SHCXX_protocol(protocol, Lprotocol); + const std::string SHCXX_file_string( + file_string, + ShroudLenTrim(file_string, SHT_file_string_len)); + const std::string SHCXX_protocol(protocol, + ShroudLenTrim(protocol, SHT_protocol_len)); SH_this->write(SHCXX_group, num_files, SHCXX_file_string, SHCXX_protocol); // splicer end class.IOManager.method.write_0_bufferify } @@ -115,21 +137,26 @@ void SPIO_IOManager_write_1(SPIO_IOManager *self, void SPIO_IOManager_write_1_bufferify(SPIO_IOManager *self, SIDRE_Group *group, int num_files, - const char *file_string, - int Lfile_string, - const char *protocol, - int Lprotocol, - const char *tree_pattern, - int Ltree_pattern) + char *file_string, + int SHT_file_string_len, + char *protocol, + int SHT_protocol_len, + char *tree_pattern, + int SHT_tree_pattern_len) { axom::sidre::IOManager *SH_this = static_cast<axom::sidre::IOManager *>(self->addr); // splicer begin class.IOManager.method.write_1_bufferify axom::sidre::Group *SHCXX_group = static_cast<axom::sidre::Group *>(group->addr); - const std::string SHCXX_file_string(file_string, Lfile_string); - const std::string SHCXX_protocol(protocol, Lprotocol); - const std::string SHCXX_tree_pattern(tree_pattern, Ltree_pattern); + const std::string SHCXX_file_string( + file_string, + ShroudLenTrim(file_string, SHT_file_string_len)); + const std::string SHCXX_protocol(protocol, + ShroudLenTrim(protocol, SHT_protocol_len)); + const std::string SHCXX_tree_pattern( + tree_pattern, + ShroudLenTrim(tree_pattern, SHT_tree_pattern_len)); SH_this->write(SHCXX_group, num_files, SHCXX_file_string, @@ -138,44 +165,45 @@ void SPIO_IOManager_write_1_bufferify(SPIO_IOManager *self, // splicer end class.IOManager.method.write_1_bufferify } -void SPIO_IOManager_write_group_to_root_file(SPIO_IOManager *self, - SIDRE_Group *group, - const char *file_name) +void SPIO_IOManager_writeGroupToRootFile(SPIO_IOManager *self, + SIDRE_Group *group, + const char *file_name) { axom::sidre::IOManager *SH_this = static_cast<axom::sidre::IOManager *>(self->addr); - // splicer begin class.IOManager.method.write_group_to_root_file + // splicer begin class.IOManager.method.writeGroupToRootFile axom::sidre::Group *SHCXX_group = static_cast<axom::sidre::Group *>(group->addr); const std::string SHCXX_file_name(file_name); SH_this->writeGroupToRootFile(SHCXX_group, SHCXX_file_name); - // splicer end class.IOManager.method.write_group_to_root_file + // splicer end class.IOManager.method.writeGroupToRootFile } -void SPIO_IOManager_write_group_to_root_file_bufferify(SPIO_IOManager *self, - SIDRE_Group *group, - const char *file_name, - int Lfile_name) +void SPIO_IOManager_writeGroupToRootFile_bufferify(SPIO_IOManager *self, + SIDRE_Group *group, + char *file_name, + int SHT_file_name_len) { axom::sidre::IOManager *SH_this = static_cast<axom::sidre::IOManager *>(self->addr); - // splicer begin class.IOManager.method.write_group_to_root_file_bufferify + // splicer begin class.IOManager.method.writeGroupToRootFile_bufferify axom::sidre::Group *SHCXX_group = static_cast<axom::sidre::Group *>(group->addr); - const std::string SHCXX_file_name(file_name, Lfile_name); + const std::string SHCXX_file_name(file_name, + ShroudLenTrim(file_name, SHT_file_name_len)); SH_this->writeGroupToRootFile(SHCXX_group, SHCXX_file_name); - // splicer end class.IOManager.method.write_group_to_root_file_bufferify + // splicer end class.IOManager.method.writeGroupToRootFile_bufferify } -void SPIO_IOManager_write_blueprint_index_to_root_file(SPIO_IOManager *self, - SIDRE_DataStore *datastore, - const char *domain_path, - const char *file_name, - const char *mesh_path) +void SPIO_IOManager_writeBlueprintIndexToRootFile(SPIO_IOManager *self, + SIDRE_DataStore *datastore, + const char *domain_path, + const char *file_name, + const char *mesh_path) { axom::sidre::IOManager *SH_this = static_cast<axom::sidre::IOManager *>(self->addr); - // splicer begin class.IOManager.method.write_blueprint_index_to_root_file + // splicer begin class.IOManager.method.writeBlueprintIndexToRootFile axom::sidre::DataStore *SHCXX_datastore = static_cast<axom::sidre::DataStore *>(datastore->addr); const std::string SHCXX_domain_path(domain_path); @@ -185,32 +213,36 @@ void SPIO_IOManager_write_blueprint_index_to_root_file(SPIO_IOManager *self, SHCXX_domain_path, SHCXX_file_name, SHCXX_mesh_path); - // splicer end class.IOManager.method.write_blueprint_index_to_root_file + // splicer end class.IOManager.method.writeBlueprintIndexToRootFile } -void SPIO_IOManager_write_blueprint_index_to_root_file_bufferify( +void SPIO_IOManager_writeBlueprintIndexToRootFile_bufferify( SPIO_IOManager *self, SIDRE_DataStore *datastore, - const char *domain_path, - int Ldomain_path, - const char *file_name, - int Lfile_name, - const char *mesh_path, - int Lmesh_path) + char *domain_path, + int SHT_domain_path_len, + char *file_name, + int SHT_file_name_len, + char *mesh_path, + int SHT_mesh_path_len) { axom::sidre::IOManager *SH_this = static_cast<axom::sidre::IOManager *>(self->addr); - // splicer begin class.IOManager.method.write_blueprint_index_to_root_file_bufferify + // splicer begin class.IOManager.method.writeBlueprintIndexToRootFile_bufferify axom::sidre::DataStore *SHCXX_datastore = static_cast<axom::sidre::DataStore *>(datastore->addr); - const std::string SHCXX_domain_path(domain_path, Ldomain_path); - const std::string SHCXX_file_name(file_name, Lfile_name); - const std::string SHCXX_mesh_path(mesh_path, Lmesh_path); + const std::string SHCXX_domain_path( + domain_path, + ShroudLenTrim(domain_path, SHT_domain_path_len)); + const std::string SHCXX_file_name(file_name, + ShroudLenTrim(file_name, SHT_file_name_len)); + const std::string SHCXX_mesh_path(mesh_path, + ShroudLenTrim(mesh_path, SHT_mesh_path_len)); SH_this->writeBlueprintIndexToRootFile(SHCXX_datastore, SHCXX_domain_path, SHCXX_file_name, SHCXX_mesh_path); - // splicer end class.IOManager.method.write_blueprint_index_to_root_file_bufferify + // splicer end class.IOManager.method.writeBlueprintIndexToRootFile_bufferify } void SPIO_IOManager_read_0(SPIO_IOManager *self, @@ -231,18 +263,21 @@ void SPIO_IOManager_read_0(SPIO_IOManager *self, void SPIO_IOManager_read_0_bufferify(SPIO_IOManager *self, SIDRE_Group *group, - const char *file_string, - int Lfile_string, - const char *protocol, - int Lprotocol) + char *file_string, + int SHT_file_string_len, + char *protocol, + int SHT_protocol_len) { axom::sidre::IOManager *SH_this = static_cast<axom::sidre::IOManager *>(self->addr); // splicer begin class.IOManager.method.read_0_bufferify axom::sidre::Group *SHCXX_group = static_cast<axom::sidre::Group *>(group->addr); - const std::string SHCXX_file_string(file_string, Lfile_string); - const std::string SHCXX_protocol(protocol, Lprotocol); + const std::string SHCXX_file_string( + file_string, + ShroudLenTrim(file_string, SHT_file_string_len)); + const std::string SHCXX_protocol(protocol, + ShroudLenTrim(protocol, SHT_protocol_len)); SH_this->read(SHCXX_group, SHCXX_file_string, SHCXX_protocol); // splicer end class.IOManager.method.read_0_bufferify } @@ -266,10 +301,10 @@ void SPIO_IOManager_read_1(SPIO_IOManager *self, void SPIO_IOManager_read_1_bufferify(SPIO_IOManager *self, SIDRE_Group *group, - const char *file_string, - int Lfile_string, - const char *protocol, - int Lprotocol, + char *file_string, + int SHT_file_string_len, + char *protocol, + int SHT_protocol_len, bool preserve_contents) { axom::sidre::IOManager *SH_this = @@ -277,8 +312,11 @@ void SPIO_IOManager_read_1_bufferify(SPIO_IOManager *self, // splicer begin class.IOManager.method.read_1_bufferify axom::sidre::Group *SHCXX_group = static_cast<axom::sidre::Group *>(group->addr); - const std::string SHCXX_file_string(file_string, Lfile_string); - const std::string SHCXX_protocol(protocol, Lprotocol); + const std::string SHCXX_file_string( + file_string, + ShroudLenTrim(file_string, SHT_file_string_len)); + const std::string SHCXX_protocol(protocol, + ShroudLenTrim(protocol, SHT_protocol_len)); SH_this->read(SHCXX_group, SHCXX_file_string, SHCXX_protocol, preserve_contents); // splicer end class.IOManager.method.read_1_bufferify } @@ -299,15 +337,16 @@ void SPIO_IOManager_read_2(SPIO_IOManager *self, void SPIO_IOManager_read_2_bufferify(SPIO_IOManager *self, SIDRE_Group *group, - const char *root_file, - int Lroot_file) + char *root_file, + int SHT_root_file_len) { axom::sidre::IOManager *SH_this = static_cast<axom::sidre::IOManager *>(self->addr); // splicer begin class.IOManager.method.read_2_bufferify axom::sidre::Group *SHCXX_group = static_cast<axom::sidre::Group *>(group->addr); - const std::string SHCXX_root_file(root_file, Lroot_file); + const std::string SHCXX_root_file(root_file, + ShroudLenTrim(root_file, SHT_root_file_len)); SH_this->read(SHCXX_group, SHCXX_root_file); // splicer end class.IOManager.method.read_2_bufferify } @@ -329,8 +368,8 @@ void SPIO_IOManager_read_3(SPIO_IOManager *self, void SPIO_IOManager_read_3_bufferify(SPIO_IOManager *self, SIDRE_Group *group, - const char *root_file, - int Lroot_file, + char *root_file, + int SHT_root_file_len, bool preserve_contents) { axom::sidre::IOManager *SH_this = @@ -338,38 +377,40 @@ void SPIO_IOManager_read_3_bufferify(SPIO_IOManager *self, // splicer begin class.IOManager.method.read_3_bufferify axom::sidre::Group *SHCXX_group = static_cast<axom::sidre::Group *>(group->addr); - const std::string SHCXX_root_file(root_file, Lroot_file); + const std::string SHCXX_root_file(root_file, + ShroudLenTrim(root_file, SHT_root_file_len)); SH_this->read(SHCXX_group, SHCXX_root_file, preserve_contents); // splicer end class.IOManager.method.read_3_bufferify } -void SPIO_IOManager_load_external_data(SPIO_IOManager *self, - SIDRE_Group *group, - const char *root_file) +void SPIO_IOManager_loadExternalData(SPIO_IOManager *self, + SIDRE_Group *group, + const char *root_file) { axom::sidre::IOManager *SH_this = static_cast<axom::sidre::IOManager *>(self->addr); - // splicer begin class.IOManager.method.load_external_data + // splicer begin class.IOManager.method.loadExternalData axom::sidre::Group *SHCXX_group = static_cast<axom::sidre::Group *>(group->addr); const std::string SHCXX_root_file(root_file); SH_this->loadExternalData(SHCXX_group, SHCXX_root_file); - // splicer end class.IOManager.method.load_external_data + // splicer end class.IOManager.method.loadExternalData } -void SPIO_IOManager_load_external_data_bufferify(SPIO_IOManager *self, - SIDRE_Group *group, - const char *root_file, - int Lroot_file) +void SPIO_IOManager_loadExternalData_bufferify(SPIO_IOManager *self, + SIDRE_Group *group, + char *root_file, + int SHT_root_file_len) { axom::sidre::IOManager *SH_this = static_cast<axom::sidre::IOManager *>(self->addr); - // splicer begin class.IOManager.method.load_external_data_bufferify + // splicer begin class.IOManager.method.loadExternalData_bufferify axom::sidre::Group *SHCXX_group = static_cast<axom::sidre::Group *>(group->addr); - const std::string SHCXX_root_file(root_file, Lroot_file); + const std::string SHCXX_root_file(root_file, + ShroudLenTrim(root_file, SHT_root_file_len)); SH_this->loadExternalData(SHCXX_group, SHCXX_root_file); - // splicer end class.IOManager.method.load_external_data_bufferify + // splicer end class.IOManager.method.loadExternalData_bufferify } } // extern "C" diff --git a/src/axom/sidre/spio/interface/c_fortran/wrapIOManager.h b/src/axom/sidre/spio/interface/c_fortran/wrapIOManager.h index 3f6c5b9518..ede7785883 100644 --- a/src/axom/sidre/spio/interface/c_fortran/wrapIOManager.h +++ b/src/axom/sidre/spio/interface/c_fortran/wrapIOManager.h @@ -1,5 +1,5 @@ // wrapIOManager.h -// This file is generated by Shroud 0.12.2. Do not edit. +// This file is generated by Shroud 0.13.0. Do not edit. // // Copyright (c) 2017-2024, Lawrence Livermore National Security, LLC and // other Axom Project Developers. See the top-level LICENSE file for details. @@ -14,13 +14,13 @@ #ifndef WRAPIOMANAGER_H #define WRAPIOMANAGER_H -#include "axom/sidre/interface/c_fortran/wrapDataStore.h" #include "axom/sidre/interface/c_fortran/wrapGroup.h" +#include "axom/sidre/interface/c_fortran/wrapDataStore.h" #include "mpi.h" -#include "typesSPIO.h" #ifndef __cplusplus #include <stdbool.h> #endif +#include "typesSPIO.h" // splicer begin class.IOManager.CXX_declarations // splicer end class.IOManager.CXX_declarations @@ -32,124 +32,124 @@ extern "C" { // splicer begin class.IOManager.C_declarations // splicer end class.IOManager.C_declarations -SPIO_IOManager* SPIO_IOManager_ctor_default(MPI_Fint com, SPIO_IOManager* SHC_rv); +SPIO_IOManager *SPIO_IOManager_ctor_default(MPI_Fint com, SPIO_IOManager *SHC_rv); -SPIO_IOManager* SPIO_IOManager_ctor_usescr(MPI_Fint com, +SPIO_IOManager *SPIO_IOManager_ctor_usescr(MPI_Fint com, bool use_scr, - SPIO_IOManager* SHC_rv); + SPIO_IOManager *SHC_rv); -void SPIO_IOManager_delete(SPIO_IOManager* self); +void SPIO_IOManager_delete(SPIO_IOManager *self); -void SPIO_IOManager_write_0(SPIO_IOManager* self, - SIDRE_Group* group, +void SPIO_IOManager_write_0(SPIO_IOManager *self, + SIDRE_Group *group, int num_files, - const char* file_string, - const char* protocol); + const char *file_string, + const char *protocol); -void SPIO_IOManager_write_0_bufferify(SPIO_IOManager* self, - SIDRE_Group* group, +void SPIO_IOManager_write_0_bufferify(SPIO_IOManager *self, + SIDRE_Group *group, int num_files, - const char* file_string, - int Lfile_string, - const char* protocol, - int Lprotocol); + char *file_string, + int SHT_file_string_len, + char *protocol, + int SHT_protocol_len); -void SPIO_IOManager_write_1(SPIO_IOManager* self, - SIDRE_Group* group, +void SPIO_IOManager_write_1(SPIO_IOManager *self, + SIDRE_Group *group, int num_files, - const char* file_string, - const char* protocol, - const char* tree_pattern); + const char *file_string, + const char *protocol, + const char *tree_pattern); -void SPIO_IOManager_write_1_bufferify(SPIO_IOManager* self, - SIDRE_Group* group, +void SPIO_IOManager_write_1_bufferify(SPIO_IOManager *self, + SIDRE_Group *group, int num_files, - const char* file_string, - int Lfile_string, - const char* protocol, - int Lprotocol, - const char* tree_pattern, - int Ltree_pattern); - -void SPIO_IOManager_write_group_to_root_file(SPIO_IOManager* self, - SIDRE_Group* group, - const char* file_name); - -void SPIO_IOManager_write_group_to_root_file_bufferify(SPIO_IOManager* self, - SIDRE_Group* group, - const char* file_name, - int Lfile_name); - -void SPIO_IOManager_write_blueprint_index_to_root_file(SPIO_IOManager* self, - SIDRE_DataStore* datastore, - const char* domain_path, - const char* file_name, - const char* mesh_path); - -void SPIO_IOManager_write_blueprint_index_to_root_file_bufferify( - SPIO_IOManager* self, - SIDRE_DataStore* datastore, - const char* domain_path, - int Ldomain_path, - const char* file_name, - int Lfile_name, - const char* mesh_path, - int Lmesh_path); - -void SPIO_IOManager_read_0(SPIO_IOManager* self, - SIDRE_Group* group, - const char* file_string, - const char* protocol); - -void SPIO_IOManager_read_0_bufferify(SPIO_IOManager* self, - SIDRE_Group* group, - const char* file_string, - int Lfile_string, - const char* protocol, - int Lprotocol); - -void SPIO_IOManager_read_1(SPIO_IOManager* self, - SIDRE_Group* group, - const char* file_string, - const char* protocol, + char *file_string, + int SHT_file_string_len, + char *protocol, + int SHT_protocol_len, + char *tree_pattern, + int SHT_tree_pattern_len); + +void SPIO_IOManager_writeGroupToRootFile(SPIO_IOManager *self, + SIDRE_Group *group, + const char *file_name); + +void SPIO_IOManager_writeGroupToRootFile_bufferify(SPIO_IOManager *self, + SIDRE_Group *group, + char *file_name, + int SHT_file_name_len); + +void SPIO_IOManager_writeBlueprintIndexToRootFile(SPIO_IOManager *self, + SIDRE_DataStore *datastore, + const char *domain_path, + const char *file_name, + const char *mesh_path); + +void SPIO_IOManager_writeBlueprintIndexToRootFile_bufferify( + SPIO_IOManager *self, + SIDRE_DataStore *datastore, + char *domain_path, + int SHT_domain_path_len, + char *file_name, + int SHT_file_name_len, + char *mesh_path, + int SHT_mesh_path_len); + +void SPIO_IOManager_read_0(SPIO_IOManager *self, + SIDRE_Group *group, + const char *file_string, + const char *protocol); + +void SPIO_IOManager_read_0_bufferify(SPIO_IOManager *self, + SIDRE_Group *group, + char *file_string, + int SHT_file_string_len, + char *protocol, + int SHT_protocol_len); + +void SPIO_IOManager_read_1(SPIO_IOManager *self, + SIDRE_Group *group, + const char *file_string, + const char *protocol, bool preserve_contents); -void SPIO_IOManager_read_1_bufferify(SPIO_IOManager* self, - SIDRE_Group* group, - const char* file_string, - int Lfile_string, - const char* protocol, - int Lprotocol, +void SPIO_IOManager_read_1_bufferify(SPIO_IOManager *self, + SIDRE_Group *group, + char *file_string, + int SHT_file_string_len, + char *protocol, + int SHT_protocol_len, bool preserve_contents); -void SPIO_IOManager_read_2(SPIO_IOManager* self, - SIDRE_Group* group, - const char* root_file); +void SPIO_IOManager_read_2(SPIO_IOManager *self, + SIDRE_Group *group, + const char *root_file); -void SPIO_IOManager_read_2_bufferify(SPIO_IOManager* self, - SIDRE_Group* group, - const char* root_file, - int Lroot_file); +void SPIO_IOManager_read_2_bufferify(SPIO_IOManager *self, + SIDRE_Group *group, + char *root_file, + int SHT_root_file_len); -void SPIO_IOManager_read_3(SPIO_IOManager* self, - SIDRE_Group* group, - const char* root_file, +void SPIO_IOManager_read_3(SPIO_IOManager *self, + SIDRE_Group *group, + const char *root_file, bool preserve_contents); -void SPIO_IOManager_read_3_bufferify(SPIO_IOManager* self, - SIDRE_Group* group, - const char* root_file, - int Lroot_file, +void SPIO_IOManager_read_3_bufferify(SPIO_IOManager *self, + SIDRE_Group *group, + char *root_file, + int SHT_root_file_len, bool preserve_contents); -void SPIO_IOManager_load_external_data(SPIO_IOManager* self, - SIDRE_Group* group, - const char* root_file); +void SPIO_IOManager_loadExternalData(SPIO_IOManager *self, + SIDRE_Group *group, + const char *root_file); -void SPIO_IOManager_load_external_data_bufferify(SPIO_IOManager* self, - SIDRE_Group* group, - const char* root_file, - int Lroot_file); +void SPIO_IOManager_loadExternalData_bufferify(SPIO_IOManager *self, + SIDRE_Group *group, + char *root_file, + int SHT_root_file_len); #ifdef __cplusplus } diff --git a/src/axom/sidre/spio/interface/c_fortran/wrapfspio.f b/src/axom/sidre/spio/interface/c_fortran/wrapfspio.f index 63815f3c4b..8ce06a09a0 100644 --- a/src/axom/sidre/spio/interface/c_fortran/wrapfspio.f +++ b/src/axom/sidre/spio/interface/c_fortran/wrapfspio.f @@ -1,5 +1,5 @@ ! wrapfspio.f -! This file is generated by Shroud 0.12.2. Do not edit. +! This file is generated by Shroud 0.13.0. Do not edit. ! ! Copyright (c) 2017-2024, Lawrence Livermore National Security, LLC and ! other Axom Project Developers. See the top-level LICENSE file for details. @@ -20,29 +20,30 @@ module axom_spio ! splicer begin module_top ! splicer end module_top - type, bind(C) :: SPIO_SHROUD_iomanager_capsule + ! helper capsule_data_helper + type, bind(C) :: SPIO_SHROUD_capsule_data type(C_PTR) :: addr = C_NULL_PTR ! address of C++ memory integer(C_INT) :: idtor = 0 ! index of destructor - end type SPIO_SHROUD_iomanager_capsule + end type SPIO_SHROUD_capsule_data type iomanager - type(SPIO_SHROUD_iomanager_capsule) :: cxxmem + type(SPIO_SHROUD_capsule_data) :: cxxmem ! splicer begin class.IOManager.component_part ! splicer end class.IOManager.component_part contains - procedure :: delete => iomanager_delete - procedure :: write_0 => iomanager_write_0 - procedure :: write_1 => iomanager_write_1 - procedure :: write_group_to_root_file => iomanager_write_group_to_root_file - procedure :: write_blueprint_index_to_root_file => iomanager_write_blueprint_index_to_root_file - procedure :: read_0 => iomanager_read_0 - procedure :: read_1 => iomanager_read_1 - procedure :: read_2 => iomanager_read_2 - procedure :: read_3 => iomanager_read_3 - procedure :: load_external_data => iomanager_load_external_data - procedure :: get_instance => iomanager_get_instance - procedure :: set_instance => iomanager_set_instance - procedure :: associated => iomanager_associated + procedure :: delete => io_manager_delete + procedure :: write_0 => io_manager_write_0 + procedure :: write_1 => io_manager_write_1 + procedure :: write_group_to_root_file => io_manager_write_group_to_root_file + procedure :: write_blueprint_index_to_root_file => io_manager_write_blueprint_index_to_root_file + procedure :: read_0 => io_manager_read_0 + procedure :: read_1 => io_manager_read_1 + procedure :: read_2 => io_manager_read_2 + procedure :: read_3 => io_manager_read_3 + procedure :: load_external_data => io_manager_load_external_data + procedure :: get_instance => io_manager_get_instance + procedure :: set_instance => io_manager_set_instance + procedure :: associated => io_manager_associated generic :: read => read_0, read_1, read_2, read_3 generic :: write => write_0, write_1 ! splicer begin class.IOManager.type_bound_procedure_part @@ -50,349 +51,361 @@ module axom_spio end type iomanager interface operator (.eq.) - module procedure iomanager_eq + module procedure io_manager_eq end interface interface operator (.ne.) - module procedure iomanager_ne + module procedure io_manager_ne end interface interface - function c_iomanager_ctor_default(com, SHT_crv) & - result(SHT_rv) & + function c_io_manager_ctor_default(com, SHT_rv) & + result(SHT_prv) & bind(C, name="SPIO_IOManager_ctor_default") use iso_c_binding, only : C_INT, C_PTR - import :: SPIO_SHROUD_iomanager_capsule + import :: SPIO_SHROUD_capsule_data implicit none integer(C_INT), value, intent(IN) :: com - type(SPIO_SHROUD_iomanager_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv - end function c_iomanager_ctor_default + type(SPIO_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) SHT_prv + end function c_io_manager_ctor_default - function c_iomanager_ctor_usescr(com, use_scr, SHT_crv) & - result(SHT_rv) & + function c_io_manager_ctor_usescr(com, use_scr, SHT_rv) & + result(SHT_prv) & bind(C, name="SPIO_IOManager_ctor_usescr") use iso_c_binding, only : C_BOOL, C_INT, C_PTR - import :: SPIO_SHROUD_iomanager_capsule + import :: SPIO_SHROUD_capsule_data implicit none integer(C_INT), value, intent(IN) :: com logical(C_BOOL), value, intent(IN) :: use_scr - type(SPIO_SHROUD_iomanager_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv - end function c_iomanager_ctor_usescr + type(SPIO_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) SHT_prv + end function c_io_manager_ctor_usescr - subroutine c_iomanager_delete(self) & + subroutine c_io_manager_delete(self) & bind(C, name="SPIO_IOManager_delete") - import :: SPIO_SHROUD_iomanager_capsule + import :: SPIO_SHROUD_capsule_data implicit none - type(SPIO_SHROUD_iomanager_capsule), intent(IN) :: self - end subroutine c_iomanager_delete + type(SPIO_SHROUD_capsule_data), intent(INOUT) :: self + end subroutine c_io_manager_delete - subroutine c_iomanager_write_0(self, group, num_files, & + subroutine c_io_manager_write_0(self, group, num_files, & file_string, protocol) & bind(C, name="SPIO_IOManager_write_0") - use axom_sidre, only : SIDRE_SHROUD_group_capsule + use axom_sidre, only : SIDRE_SHROUD_capsule_data use iso_c_binding, only : C_CHAR, C_INT - import :: SPIO_SHROUD_iomanager_capsule + import :: SPIO_SHROUD_capsule_data implicit none - type(SPIO_SHROUD_iomanager_capsule), intent(IN) :: self - type(SIDRE_SHROUD_group_capsule), intent(INOUT) :: group + type(SPIO_SHROUD_capsule_data), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(INOUT) :: group integer(C_INT), value, intent(IN) :: num_files character(kind=C_CHAR), intent(IN) :: file_string(*) character(kind=C_CHAR), intent(IN) :: protocol(*) - end subroutine c_iomanager_write_0 + end subroutine c_io_manager_write_0 - subroutine c_iomanager_write_0_bufferify(self, group, num_files, & - file_string, Lfile_string, protocol, Lprotocol) & + subroutine c_io_manager_write_0_bufferify(self, group, & + num_files, file_string, SHT_file_string_len, protocol, & + SHT_protocol_len) & bind(C, name="SPIO_IOManager_write_0_bufferify") - use axom_sidre, only : SIDRE_SHROUD_group_capsule + use axom_sidre, only : SIDRE_SHROUD_capsule_data use iso_c_binding, only : C_CHAR, C_INT - import :: SPIO_SHROUD_iomanager_capsule + import :: SPIO_SHROUD_capsule_data implicit none - type(SPIO_SHROUD_iomanager_capsule), intent(IN) :: self - type(SIDRE_SHROUD_group_capsule), intent(INOUT) :: group + type(SPIO_SHROUD_capsule_data), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(INOUT) :: group integer(C_INT), value, intent(IN) :: num_files character(kind=C_CHAR), intent(IN) :: file_string(*) - integer(C_INT), value, intent(IN) :: Lfile_string + integer(C_INT), value, intent(IN) :: SHT_file_string_len character(kind=C_CHAR), intent(IN) :: protocol(*) - integer(C_INT), value, intent(IN) :: Lprotocol - end subroutine c_iomanager_write_0_bufferify + integer(C_INT), value, intent(IN) :: SHT_protocol_len + end subroutine c_io_manager_write_0_bufferify - subroutine c_iomanager_write_1(self, group, num_files, & + subroutine c_io_manager_write_1(self, group, num_files, & file_string, protocol, tree_pattern) & bind(C, name="SPIO_IOManager_write_1") - use axom_sidre, only : SIDRE_SHROUD_group_capsule + use axom_sidre, only : SIDRE_SHROUD_capsule_data use iso_c_binding, only : C_CHAR, C_INT - import :: SPIO_SHROUD_iomanager_capsule + import :: SPIO_SHROUD_capsule_data implicit none - type(SPIO_SHROUD_iomanager_capsule), intent(IN) :: self - type(SIDRE_SHROUD_group_capsule), intent(INOUT) :: group + type(SPIO_SHROUD_capsule_data), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(INOUT) :: group integer(C_INT), value, intent(IN) :: num_files character(kind=C_CHAR), intent(IN) :: file_string(*) character(kind=C_CHAR), intent(IN) :: protocol(*) character(kind=C_CHAR), intent(IN) :: tree_pattern(*) - end subroutine c_iomanager_write_1 + end subroutine c_io_manager_write_1 - subroutine c_iomanager_write_1_bufferify(self, group, num_files, & - file_string, Lfile_string, protocol, Lprotocol, & - tree_pattern, Ltree_pattern) & + subroutine c_io_manager_write_1_bufferify(self, group, & + num_files, file_string, SHT_file_string_len, protocol, & + SHT_protocol_len, tree_pattern, SHT_tree_pattern_len) & bind(C, name="SPIO_IOManager_write_1_bufferify") - use axom_sidre, only : SIDRE_SHROUD_group_capsule + use axom_sidre, only : SIDRE_SHROUD_capsule_data use iso_c_binding, only : C_CHAR, C_INT - import :: SPIO_SHROUD_iomanager_capsule + import :: SPIO_SHROUD_capsule_data implicit none - type(SPIO_SHROUD_iomanager_capsule), intent(IN) :: self - type(SIDRE_SHROUD_group_capsule), intent(INOUT) :: group + type(SPIO_SHROUD_capsule_data), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(INOUT) :: group integer(C_INT), value, intent(IN) :: num_files character(kind=C_CHAR), intent(IN) :: file_string(*) - integer(C_INT), value, intent(IN) :: Lfile_string + integer(C_INT), value, intent(IN) :: SHT_file_string_len character(kind=C_CHAR), intent(IN) :: protocol(*) - integer(C_INT), value, intent(IN) :: Lprotocol + integer(C_INT), value, intent(IN) :: SHT_protocol_len character(kind=C_CHAR), intent(IN) :: tree_pattern(*) - integer(C_INT), value, intent(IN) :: Ltree_pattern - end subroutine c_iomanager_write_1_bufferify + integer(C_INT), value, intent(IN) :: SHT_tree_pattern_len + end subroutine c_io_manager_write_1_bufferify - subroutine c_iomanager_write_group_to_root_file(self, group, & + subroutine c_io_manager_write_group_to_root_file(self, group, & file_name) & - bind(C, name="SPIO_IOManager_write_group_to_root_file") - use axom_sidre, only : SIDRE_SHROUD_group_capsule + bind(C, name="SPIO_IOManager_writeGroupToRootFile") + use axom_sidre, only : SIDRE_SHROUD_capsule_data use iso_c_binding, only : C_CHAR - import :: SPIO_SHROUD_iomanager_capsule + import :: SPIO_SHROUD_capsule_data implicit none - type(SPIO_SHROUD_iomanager_capsule), intent(IN) :: self - type(SIDRE_SHROUD_group_capsule), intent(INOUT) :: group + type(SPIO_SHROUD_capsule_data), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(INOUT) :: group character(kind=C_CHAR), intent(IN) :: file_name(*) - end subroutine c_iomanager_write_group_to_root_file + end subroutine c_io_manager_write_group_to_root_file - subroutine c_iomanager_write_group_to_root_file_bufferify(self, & - group, file_name, Lfile_name) & - bind(C, name="SPIO_IOManager_write_group_to_root_file_bufferify") - use axom_sidre, only : SIDRE_SHROUD_group_capsule + subroutine c_io_manager_write_group_to_root_file_bufferify(self, & + group, file_name, SHT_file_name_len) & + bind(C, name="SPIO_IOManager_writeGroupToRootFile_bufferify") + use axom_sidre, only : SIDRE_SHROUD_capsule_data use iso_c_binding, only : C_CHAR, C_INT - import :: SPIO_SHROUD_iomanager_capsule + import :: SPIO_SHROUD_capsule_data implicit none - type(SPIO_SHROUD_iomanager_capsule), intent(IN) :: self - type(SIDRE_SHROUD_group_capsule), intent(INOUT) :: group + type(SPIO_SHROUD_capsule_data), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(INOUT) :: group character(kind=C_CHAR), intent(IN) :: file_name(*) - integer(C_INT), value, intent(IN) :: Lfile_name - end subroutine c_iomanager_write_group_to_root_file_bufferify + integer(C_INT), value, intent(IN) :: SHT_file_name_len + end subroutine c_io_manager_write_group_to_root_file_bufferify - subroutine c_iomanager_write_blueprint_index_to_root_file(self, & + subroutine c_io_manager_write_blueprint_index_to_root_file(self, & datastore, domain_path, file_name, mesh_path) & - bind(C, name="SPIO_IOManager_write_blueprint_index_to_root_file") - use axom_sidre, only : SIDRE_SHROUD_datastore_capsule + bind(C, name="SPIO_IOManager_writeBlueprintIndexToRootFile") + use axom_sidre, only : SIDRE_SHROUD_capsule_data use iso_c_binding, only : C_CHAR - import :: SPIO_SHROUD_iomanager_capsule + import :: SPIO_SHROUD_capsule_data implicit none - type(SPIO_SHROUD_iomanager_capsule), intent(IN) :: self - type(SIDRE_SHROUD_datastore_capsule), intent(INOUT) :: datastore + type(SPIO_SHROUD_capsule_data), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(INOUT) :: datastore character(kind=C_CHAR), intent(IN) :: domain_path(*) character(kind=C_CHAR), intent(IN) :: file_name(*) character(kind=C_CHAR), intent(IN) :: mesh_path(*) - end subroutine c_iomanager_write_blueprint_index_to_root_file - - subroutine c_iomanager_write_blueprint_index_to_root_file_bufferify( & - self, datastore, domain_path, Ldomain_path, file_name, & - Lfile_name, mesh_path, Lmesh_path) & - bind(C, name="SPIO_IOManager_write_blueprint_index_to_root_file_bufferify") - use axom_sidre, only : SIDRE_SHROUD_datastore_capsule + end subroutine c_io_manager_write_blueprint_index_to_root_file + + subroutine c_io_manager_write_blueprint_index_to_root_file_bufferify( & + self, datastore, domain_path, SHT_domain_path_len, & + file_name, SHT_file_name_len, mesh_path, & + SHT_mesh_path_len) & + bind(C, name="SPIO_IOManager_writeBlueprintIndexToRootFile_bufferify") + use axom_sidre, only : SIDRE_SHROUD_capsule_data use iso_c_binding, only : C_CHAR, C_INT - import :: SPIO_SHROUD_iomanager_capsule + import :: SPIO_SHROUD_capsule_data implicit none - type(SPIO_SHROUD_iomanager_capsule), intent(IN) :: self - type(SIDRE_SHROUD_datastore_capsule), intent(INOUT) :: datastore + type(SPIO_SHROUD_capsule_data), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(INOUT) :: datastore character(kind=C_CHAR), intent(IN) :: domain_path(*) - integer(C_INT), value, intent(IN) :: Ldomain_path + integer(C_INT), value, intent(IN) :: SHT_domain_path_len character(kind=C_CHAR), intent(IN) :: file_name(*) - integer(C_INT), value, intent(IN) :: Lfile_name + integer(C_INT), value, intent(IN) :: SHT_file_name_len character(kind=C_CHAR), intent(IN) :: mesh_path(*) - integer(C_INT), value, intent(IN) :: Lmesh_path - end subroutine c_iomanager_write_blueprint_index_to_root_file_bufferify + integer(C_INT), value, intent(IN) :: SHT_mesh_path_len + end subroutine c_io_manager_write_blueprint_index_to_root_file_bufferify - subroutine c_iomanager_read_0(self, group, file_string, & + subroutine c_io_manager_read_0(self, group, file_string, & protocol) & bind(C, name="SPIO_IOManager_read_0") - use axom_sidre, only : SIDRE_SHROUD_group_capsule + use axom_sidre, only : SIDRE_SHROUD_capsule_data use iso_c_binding, only : C_CHAR - import :: SPIO_SHROUD_iomanager_capsule + import :: SPIO_SHROUD_capsule_data implicit none - type(SPIO_SHROUD_iomanager_capsule), intent(IN) :: self - type(SIDRE_SHROUD_group_capsule), intent(INOUT) :: group + type(SPIO_SHROUD_capsule_data), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(INOUT) :: group character(kind=C_CHAR), intent(IN) :: file_string(*) character(kind=C_CHAR), intent(IN) :: protocol(*) - end subroutine c_iomanager_read_0 + end subroutine c_io_manager_read_0 - subroutine c_iomanager_read_0_bufferify(self, group, & - file_string, Lfile_string, protocol, Lprotocol) & + subroutine c_io_manager_read_0_bufferify(self, group, & + file_string, SHT_file_string_len, protocol, & + SHT_protocol_len) & bind(C, name="SPIO_IOManager_read_0_bufferify") - use axom_sidre, only : SIDRE_SHROUD_group_capsule + use axom_sidre, only : SIDRE_SHROUD_capsule_data use iso_c_binding, only : C_CHAR, C_INT - import :: SPIO_SHROUD_iomanager_capsule + import :: SPIO_SHROUD_capsule_data implicit none - type(SPIO_SHROUD_iomanager_capsule), intent(IN) :: self - type(SIDRE_SHROUD_group_capsule), intent(INOUT) :: group + type(SPIO_SHROUD_capsule_data), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(INOUT) :: group character(kind=C_CHAR), intent(IN) :: file_string(*) - integer(C_INT), value, intent(IN) :: Lfile_string + integer(C_INT), value, intent(IN) :: SHT_file_string_len character(kind=C_CHAR), intent(IN) :: protocol(*) - integer(C_INT), value, intent(IN) :: Lprotocol - end subroutine c_iomanager_read_0_bufferify + integer(C_INT), value, intent(IN) :: SHT_protocol_len + end subroutine c_io_manager_read_0_bufferify - subroutine c_iomanager_read_1(self, group, file_string, & + subroutine c_io_manager_read_1(self, group, file_string, & protocol, preserve_contents) & bind(C, name="SPIO_IOManager_read_1") - use axom_sidre, only : SIDRE_SHROUD_group_capsule + use axom_sidre, only : SIDRE_SHROUD_capsule_data use iso_c_binding, only : C_BOOL, C_CHAR - import :: SPIO_SHROUD_iomanager_capsule + import :: SPIO_SHROUD_capsule_data implicit none - type(SPIO_SHROUD_iomanager_capsule), intent(IN) :: self - type(SIDRE_SHROUD_group_capsule), intent(INOUT) :: group + type(SPIO_SHROUD_capsule_data), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(INOUT) :: group character(kind=C_CHAR), intent(IN) :: file_string(*) character(kind=C_CHAR), intent(IN) :: protocol(*) logical(C_BOOL), value, intent(IN) :: preserve_contents - end subroutine c_iomanager_read_1 + end subroutine c_io_manager_read_1 - subroutine c_iomanager_read_1_bufferify(self, group, & - file_string, Lfile_string, protocol, Lprotocol, & - preserve_contents) & + subroutine c_io_manager_read_1_bufferify(self, group, & + file_string, SHT_file_string_len, protocol, & + SHT_protocol_len, preserve_contents) & bind(C, name="SPIO_IOManager_read_1_bufferify") - use axom_sidre, only : SIDRE_SHROUD_group_capsule + use axom_sidre, only : SIDRE_SHROUD_capsule_data use iso_c_binding, only : C_BOOL, C_CHAR, C_INT - import :: SPIO_SHROUD_iomanager_capsule + import :: SPIO_SHROUD_capsule_data implicit none - type(SPIO_SHROUD_iomanager_capsule), intent(IN) :: self - type(SIDRE_SHROUD_group_capsule), intent(INOUT) :: group + type(SPIO_SHROUD_capsule_data), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(INOUT) :: group character(kind=C_CHAR), intent(IN) :: file_string(*) - integer(C_INT), value, intent(IN) :: Lfile_string + integer(C_INT), value, intent(IN) :: SHT_file_string_len character(kind=C_CHAR), intent(IN) :: protocol(*) - integer(C_INT), value, intent(IN) :: Lprotocol + integer(C_INT), value, intent(IN) :: SHT_protocol_len logical(C_BOOL), value, intent(IN) :: preserve_contents - end subroutine c_iomanager_read_1_bufferify + end subroutine c_io_manager_read_1_bufferify - subroutine c_iomanager_read_2(self, group, root_file) & + subroutine c_io_manager_read_2(self, group, root_file) & bind(C, name="SPIO_IOManager_read_2") - use axom_sidre, only : SIDRE_SHROUD_group_capsule + use axom_sidre, only : SIDRE_SHROUD_capsule_data use iso_c_binding, only : C_CHAR - import :: SPIO_SHROUD_iomanager_capsule + import :: SPIO_SHROUD_capsule_data implicit none - type(SPIO_SHROUD_iomanager_capsule), intent(IN) :: self - type(SIDRE_SHROUD_group_capsule), intent(INOUT) :: group + type(SPIO_SHROUD_capsule_data), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(INOUT) :: group character(kind=C_CHAR), intent(IN) :: root_file(*) - end subroutine c_iomanager_read_2 + end subroutine c_io_manager_read_2 - subroutine c_iomanager_read_2_bufferify(self, group, root_file, & - Lroot_file) & + subroutine c_io_manager_read_2_bufferify(self, group, root_file, & + SHT_root_file_len) & bind(C, name="SPIO_IOManager_read_2_bufferify") - use axom_sidre, only : SIDRE_SHROUD_group_capsule + use axom_sidre, only : SIDRE_SHROUD_capsule_data use iso_c_binding, only : C_CHAR, C_INT - import :: SPIO_SHROUD_iomanager_capsule + import :: SPIO_SHROUD_capsule_data implicit none - type(SPIO_SHROUD_iomanager_capsule), intent(IN) :: self - type(SIDRE_SHROUD_group_capsule), intent(INOUT) :: group + type(SPIO_SHROUD_capsule_data), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(INOUT) :: group character(kind=C_CHAR), intent(IN) :: root_file(*) - integer(C_INT), value, intent(IN) :: Lroot_file - end subroutine c_iomanager_read_2_bufferify + integer(C_INT), value, intent(IN) :: SHT_root_file_len + end subroutine c_io_manager_read_2_bufferify - subroutine c_iomanager_read_3(self, group, root_file, & + subroutine c_io_manager_read_3(self, group, root_file, & preserve_contents) & bind(C, name="SPIO_IOManager_read_3") - use axom_sidre, only : SIDRE_SHROUD_group_capsule + use axom_sidre, only : SIDRE_SHROUD_capsule_data use iso_c_binding, only : C_BOOL, C_CHAR - import :: SPIO_SHROUD_iomanager_capsule + import :: SPIO_SHROUD_capsule_data implicit none - type(SPIO_SHROUD_iomanager_capsule), intent(IN) :: self - type(SIDRE_SHROUD_group_capsule), intent(INOUT) :: group + type(SPIO_SHROUD_capsule_data), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(INOUT) :: group character(kind=C_CHAR), intent(IN) :: root_file(*) logical(C_BOOL), value, intent(IN) :: preserve_contents - end subroutine c_iomanager_read_3 + end subroutine c_io_manager_read_3 - subroutine c_iomanager_read_3_bufferify(self, group, root_file, & - Lroot_file, preserve_contents) & + subroutine c_io_manager_read_3_bufferify(self, group, root_file, & + SHT_root_file_len, preserve_contents) & bind(C, name="SPIO_IOManager_read_3_bufferify") - use axom_sidre, only : SIDRE_SHROUD_group_capsule + use axom_sidre, only : SIDRE_SHROUD_capsule_data use iso_c_binding, only : C_BOOL, C_CHAR, C_INT - import :: SPIO_SHROUD_iomanager_capsule + import :: SPIO_SHROUD_capsule_data implicit none - type(SPIO_SHROUD_iomanager_capsule), intent(IN) :: self - type(SIDRE_SHROUD_group_capsule), intent(INOUT) :: group + type(SPIO_SHROUD_capsule_data), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(INOUT) :: group character(kind=C_CHAR), intent(IN) :: root_file(*) - integer(C_INT), value, intent(IN) :: Lroot_file + integer(C_INT), value, intent(IN) :: SHT_root_file_len logical(C_BOOL), value, intent(IN) :: preserve_contents - end subroutine c_iomanager_read_3_bufferify + end subroutine c_io_manager_read_3_bufferify - subroutine c_iomanager_load_external_data(self, group, & + subroutine c_io_manager_load_external_data(self, group, & root_file) & - bind(C, name="SPIO_IOManager_load_external_data") - use axom_sidre, only : SIDRE_SHROUD_group_capsule + bind(C, name="SPIO_IOManager_loadExternalData") + use axom_sidre, only : SIDRE_SHROUD_capsule_data use iso_c_binding, only : C_CHAR - import :: SPIO_SHROUD_iomanager_capsule + import :: SPIO_SHROUD_capsule_data implicit none - type(SPIO_SHROUD_iomanager_capsule), intent(IN) :: self - type(SIDRE_SHROUD_group_capsule), intent(INOUT) :: group + type(SPIO_SHROUD_capsule_data), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(INOUT) :: group character(kind=C_CHAR), intent(IN) :: root_file(*) - end subroutine c_iomanager_load_external_data + end subroutine c_io_manager_load_external_data - subroutine c_iomanager_load_external_data_bufferify(self, group, & - root_file, Lroot_file) & - bind(C, name="SPIO_IOManager_load_external_data_bufferify") - use axom_sidre, only : SIDRE_SHROUD_group_capsule + subroutine c_io_manager_load_external_data_bufferify(self, & + group, root_file, SHT_root_file_len) & + bind(C, name="SPIO_IOManager_loadExternalData_bufferify") + use axom_sidre, only : SIDRE_SHROUD_capsule_data use iso_c_binding, only : C_CHAR, C_INT - import :: SPIO_SHROUD_iomanager_capsule + import :: SPIO_SHROUD_capsule_data implicit none - type(SPIO_SHROUD_iomanager_capsule), intent(IN) :: self - type(SIDRE_SHROUD_group_capsule), intent(INOUT) :: group + type(SPIO_SHROUD_capsule_data), intent(IN) :: self + type(SIDRE_SHROUD_capsule_data), intent(INOUT) :: group character(kind=C_CHAR), intent(IN) :: root_file(*) - integer(C_INT), value, intent(IN) :: Lroot_file - end subroutine c_iomanager_load_external_data_bufferify + integer(C_INT), value, intent(IN) :: SHT_root_file_len + end subroutine c_io_manager_load_external_data_bufferify + end interface - ! splicer begin class.IOManager.additional_interfaces - ! splicer end class.IOManager.additional_interfaces + interface io_manager_read + module procedure io_manager_read_0 + module procedure io_manager_read_1 + module procedure io_manager_read_2 + module procedure io_manager_read_3 + end interface io_manager_read - ! splicer begin additional_interfaces - ! splicer end additional_interfaces - end interface + interface io_manager_write + module procedure io_manager_write_0 + module procedure io_manager_write_1 + end interface io_manager_write interface iomanager - module procedure iomanager_ctor_default - module procedure iomanager_ctor_usescr + module procedure io_manager_ctor_default + module procedure io_manager_ctor_usescr end interface iomanager + ! splicer begin additional_declarations + ! splicer end additional_declarations + contains - function iomanager_ctor_default(com) & + function io_manager_ctor_default(com) & result(SHT_rv) use iso_c_binding, only : C_PTR integer, value, intent(IN) :: com type(iomanager) :: SHT_rv - ! splicer begin class.IOManager.method.ctor_default type(C_PTR) :: SHT_prv - SHT_prv = c_iomanager_ctor_default(com, SHT_rv%cxxmem) + ! splicer begin class.IOManager.method.ctor_default + SHT_prv = c_io_manager_ctor_default(com, SHT_rv%cxxmem) ! splicer end class.IOManager.method.ctor_default - end function iomanager_ctor_default + end function io_manager_ctor_default - function iomanager_ctor_usescr(com, use_scr) & + function io_manager_ctor_usescr(com, use_scr) & result(SHT_rv) use iso_c_binding, only : C_BOOL, C_PTR integer, value, intent(IN) :: com logical, value, intent(IN) :: use_scr type(iomanager) :: SHT_rv + type(C_PTR) :: SHT_prv ! splicer begin class.IOManager.method.ctor_usescr logical(C_BOOL) SH_use_scr - type(C_PTR) :: SHT_prv SH_use_scr = use_scr ! coerce to C_BOOL - SHT_prv = c_iomanager_ctor_usescr(com, SH_use_scr, & + SHT_prv = c_io_manager_ctor_usescr(com, SH_use_scr, & SHT_rv%cxxmem) ! splicer end class.IOManager.method.ctor_usescr - end function iomanager_ctor_usescr + end function io_manager_ctor_usescr - subroutine iomanager_delete(obj) + subroutine io_manager_delete(obj) class(iomanager) :: obj ! splicer begin class.IOManager.method.delete - call c_iomanager_delete(obj%cxxmem) + call c_io_manager_delete(obj%cxxmem) ! splicer end class.IOManager.method.delete - end subroutine iomanager_delete + end subroutine io_manager_delete - subroutine iomanager_write_0(obj, group, num_files, file_string, & + subroutine io_manager_write_0(obj, group, num_files, file_string, & protocol) use axom_sidre, only : SidreGroup use iso_c_binding, only : C_INT @@ -402,13 +415,17 @@ subroutine iomanager_write_0(obj, group, num_files, file_string, & character(len=*), intent(IN) :: file_string character(len=*), intent(IN) :: protocol ! splicer begin class.IOManager.method.write_0 - call c_iomanager_write_0_bufferify(obj%cxxmem, group%cxxmem, & - num_files, file_string, len_trim(file_string, kind=C_INT), & - protocol, len_trim(protocol, kind=C_INT)) + integer(C_INT) SHT_file_string_len + integer(C_INT) SHT_protocol_len + SHT_file_string_len = len(file_string, kind=C_INT) + SHT_protocol_len = len(protocol, kind=C_INT) + call c_io_manager_write_0_bufferify(obj%cxxmem, group%cxxmem, & + num_files, file_string, SHT_file_string_len, protocol, & + SHT_protocol_len) ! splicer end class.IOManager.method.write_0 - end subroutine iomanager_write_0 + end subroutine io_manager_write_0 - subroutine iomanager_write_1(obj, group, num_files, file_string, & + subroutine io_manager_write_1(obj, group, num_files, file_string, & protocol, tree_pattern) use axom_sidre, only : SidreGroup use iso_c_binding, only : C_INT @@ -419,26 +436,34 @@ subroutine iomanager_write_1(obj, group, num_files, file_string, & character(len=*), intent(IN) :: protocol character(len=*), intent(IN) :: tree_pattern ! splicer begin class.IOManager.method.write_1 - call c_iomanager_write_1_bufferify(obj%cxxmem, group%cxxmem, & - num_files, file_string, len_trim(file_string, kind=C_INT), & - protocol, len_trim(protocol, kind=C_INT), tree_pattern, & - len_trim(tree_pattern, kind=C_INT)) + integer(C_INT) SHT_file_string_len + integer(C_INT) SHT_protocol_len + integer(C_INT) SHT_tree_pattern_len + SHT_file_string_len = len(file_string, kind=C_INT) + SHT_protocol_len = len(protocol, kind=C_INT) + SHT_tree_pattern_len = len(tree_pattern, kind=C_INT) + call c_io_manager_write_1_bufferify(obj%cxxmem, group%cxxmem, & + num_files, file_string, SHT_file_string_len, protocol, & + SHT_protocol_len, tree_pattern, SHT_tree_pattern_len) ! splicer end class.IOManager.method.write_1 - end subroutine iomanager_write_1 + end subroutine io_manager_write_1 - subroutine iomanager_write_group_to_root_file(obj, group, file_name) + subroutine io_manager_write_group_to_root_file(obj, group, & + file_name) use axom_sidre, only : SidreGroup use iso_c_binding, only : C_INT class(iomanager) :: obj type(SidreGroup), intent(INOUT) :: group character(len=*), intent(IN) :: file_name ! splicer begin class.IOManager.method.write_group_to_root_file - call c_iomanager_write_group_to_root_file_bufferify(obj%cxxmem, & - group%cxxmem, file_name, len_trim(file_name, kind=C_INT)) + integer(C_INT) SHT_file_name_len + SHT_file_name_len = len(file_name, kind=C_INT) + call c_io_manager_write_group_to_root_file_bufferify(obj%cxxmem, & + group%cxxmem, file_name, SHT_file_name_len) ! splicer end class.IOManager.method.write_group_to_root_file - end subroutine iomanager_write_group_to_root_file + end subroutine io_manager_write_group_to_root_file - subroutine iomanager_write_blueprint_index_to_root_file(obj, & + subroutine io_manager_write_blueprint_index_to_root_file(obj, & datastore, domain_path, file_name, mesh_path) use axom_sidre, only : SidreDataStore use iso_c_binding, only : C_INT @@ -448,15 +473,19 @@ subroutine iomanager_write_blueprint_index_to_root_file(obj, & character(len=*), intent(IN) :: file_name character(len=*), intent(IN) :: mesh_path ! splicer begin class.IOManager.method.write_blueprint_index_to_root_file - call c_iomanager_write_blueprint_index_to_root_file_bufferify(obj%cxxmem, & - datastore%cxxmem, domain_path, & - len_trim(domain_path, kind=C_INT), file_name, & - len_trim(file_name, kind=C_INT), mesh_path, & - len_trim(mesh_path, kind=C_INT)) + integer(C_INT) SHT_domain_path_len + integer(C_INT) SHT_file_name_len + integer(C_INT) SHT_mesh_path_len + SHT_domain_path_len = len(domain_path, kind=C_INT) + SHT_file_name_len = len(file_name, kind=C_INT) + SHT_mesh_path_len = len(mesh_path, kind=C_INT) + call c_io_manager_write_blueprint_index_to_root_file_bufferify(obj%cxxmem, & + datastore%cxxmem, domain_path, SHT_domain_path_len, & + file_name, SHT_file_name_len, mesh_path, SHT_mesh_path_len) ! splicer end class.IOManager.method.write_blueprint_index_to_root_file - end subroutine iomanager_write_blueprint_index_to_root_file + end subroutine io_manager_write_blueprint_index_to_root_file - subroutine iomanager_read_0(obj, group, file_string, protocol) + subroutine io_manager_read_0(obj, group, file_string, protocol) use axom_sidre, only : SidreGroup use iso_c_binding, only : C_INT class(iomanager) :: obj @@ -464,13 +493,17 @@ subroutine iomanager_read_0(obj, group, file_string, protocol) character(len=*), intent(IN) :: file_string character(len=*), intent(IN) :: protocol ! splicer begin class.IOManager.method.read_0 - call c_iomanager_read_0_bufferify(obj%cxxmem, group%cxxmem, & - file_string, len_trim(file_string, kind=C_INT), protocol, & - len_trim(protocol, kind=C_INT)) + integer(C_INT) SHT_file_string_len + integer(C_INT) SHT_protocol_len + SHT_file_string_len = len(file_string, kind=C_INT) + SHT_protocol_len = len(protocol, kind=C_INT) + call c_io_manager_read_0_bufferify(obj%cxxmem, group%cxxmem, & + file_string, SHT_file_string_len, protocol, & + SHT_protocol_len) ! splicer end class.IOManager.method.read_0 - end subroutine iomanager_read_0 + end subroutine io_manager_read_0 - subroutine iomanager_read_1(obj, group, file_string, protocol, & + subroutine io_manager_read_1(obj, group, file_string, protocol, & preserve_contents) use axom_sidre, only : SidreGroup use iso_c_binding, only : C_BOOL, C_INT @@ -480,27 +513,33 @@ subroutine iomanager_read_1(obj, group, file_string, protocol, & character(len=*), intent(IN) :: protocol logical, value, intent(IN) :: preserve_contents ! splicer begin class.IOManager.method.read_1 + integer(C_INT) SHT_file_string_len + integer(C_INT) SHT_protocol_len logical(C_BOOL) SH_preserve_contents + SHT_file_string_len = len(file_string, kind=C_INT) + SHT_protocol_len = len(protocol, kind=C_INT) SH_preserve_contents = preserve_contents ! coerce to C_BOOL - call c_iomanager_read_1_bufferify(obj%cxxmem, group%cxxmem, & - file_string, len_trim(file_string, kind=C_INT), protocol, & - len_trim(protocol, kind=C_INT), SH_preserve_contents) + call c_io_manager_read_1_bufferify(obj%cxxmem, group%cxxmem, & + file_string, SHT_file_string_len, protocol, & + SHT_protocol_len, SH_preserve_contents) ! splicer end class.IOManager.method.read_1 - end subroutine iomanager_read_1 + end subroutine io_manager_read_1 - subroutine iomanager_read_2(obj, group, root_file) + subroutine io_manager_read_2(obj, group, root_file) use axom_sidre, only : SidreGroup use iso_c_binding, only : C_INT class(iomanager) :: obj type(SidreGroup), intent(INOUT) :: group character(len=*), intent(IN) :: root_file ! splicer begin class.IOManager.method.read_2 - call c_iomanager_read_2_bufferify(obj%cxxmem, group%cxxmem, & - root_file, len_trim(root_file, kind=C_INT)) + integer(C_INT) SHT_root_file_len + SHT_root_file_len = len(root_file, kind=C_INT) + call c_io_manager_read_2_bufferify(obj%cxxmem, group%cxxmem, & + root_file, SHT_root_file_len) ! splicer end class.IOManager.method.read_2 - end subroutine iomanager_read_2 + end subroutine io_manager_read_2 - subroutine iomanager_read_3(obj, group, root_file, & + subroutine io_manager_read_3(obj, group, root_file, & preserve_contents) use axom_sidre, only : SidreGroup use iso_c_binding, only : C_BOOL, C_INT @@ -509,48 +548,51 @@ subroutine iomanager_read_3(obj, group, root_file, & character(len=*), intent(IN) :: root_file logical, value, intent(IN) :: preserve_contents ! splicer begin class.IOManager.method.read_3 + integer(C_INT) SHT_root_file_len logical(C_BOOL) SH_preserve_contents + SHT_root_file_len = len(root_file, kind=C_INT) SH_preserve_contents = preserve_contents ! coerce to C_BOOL - call c_iomanager_read_3_bufferify(obj%cxxmem, group%cxxmem, & - root_file, len_trim(root_file, kind=C_INT), & - SH_preserve_contents) + call c_io_manager_read_3_bufferify(obj%cxxmem, group%cxxmem, & + root_file, SHT_root_file_len, SH_preserve_contents) ! splicer end class.IOManager.method.read_3 - end subroutine iomanager_read_3 + end subroutine io_manager_read_3 - subroutine iomanager_load_external_data(obj, group, root_file) + subroutine io_manager_load_external_data(obj, group, root_file) use axom_sidre, only : SidreGroup use iso_c_binding, only : C_INT class(iomanager) :: obj type(SidreGroup), intent(INOUT) :: group character(len=*), intent(IN) :: root_file ! splicer begin class.IOManager.method.load_external_data - call c_iomanager_load_external_data_bufferify(obj%cxxmem, & - group%cxxmem, root_file, len_trim(root_file, kind=C_INT)) + integer(C_INT) SHT_root_file_len + SHT_root_file_len = len(root_file, kind=C_INT) + call c_io_manager_load_external_data_bufferify(obj%cxxmem, & + group%cxxmem, root_file, SHT_root_file_len) ! splicer end class.IOManager.method.load_external_data - end subroutine iomanager_load_external_data + end subroutine io_manager_load_external_data ! Return pointer to C++ memory. - function iomanager_get_instance(obj) result (cxxptr) + function io_manager_get_instance(obj) result (cxxptr) use iso_c_binding, only: C_PTR class(iomanager), intent(IN) :: obj type(C_PTR) :: cxxptr cxxptr = obj%cxxmem%addr - end function iomanager_get_instance + end function io_manager_get_instance - subroutine iomanager_set_instance(obj, cxxmem) + subroutine io_manager_set_instance(obj, cxxmem) use iso_c_binding, only: C_PTR class(iomanager), intent(INOUT) :: obj type(C_PTR), intent(IN) :: cxxmem obj%cxxmem%addr = cxxmem obj%cxxmem%idtor = 0 - end subroutine iomanager_set_instance + end subroutine io_manager_set_instance - function iomanager_associated(obj) result (rv) + function io_manager_associated(obj) result (rv) use iso_c_binding, only: c_associated class(iomanager), intent(IN) :: obj logical rv rv = c_associated(obj%cxxmem%addr) - end function iomanager_associated + end function io_manager_associated ! splicer begin class.IOManager.additional_functions ! splicer end class.IOManager.additional_functions @@ -558,7 +600,7 @@ end function iomanager_associated ! splicer begin additional_functions ! splicer end additional_functions - function iomanager_eq(a,b) result (rv) + function io_manager_eq(a,b) result (rv) use iso_c_binding, only: c_associated type(iomanager), intent(IN) ::a,b logical :: rv @@ -567,9 +609,9 @@ function iomanager_eq(a,b) result (rv) else rv = .false. endif - end function iomanager_eq + end function io_manager_eq - function iomanager_ne(a,b) result (rv) + function io_manager_ne(a,b) result (rv) use iso_c_binding, only: c_associated type(iomanager), intent(IN) ::a,b logical :: rv @@ -578,6 +620,6 @@ function iomanager_ne(a,b) result (rv) else rv = .false. endif - end function iomanager_ne + end function io_manager_ne end module axom_spio diff --git a/src/axom/sidre/spio/interface/yaml/spio_types.yaml b/src/axom/sidre/spio/interface/yaml/spio_types.yaml index f7fa07fa1f..3fe8b866f1 100644 --- a/src/axom/sidre/spio/interface/yaml/spio_types.yaml +++ b/src/axom/sidre/spio/interface/yaml/spio_types.yaml @@ -1,5 +1,5 @@ # spio_types.yaml -# This file is generated by Shroud 0.12.2. Do not edit. +# This file is generated by Shroud 0.13.0. Do not edit. # # Copyright (c) 2017-2024, Lawrence Livermore National Security, LLC and # other Axom Project Developers. See the top-level LICENSE file for details. @@ -19,5 +19,5 @@ typemap: c_type: SPIO_IOManager f_module_name: axom_spio f_derived_type: iomanager - f_capsule_data_type: SPIO_SHROUD_iomanager_capsule + f_capsule_data_type: SPIO_SHROUD_capsule_data f_to_c: "{f_var}%cxxmem" diff --git a/src/axom/slic/interface/c_fortran/typesSLIC.h b/src/axom/slic/interface/c_fortran/typesSLIC.h index 6e04d20430..bc85a0655e 100644 --- a/src/axom/slic/interface/c_fortran/typesSLIC.h +++ b/src/axom/slic/interface/c_fortran/typesSLIC.h @@ -1,5 +1,5 @@ // typesSLIC.h -// This file is generated by Shroud 0.12.2. Do not edit. +// This file is generated by Shroud 0.13.0. Do not edit. // // Copyright (c) 2017-2024, Lawrence Livermore National Security, LLC and // other Axom Project Developers. See the top-level LICENSE file for details. @@ -10,10 +10,16 @@ #ifndef TYPESSLIC_H #define TYPESSLIC_H +// splicer begin types.CXX_declarations +// splicer end types.CXX_declarations + #ifdef __cplusplus extern "C" { #endif +// splicer begin types.C_declarations +// splicer end types.C_declarations + // helper capsule_SLIC_GenericOutputStream struct s_SLIC_GenericOutputStream { diff --git a/src/axom/slic/interface/c_fortran/wrapGenericOutputStream.cpp b/src/axom/slic/interface/c_fortran/wrapGenericOutputStream.cpp index 200dc0c454..a17ab4c743 100644 --- a/src/axom/slic/interface/c_fortran/wrapGenericOutputStream.cpp +++ b/src/axom/slic/interface/c_fortran/wrapGenericOutputStream.cpp @@ -1,20 +1,39 @@ // wrapGenericOutputStream.cpp -// This file is generated by Shroud 0.12.2. Do not edit. +// This file is generated by Shroud 0.13.0. Do not edit. // // Copyright (c) 2017-2024, Lawrence Livermore National Security, LLC and // other Axom Project Developers. See the top-level LICENSE file for details. // // SPDX-License-Identifier: (BSD-3-Clause) -#include "wrapGenericOutputStream.h" -#include <cstddef> -#include <string> + #include "axom/slic/streams/GenericOutputStream.hpp" +#include <string> +#include <cstddef> +#include "wrapGenericOutputStream.h" // splicer begin class.GenericOutputStream.CXX_definitions // splicer end class.GenericOutputStream.CXX_definitions extern "C" { +// helper ShroudLenTrim +// Returns the length of character string src with length nsrc, +// ignoring any trailing blanks. +static int ShroudLenTrim(const char *src, int nsrc) +{ + int i; + + for(i = nsrc - 1; i >= 0; i--) + { + if(src[i] != ' ') + { + break; + } + } + + return i + 1; +} + // splicer begin class.GenericOutputStream.C_definitions // splicer end class.GenericOutputStream.C_definitions @@ -33,12 +52,12 @@ SLIC_GenericOutputStream *SLIC_GenericOutputStream_ctor_default( } SLIC_GenericOutputStream *SLIC_GenericOutputStream_ctor_default_bufferify( - const char *stream, - int Lstream, + char *stream, + int SHT_stream_len, SLIC_GenericOutputStream *SHC_rv) { // splicer begin class.GenericOutputStream.method.ctor_default_bufferify - const std::string SHCXX_stream(stream, Lstream); + const std::string SHCXX_stream(stream, ShroudLenTrim(stream, SHT_stream_len)); axom::slic::GenericOutputStream *SHCXX_rv = new axom::slic::GenericOutputStream(SHCXX_stream); SHC_rv->addr = static_cast<void *>(SHCXX_rv); @@ -64,15 +83,15 @@ SLIC_GenericOutputStream *SLIC_GenericOutputStream_ctor_format( } SLIC_GenericOutputStream *SLIC_GenericOutputStream_ctor_format_bufferify( - const char *stream, - int Lstream, - const char *format, - int Lformat, + char *stream, + int SHT_stream_len, + char *format, + int SHT_format_len, SLIC_GenericOutputStream *SHC_rv) { // splicer begin class.GenericOutputStream.method.ctor_format_bufferify - const std::string SHCXX_stream(stream, Lstream); - const std::string SHCXX_format(format, Lformat); + const std::string SHCXX_stream(stream, ShroudLenTrim(stream, SHT_stream_len)); + const std::string SHCXX_format(format, ShroudLenTrim(format, SHT_format_len)); axom::slic::GenericOutputStream *SHCXX_rv = new axom::slic::GenericOutputStream(SHCXX_stream, SHCXX_format); SHC_rv->addr = static_cast<void *>(SHCXX_rv); diff --git a/src/axom/slic/interface/c_fortran/wrapGenericOutputStream.h b/src/axom/slic/interface/c_fortran/wrapGenericOutputStream.h index 025286d21f..2cadb7be78 100644 --- a/src/axom/slic/interface/c_fortran/wrapGenericOutputStream.h +++ b/src/axom/slic/interface/c_fortran/wrapGenericOutputStream.h @@ -1,5 +1,5 @@ // wrapGenericOutputStream.h -// This file is generated by Shroud 0.12.2. Do not edit. +// This file is generated by Shroud 0.13.0. Do not edit. // // Copyright (c) 2017-2024, Lawrence Livermore National Security, LLC and // other Axom Project Developers. See the top-level LICENSE file for details. @@ -26,28 +26,28 @@ extern "C" { // splicer begin class.GenericOutputStream.C_declarations // splicer end class.GenericOutputStream.C_declarations -SLIC_GenericOutputStream* SLIC_GenericOutputStream_ctor_default( - const char* stream, - SLIC_GenericOutputStream* SHC_rv); +SLIC_GenericOutputStream *SLIC_GenericOutputStream_ctor_default( + const char *stream, + SLIC_GenericOutputStream *SHC_rv); -SLIC_GenericOutputStream* SLIC_GenericOutputStream_ctor_default_bufferify( - const char* stream, - int Lstream, - SLIC_GenericOutputStream* SHC_rv); +SLIC_GenericOutputStream *SLIC_GenericOutputStream_ctor_default_bufferify( + char *stream, + int SHT_stream_len, + SLIC_GenericOutputStream *SHC_rv); -SLIC_GenericOutputStream* SLIC_GenericOutputStream_ctor_format( - const char* stream, - const char* format, - SLIC_GenericOutputStream* SHC_rv); +SLIC_GenericOutputStream *SLIC_GenericOutputStream_ctor_format( + const char *stream, + const char *format, + SLIC_GenericOutputStream *SHC_rv); -SLIC_GenericOutputStream* SLIC_GenericOutputStream_ctor_format_bufferify( - const char* stream, - int Lstream, - const char* format, - int Lformat, - SLIC_GenericOutputStream* SHC_rv); +SLIC_GenericOutputStream *SLIC_GenericOutputStream_ctor_format_bufferify( + char *stream, + int SHT_stream_len, + char *format, + int SHT_format_len, + SLIC_GenericOutputStream *SHC_rv); -void SLIC_GenericOutputStream_delete(SLIC_GenericOutputStream* self); +void SLIC_GenericOutputStream_delete(SLIC_GenericOutputStream *self); #ifdef __cplusplus } diff --git a/src/axom/slic/interface/c_fortran/wrapSLIC.cpp b/src/axom/slic/interface/c_fortran/wrapSLIC.cpp index e0270df4fd..41109bc5fe 100644 --- a/src/axom/slic/interface/c_fortran/wrapSLIC.cpp +++ b/src/axom/slic/interface/c_fortran/wrapSLIC.cpp @@ -1,23 +1,40 @@ // wrapSLIC.cpp -// This file is generated by Shroud 0.12.2. Do not edit. +// This file is generated by Shroud 0.13.0. Do not edit. // // Copyright (c) 2017-2024, Lawrence Livermore National Security, LLC and // other Axom Project Developers. See the top-level LICENSE file for details. // // SPDX-License-Identifier: (BSD-3-Clause) -#include "wrapSLIC.h" -#include <cstdlib> -#include <cstring> -#include <string> + #include "axom/slic/interface/slic.hpp" +#include <string> #include "axom/slic/streams/GenericOutputStream.hpp" -#include "typesSLIC.h" +#include <cstring> +#include "wrapSLIC.h" // splicer begin CXX_definitions // splicer end CXX_definitions extern "C" { +// helper ShroudLenTrim +// Returns the length of character string src with length nsrc, +// ignoring any trailing blanks. +static int ShroudLenTrim(const char *src, int nsrc) +{ + int i; + + for(i = nsrc - 1; i >= 0; i--) + { + if(src[i] != ' ') + { + break; + } + } + + return i + 1; +} + // helper ShroudStrCopy // Copy src into dest, blank fill to ndest characters // Truncate if dest is too short. @@ -30,16 +47,10 @@ static void ShroudStrCopy(char *dest, int ndest, const char *src, int nsrc) } else { - if(nsrc < 0) - { - nsrc = std::strlen(src); - } + if(nsrc < 0) nsrc = std::strlen(src); int nm = nsrc < ndest ? nsrc : ndest; std::memcpy(dest, src, nm); - if(ndest > nm) - { - std::memset(dest + nm, ' ', ndest - nm); // blank fill - } + if(ndest > nm) std::memset(dest + nm, ' ', ndest - nm); // blank fill } } // splicer begin C_definitions @@ -52,196 +63,198 @@ void SLIC_initialize(void) // splicer end function.initialize } -bool SLIC_is_initialized(void) +bool SLIC_isInitialized(void) { - // splicer begin function.is_initialized + // splicer begin function.isInitialized bool SHC_rv = axom::slic::isInitialized(); return SHC_rv; - // splicer end function.is_initialized + // splicer end function.isInitialized } -void SLIC_create_logger(const char *name, char imask) +void SLIC_createLogger(const char *name, char imask) { - // splicer begin function.create_logger + // splicer begin function.createLogger const std::string SHCXX_name(name); axom::slic::createLogger(SHCXX_name, imask); - // splicer end function.create_logger + // splicer end function.createLogger } -void SLIC_create_logger_bufferify(const char *name, int Lname, char imask) +void SLIC_createLogger_bufferify(char *name, int SHT_name_len, char imask) { - // splicer begin function.create_logger_bufferify - const std::string SHCXX_name(name, Lname); + // splicer begin function.createLogger_bufferify + const std::string SHCXX_name(name, ShroudLenTrim(name, SHT_name_len)); axom::slic::createLogger(SHCXX_name, imask); - // splicer end function.create_logger_bufferify + // splicer end function.createLogger_bufferify } -bool SLIC_activate_logger(const char *name) +bool SLIC_activateLogger(const char *name) { - // splicer begin function.activate_logger + // splicer begin function.activateLogger const std::string SHCXX_name(name); bool SHC_rv = axom::slic::activateLogger(SHCXX_name); return SHC_rv; - // splicer end function.activate_logger + // splicer end function.activateLogger } -bool SLIC_activate_logger_bufferify(const char *name, int Lname) +bool SLIC_activateLogger_bufferify(char *name, int SHT_name_len) { - // splicer begin function.activate_logger_bufferify - const std::string SHCXX_name(name, Lname); + // splicer begin function.activateLogger_bufferify + const std::string SHCXX_name(name, ShroudLenTrim(name, SHT_name_len)); bool SHC_rv = axom::slic::activateLogger(SHCXX_name); return SHC_rv; - // splicer end function.activate_logger_bufferify + // splicer end function.activateLogger_bufferify } -void SLIC_get_active_logger_name_bufferify(char *name, int Nname) +void SLIC_getActiveLoggerName_bufferify(char *name, int SHT_name_len) { - // splicer begin function.get_active_logger_name_bufferify + // splicer begin function.getActiveLoggerName_bufferify std::string SHCXX_rv = axom::slic::getActiveLoggerName(); if(SHCXX_rv.empty()) { - ShroudStrCopy(name, Nname, nullptr, 0); + ShroudStrCopy(name, SHT_name_len, nullptr, 0); } else { - ShroudStrCopy(name, Nname, SHCXX_rv.data(), SHCXX_rv.size()); + ShroudStrCopy(name, SHT_name_len, SHCXX_rv.data(), SHCXX_rv.size()); } - // splicer end function.get_active_logger_name_bufferify + // splicer end function.getActiveLoggerName_bufferify } -int SLIC_get_logging_msg_level(void) +int SLIC_getLoggingMsgLevel(void) { - // splicer begin function.get_logging_msg_level + // splicer begin function.getLoggingMsgLevel axom::slic::message::Level SHCXX_rv = axom::slic::getLoggingMsgLevel(); int SHC_rv = static_cast<int>(SHCXX_rv); return SHC_rv; - // splicer end function.get_logging_msg_level + // splicer end function.getLoggingMsgLevel } -void SLIC_set_logging_msg_level(int level) +void SLIC_setLoggingMsgLevel(int level) { - // splicer begin function.set_logging_msg_level + // splicer begin function.setLoggingMsgLevel axom::slic::message::Level SHCXX_level = static_cast<axom::slic::message::Level>(level); axom::slic::setLoggingMsgLevel(SHCXX_level); - // splicer end function.set_logging_msg_level + // splicer end function.setLoggingMsgLevel } -void SLIC_add_stream_to_msg_level(SLIC_GenericOutputStream *ls, int level) +void SLIC_addStreamToMsgLevel(SLIC_GenericOutputStream *ls, int level) { - // splicer begin function.add_stream_to_msg_level + // splicer begin function.addStreamToMsgLevel axom::slic::GenericOutputStream *SHCXX_ls = static_cast<axom::slic::GenericOutputStream *>(ls->addr); axom::slic::message::Level SHCXX_level = static_cast<axom::slic::message::Level>(level); axom::slic::addStreamToMsgLevel(SHCXX_ls, SHCXX_level); - // splicer end function.add_stream_to_msg_level + // splicer end function.addStreamToMsgLevel } -void SLIC_add_stream_to_all_msg_levels(SLIC_GenericOutputStream *ls) +void SLIC_addStreamToAllMsgLevels(SLIC_GenericOutputStream *ls) { - // splicer begin function.add_stream_to_all_msg_levels + // splicer begin function.addStreamToAllMsgLevels axom::slic::GenericOutputStream *SHCXX_ls = static_cast<axom::slic::GenericOutputStream *>(ls->addr); axom::slic::addStreamToAllMsgLevels(SHCXX_ls); - // splicer end function.add_stream_to_all_msg_levels + // splicer end function.addStreamToAllMsgLevels } -void SLIC_set_abort_on_error(bool status) +void SLIC_setAbortOnError(bool status) { - // splicer begin function.set_abort_on_error + // splicer begin function.setAbortOnError axom::slic::setAbortOnError(status); - // splicer end function.set_abort_on_error + // splicer end function.setAbortOnError } -void SLIC_enable_abort_on_error(void) +void SLIC_enableAbortOnError(void) { - // splicer begin function.enable_abort_on_error + // splicer begin function.enableAbortOnError axom::slic::enableAbortOnError(); - // splicer end function.enable_abort_on_error + // splicer end function.enableAbortOnError } -void SLIC_disable_abort_on_error(void) +void SLIC_disableAbortOnError(void) { - // splicer begin function.disable_abort_on_error + // splicer begin function.disableAbortOnError axom::slic::disableAbortOnError(); - // splicer end function.disable_abort_on_error + // splicer end function.disableAbortOnError } -bool SLIC_is_abort_on_errors_enabled(void) +bool SLIC_isAbortOnErrorsEnabled(void) { - // splicer begin function.is_abort_on_errors_enabled + // splicer begin function.isAbortOnErrorsEnabled bool SHC_rv = axom::slic::isAbortOnErrorsEnabled(); return SHC_rv; - // splicer end function.is_abort_on_errors_enabled + // splicer end function.isAbortOnErrorsEnabled } -void SLIC_set_abort_on_warning(bool status) +void SLIC_setAbortOnWarning(bool status) { - // splicer begin function.set_abort_on_warning + // splicer begin function.setAbortOnWarning axom::slic::setAbortOnWarning(status); - // splicer end function.set_abort_on_warning + // splicer end function.setAbortOnWarning } -void SLIC_enable_abort_on_warning(void) +void SLIC_enableAbortOnWarning(void) { - // splicer begin function.enable_abort_on_warning + // splicer begin function.enableAbortOnWarning axom::slic::enableAbortOnWarning(); - // splicer end function.enable_abort_on_warning + // splicer end function.enableAbortOnWarning } -void SLIC_disable_abort_on_warning(void) +void SLIC_disableAbortOnWarning(void) { - // splicer begin function.disable_abort_on_warning + // splicer begin function.disableAbortOnWarning axom::slic::disableAbortOnWarning(); - // splicer end function.disable_abort_on_warning + // splicer end function.disableAbortOnWarning } -bool SLIC_is_abort_on_warnings_enabled(void) +bool SLIC_isAbortOnWarningsEnabled(void) { - // splicer begin function.is_abort_on_warnings_enabled + // splicer begin function.isAbortOnWarningsEnabled bool SHC_rv = axom::slic::isAbortOnWarningsEnabled(); return SHC_rv; - // splicer end function.is_abort_on_warnings_enabled + // splicer end function.isAbortOnWarningsEnabled } -void SLIC_log_message_file_line(int level, - const char *message, - const char *fileName, - int line) +void SLIC_logMessage_file_line(int level, + const char *message, + const char *fileName, + int line) { - // splicer begin function.log_message_file_line + // splicer begin function.logMessage_file_line axom::slic::message::Level SHCXX_level = static_cast<axom::slic::message::Level>(level); const std::string SHCXX_message(message); const std::string SHCXX_fileName(fileName); axom::slic::logMessage(SHCXX_level, SHCXX_message, SHCXX_fileName, line); - // splicer end function.log_message_file_line + // splicer end function.logMessage_file_line } -void SLIC_log_message_file_line_bufferify(int level, - const char *message, - int Lmessage, - const char *fileName, - int LfileName, - int line) +void SLIC_logMessage_file_line_bufferify(int level, + char *message, + int SHT_message_len, + char *fileName, + int SHT_fileName_len, + int line) { - // splicer begin function.log_message_file_line_bufferify + // splicer begin function.logMessage_file_line_bufferify axom::slic::message::Level SHCXX_level = static_cast<axom::slic::message::Level>(level); - const std::string SHCXX_message(message, Lmessage); - const std::string SHCXX_fileName(fileName, LfileName); + const std::string SHCXX_message(message, + ShroudLenTrim(message, SHT_message_len)); + const std::string SHCXX_fileName(fileName, + ShroudLenTrim(fileName, SHT_fileName_len)); axom::slic::logMessage(SHCXX_level, SHCXX_message, SHCXX_fileName, line); - // splicer end function.log_message_file_line_bufferify + // splicer end function.logMessage_file_line_bufferify } -void SLIC_log_message_file_line_filter(int level, - const char *message, - const char *fileName, - int line, - bool filter_duplicates) +void SLIC_logMessage_file_line_filter(int level, + const char *message, + const char *fileName, + int line, + bool filter_duplicates) { - // splicer begin function.log_message_file_line_filter + // splicer begin function.logMessage_file_line_filter axom::slic::message::Level SHCXX_level = static_cast<axom::slic::message::Level>(level); const std::string SHCXX_message(message); @@ -251,78 +264,82 @@ void SLIC_log_message_file_line_filter(int level, SHCXX_fileName, line, filter_duplicates); - // splicer end function.log_message_file_line_filter + // splicer end function.logMessage_file_line_filter } -void SLIC_log_message_file_line_filter_bufferify(int level, - const char *message, - int Lmessage, - const char *fileName, - int LfileName, - int line, - bool filter_duplicates) +void SLIC_logMessage_file_line_filter_bufferify(int level, + char *message, + int SHT_message_len, + char *fileName, + int SHT_fileName_len, + int line, + bool filter_duplicates) { - // splicer begin function.log_message_file_line_filter_bufferify + // splicer begin function.logMessage_file_line_filter_bufferify axom::slic::message::Level SHCXX_level = static_cast<axom::slic::message::Level>(level); - const std::string SHCXX_message(message, Lmessage); - const std::string SHCXX_fileName(fileName, LfileName); + const std::string SHCXX_message(message, + ShroudLenTrim(message, SHT_message_len)); + const std::string SHCXX_fileName(fileName, + ShroudLenTrim(fileName, SHT_fileName_len)); axom::slic::logMessage(SHCXX_level, SHCXX_message, SHCXX_fileName, line, filter_duplicates); - // splicer end function.log_message_file_line_filter_bufferify + // splicer end function.logMessage_file_line_filter_bufferify } -void SLIC_log_message(int level, const char *message) +void SLIC_logMessage(int level, const char *message) { - // splicer begin function.log_message + // splicer begin function.logMessage axom::slic::message::Level SHCXX_level = static_cast<axom::slic::message::Level>(level); const std::string SHCXX_message(message); axom::slic::logMessage(SHCXX_level, SHCXX_message); - // splicer end function.log_message + // splicer end function.logMessage } -void SLIC_log_message_bufferify(int level, const char *message, int Lmessage) +void SLIC_logMessage_bufferify(int level, char *message, int SHT_message_len) { - // splicer begin function.log_message_bufferify + // splicer begin function.logMessage_bufferify axom::slic::message::Level SHCXX_level = static_cast<axom::slic::message::Level>(level); - const std::string SHCXX_message(message, Lmessage); + const std::string SHCXX_message(message, + ShroudLenTrim(message, SHT_message_len)); axom::slic::logMessage(SHCXX_level, SHCXX_message); - // splicer end function.log_message_bufferify + // splicer end function.logMessage_bufferify } -void SLIC_log_message_filter(int level, const char *message, bool filter_duplicates) +void SLIC_logMessage_filter(int level, const char *message, bool filter_duplicates) { - // splicer begin function.log_message_filter + // splicer begin function.logMessage_filter axom::slic::message::Level SHCXX_level = static_cast<axom::slic::message::Level>(level); const std::string SHCXX_message(message); axom::slic::logMessage(SHCXX_level, SHCXX_message, filter_duplicates); - // splicer end function.log_message_filter + // splicer end function.logMessage_filter } -void SLIC_log_message_filter_bufferify(int level, - const char *message, - int Lmessage, - bool filter_duplicates) +void SLIC_logMessage_filter_bufferify(int level, + char *message, + int SHT_message_len, + bool filter_duplicates) { - // splicer begin function.log_message_filter_bufferify + // splicer begin function.logMessage_filter_bufferify axom::slic::message::Level SHCXX_level = static_cast<axom::slic::message::Level>(level); - const std::string SHCXX_message(message, Lmessage); + const std::string SHCXX_message(message, + ShroudLenTrim(message, SHT_message_len)); axom::slic::logMessage(SHCXX_level, SHCXX_message, filter_duplicates); - // splicer end function.log_message_filter_bufferify + // splicer end function.logMessage_filter_bufferify } -void SLIC_flush_streams(void) +void SLIC_flushStreams(void) { - // splicer begin function.flush_streams + // splicer begin function.flushStreams axom::slic::flushStreams(); - // splicer end function.flush_streams + // splicer end function.flushStreams } void SLIC_finalize(void) @@ -332,32 +349,4 @@ void SLIC_finalize(void) // splicer end function.finalize } -// Release library allocated memory. -void SLIC_SHROUD_memory_destructor(SLIC_SHROUD_capsule_data *cap) -{ - void *ptr = cap->addr; - switch(cap->idtor) - { - case 0: // --none-- - { - // Nothing to delete - break; - } - case 1: // axom::slic::GenericOutputStream - { - axom::slic::GenericOutputStream *cxx_ptr = - reinterpret_cast<axom::slic::GenericOutputStream *>(ptr); - delete cxx_ptr; - break; - } - default: - { - // Unexpected case in destructor - break; - } - } - cap->addr = nullptr; - cap->idtor = 0; // avoid deleting again -} - } // extern "C" diff --git a/src/axom/slic/interface/c_fortran/wrapSLIC.h b/src/axom/slic/interface/c_fortran/wrapSLIC.h index 36b0ce6697..d5a98179ce 100644 --- a/src/axom/slic/interface/c_fortran/wrapSLIC.h +++ b/src/axom/slic/interface/c_fortran/wrapSLIC.h @@ -1,5 +1,5 @@ // wrapSLIC.h -// This file is generated by Shroud 0.12.2. Do not edit. +// This file is generated by Shroud 0.13.0. Do not edit. // // Copyright (c) 2017-2024, Lawrence Livermore National Security, LLC and // other Axom Project Developers. See the top-level LICENSE file for details. @@ -14,10 +14,10 @@ #ifndef WRAPSLIC_H #define WRAPSLIC_H -#include "typesSLIC.h" #ifndef __cplusplus #include <stdbool.h> #endif +#include "typesSLIC.h" // splicer begin CXX_declarations // splicer end CXX_declarations @@ -41,82 +41,80 @@ enum SLIC_message_Level void SLIC_initialize(void); -bool SLIC_is_initialized(void); +bool SLIC_isInitialized(void); -void SLIC_create_logger(const char* name, char imask); +void SLIC_createLogger(const char *name, char imask); -void SLIC_create_logger_bufferify(const char* name, int Lname, char imask); +void SLIC_createLogger_bufferify(char *name, int SHT_name_len, char imask); -bool SLIC_activate_logger(const char* name); +bool SLIC_activateLogger(const char *name); -bool SLIC_activate_logger_bufferify(const char* name, int Lname); +bool SLIC_activateLogger_bufferify(char *name, int SHT_name_len); -void SLIC_get_active_logger_name_bufferify(char* name, int Nname); +void SLIC_getActiveLoggerName_bufferify(char *name, int SHT_name_len); -int SLIC_get_logging_msg_level(void); +int SLIC_getLoggingMsgLevel(void); -void SLIC_set_logging_msg_level(int level); +void SLIC_setLoggingMsgLevel(int level); -void SLIC_add_stream_to_msg_level(SLIC_GenericOutputStream* ls, int level); +void SLIC_addStreamToMsgLevel(SLIC_GenericOutputStream *ls, int level); -void SLIC_add_stream_to_all_msg_levels(SLIC_GenericOutputStream* ls); +void SLIC_addStreamToAllMsgLevels(SLIC_GenericOutputStream *ls); -void SLIC_set_abort_on_error(bool status); +void SLIC_setAbortOnError(bool status); -void SLIC_enable_abort_on_error(void); +void SLIC_enableAbortOnError(void); -void SLIC_disable_abort_on_error(void); +void SLIC_disableAbortOnError(void); -bool SLIC_is_abort_on_errors_enabled(void); +bool SLIC_isAbortOnErrorsEnabled(void); -void SLIC_set_abort_on_warning(bool status); +void SLIC_setAbortOnWarning(bool status); -void SLIC_enable_abort_on_warning(void); +void SLIC_enableAbortOnWarning(void); -void SLIC_disable_abort_on_warning(void); +void SLIC_disableAbortOnWarning(void); -bool SLIC_is_abort_on_warnings_enabled(void); +bool SLIC_isAbortOnWarningsEnabled(void); -void SLIC_log_message_file_line(int level, - const char* message, - const char* fileName, - int line); +void SLIC_logMessage_file_line(int level, + const char *message, + const char *fileName, + int line); -void SLIC_log_message_file_line_bufferify(int level, - const char* message, - int Lmessage, - const char* fileName, - int LfileName, - int line); +void SLIC_logMessage_file_line_bufferify(int level, + char *message, + int SHT_message_len, + char *fileName, + int SHT_fileName_len, + int line); -void SLIC_log_message_file_line_filter(int level, - const char* message, - const char* fileName, - int line, - bool filter_duplicates); +void SLIC_logMessage_file_line_filter(int level, + const char *message, + const char *fileName, + int line, + bool filter_duplicates); -void SLIC_log_message_file_line_filter_bufferify(int level, - const char* message, - int Lmessage, - const char* fileName, - int LfileName, - int line, - bool filter_duplicates); +void SLIC_logMessage_file_line_filter_bufferify(int level, + char *message, + int SHT_message_len, + char *fileName, + int SHT_fileName_len, + int line, + bool filter_duplicates); -void SLIC_log_message(int level, const char* message); +void SLIC_logMessage(int level, const char *message); -void SLIC_log_message_bufferify(int level, const char* message, int Lmessage); +void SLIC_logMessage_bufferify(int level, char *message, int SHT_message_len); -void SLIC_log_message_filter(int level, - const char* message, - bool filter_duplicates); +void SLIC_logMessage_filter(int level, const char *message, bool filter_duplicates); -void SLIC_log_message_filter_bufferify(int level, - const char* message, - int Lmessage, - bool filter_duplicates); +void SLIC_logMessage_filter_bufferify(int level, + char *message, + int SHT_message_len, + bool filter_duplicates); -void SLIC_flush_streams(void); +void SLIC_flushStreams(void); void SLIC_finalize(void); diff --git a/src/axom/slic/interface/c_fortran/wrapfslic.f b/src/axom/slic/interface/c_fortran/wrapfslic.f index 936dbae4c0..94fddd1762 100644 --- a/src/axom/slic/interface/c_fortran/wrapfslic.f +++ b/src/axom/slic/interface/c_fortran/wrapfslic.f @@ -1,5 +1,5 @@ ! wrapfslic.f -! This file is generated by Shroud 0.12.2. Do not edit. +! This file is generated by Shroud 0.13.0. Do not edit. ! ! Copyright (c) 2017-2024, Lawrence Livermore National Security, LLC and ! other Axom Project Developers. See the top-level LICENSE file for details. @@ -20,6 +20,12 @@ module axom_slic ! splicer begin module_top ! splicer end module_top + ! helper capsule_data_helper + type, bind(C) :: SLIC_SHROUD_capsule_data + type(C_PTR) :: addr = C_NULL_PTR ! address of C++ memory + integer(C_INT) :: idtor = 0 ! index of destructor + end type SLIC_SHROUD_capsule_data + ! enum axom::slic::message::Level integer(C_INT), parameter :: message_error = 0 integer(C_INT), parameter :: message_warning = 1 @@ -27,95 +33,87 @@ module axom_slic integer(C_INT), parameter :: message_debug = 3 integer(C_INT), parameter :: message_num_levels = 4 - type, bind(C) :: SLIC_SHROUD_genericoutputstream_capsule - type(C_PTR) :: addr = C_NULL_PTR ! address of C++ memory - integer(C_INT) :: idtor = 0 ! index of destructor - end type SLIC_SHROUD_genericoutputstream_capsule - type SlicGenericOutputStream - type(SLIC_SHROUD_genericoutputstream_capsule) :: cxxmem + type(SLIC_SHROUD_capsule_data) :: cxxmem ! splicer begin class.GenericOutputStream.component_part ! splicer end class.GenericOutputStream.component_part contains - procedure :: delete => slic_genericoutputstream_delete - procedure :: get_instance => slic_genericoutputstream_get_instance - procedure :: set_instance => slic_genericoutputstream_set_instance - procedure :: associated => slic_genericoutputstream_associated + procedure :: delete => slic_generic_output_stream_delete + procedure :: get_instance => slic_generic_output_stream_get_instance + procedure :: set_instance => slic_generic_output_stream_set_instance + procedure :: associated => slic_generic_output_stream_associated ! splicer begin class.GenericOutputStream.type_bound_procedure_part ! splicer end class.GenericOutputStream.type_bound_procedure_part end type SlicGenericOutputStream interface operator (.eq.) - module procedure genericoutputstream_eq + module procedure generic_output_stream_eq end interface interface operator (.ne.) - module procedure genericoutputstream_ne + module procedure generic_output_stream_ne end interface interface - function c_genericoutputstream_ctor_default(stream, SHT_crv) & - result(SHT_rv) & + function c_generic_output_stream_ctor_default(stream, SHT_rv) & + result(SHT_prv) & bind(C, name="SLIC_GenericOutputStream_ctor_default") use iso_c_binding, only : C_CHAR, C_PTR - import :: SLIC_SHROUD_genericoutputstream_capsule + import :: SLIC_SHROUD_capsule_data implicit none character(kind=C_CHAR), intent(IN) :: stream(*) - type(SLIC_SHROUD_genericoutputstream_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv - end function c_genericoutputstream_ctor_default + type(SLIC_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) SHT_prv + end function c_generic_output_stream_ctor_default - function c_genericoutputstream_ctor_default_bufferify(stream, & - Lstream, SHT_crv) & - result(SHT_rv) & + function c_generic_output_stream_ctor_default_bufferify(stream, & + SHT_stream_len, SHT_rv) & + result(SHT_prv) & bind(C, name="SLIC_GenericOutputStream_ctor_default_bufferify") use iso_c_binding, only : C_CHAR, C_INT, C_PTR - import :: SLIC_SHROUD_genericoutputstream_capsule + import :: SLIC_SHROUD_capsule_data implicit none character(kind=C_CHAR), intent(IN) :: stream(*) - integer(C_INT), value, intent(IN) :: Lstream - type(SLIC_SHROUD_genericoutputstream_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv - end function c_genericoutputstream_ctor_default_bufferify - - function c_genericoutputstream_ctor_format(stream, format, & - SHT_crv) & - result(SHT_rv) & + integer(C_INT), value, intent(IN) :: SHT_stream_len + type(SLIC_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) SHT_prv + end function c_generic_output_stream_ctor_default_bufferify + + function c_generic_output_stream_ctor_format(stream, format, & + SHT_rv) & + result(SHT_prv) & bind(C, name="SLIC_GenericOutputStream_ctor_format") use iso_c_binding, only : C_CHAR, C_PTR - import :: SLIC_SHROUD_genericoutputstream_capsule + import :: SLIC_SHROUD_capsule_data implicit none character(kind=C_CHAR), intent(IN) :: stream(*) character(kind=C_CHAR), intent(IN) :: format(*) - type(SLIC_SHROUD_genericoutputstream_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv - end function c_genericoutputstream_ctor_format + type(SLIC_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) SHT_prv + end function c_generic_output_stream_ctor_format - function c_genericoutputstream_ctor_format_bufferify(stream, & - Lstream, format, Lformat, SHT_crv) & - result(SHT_rv) & + function c_generic_output_stream_ctor_format_bufferify(stream, & + SHT_stream_len, format, SHT_format_len, SHT_rv) & + result(SHT_prv) & bind(C, name="SLIC_GenericOutputStream_ctor_format_bufferify") use iso_c_binding, only : C_CHAR, C_INT, C_PTR - import :: SLIC_SHROUD_genericoutputstream_capsule + import :: SLIC_SHROUD_capsule_data implicit none character(kind=C_CHAR), intent(IN) :: stream(*) - integer(C_INT), value, intent(IN) :: Lstream + integer(C_INT), value, intent(IN) :: SHT_stream_len character(kind=C_CHAR), intent(IN) :: format(*) - integer(C_INT), value, intent(IN) :: Lformat - type(SLIC_SHROUD_genericoutputstream_capsule), intent(OUT) :: SHT_crv - type(C_PTR) SHT_rv - end function c_genericoutputstream_ctor_format_bufferify + integer(C_INT), value, intent(IN) :: SHT_format_len + type(SLIC_SHROUD_capsule_data), intent(OUT) :: SHT_rv + type(C_PTR) SHT_prv + end function c_generic_output_stream_ctor_format_bufferify - subroutine c_genericoutputstream_delete(self) & + subroutine c_generic_output_stream_delete(self) & bind(C, name="SLIC_GenericOutputStream_delete") - import :: SLIC_SHROUD_genericoutputstream_capsule + import :: SLIC_SHROUD_capsule_data implicit none - type(SLIC_SHROUD_genericoutputstream_capsule), intent(IN) :: self - end subroutine c_genericoutputstream_delete - - ! splicer begin class.GenericOutputStream.additional_interfaces - ! splicer end class.GenericOutputStream.additional_interfaces + type(SLIC_SHROUD_capsule_data), intent(INOUT) :: self + end subroutine c_generic_output_stream_delete subroutine slic_initialize() & bind(C, name="SLIC_initialize") @@ -124,132 +122,133 @@ end subroutine slic_initialize function c_is_initialized() & result(SHT_rv) & - bind(C, name="SLIC_is_initialized") + bind(C, name="SLIC_isInitialized") use iso_c_binding, only : C_BOOL implicit none logical(C_BOOL) :: SHT_rv end function c_is_initialized subroutine c_create_logger(name, imask) & - bind(C, name="SLIC_create_logger") + bind(C, name="SLIC_createLogger") use iso_c_binding, only : C_CHAR implicit none character(kind=C_CHAR), intent(IN) :: name(*) character(kind=C_CHAR), value, intent(IN) :: imask end subroutine c_create_logger - subroutine c_create_logger_bufferify(name, Lname, imask) & - bind(C, name="SLIC_create_logger_bufferify") + subroutine c_create_logger_bufferify(name, SHT_name_len, imask) & + bind(C, name="SLIC_createLogger_bufferify") use iso_c_binding, only : C_CHAR, C_INT implicit none character(kind=C_CHAR), intent(IN) :: name(*) - integer(C_INT), value, intent(IN) :: Lname + integer(C_INT), value, intent(IN) :: SHT_name_len character(kind=C_CHAR), value, intent(IN) :: imask end subroutine c_create_logger_bufferify function c_activate_logger(name) & result(SHT_rv) & - bind(C, name="SLIC_activate_logger") + bind(C, name="SLIC_activateLogger") use iso_c_binding, only : C_BOOL, C_CHAR implicit none character(kind=C_CHAR), intent(IN) :: name(*) logical(C_BOOL) :: SHT_rv end function c_activate_logger - function c_activate_logger_bufferify(name, Lname) & + function c_activate_logger_bufferify(name, SHT_name_len) & result(SHT_rv) & - bind(C, name="SLIC_activate_logger_bufferify") + bind(C, name="SLIC_activateLogger_bufferify") use iso_c_binding, only : C_BOOL, C_CHAR, C_INT implicit none character(kind=C_CHAR), intent(IN) :: name(*) - integer(C_INT), value, intent(IN) :: Lname + integer(C_INT), value, intent(IN) :: SHT_name_len logical(C_BOOL) :: SHT_rv end function c_activate_logger_bufferify - subroutine c_get_active_logger_name_bufferify(name, Nname) & - bind(C, name="SLIC_get_active_logger_name_bufferify") + subroutine c_get_active_logger_name_bufferify(name, & + SHT_name_len) & + bind(C, name="SLIC_getActiveLoggerName_bufferify") use iso_c_binding, only : C_CHAR, C_INT implicit none character(kind=C_CHAR), intent(OUT) :: name(*) - integer(C_INT), value, intent(IN) :: Nname + integer(C_INT), value, intent(IN) :: SHT_name_len end subroutine c_get_active_logger_name_bufferify function slic_get_logging_msg_level() & result(SHT_rv) & - bind(C, name="SLIC_get_logging_msg_level") + bind(C, name="SLIC_getLoggingMsgLevel") use iso_c_binding, only : C_INT implicit none integer(C_INT) :: SHT_rv end function slic_get_logging_msg_level subroutine slic_set_logging_msg_level(level) & - bind(C, name="SLIC_set_logging_msg_level") + bind(C, name="SLIC_setLoggingMsgLevel") use iso_c_binding, only : C_INT implicit none integer(C_INT), value, intent(IN) :: level end subroutine slic_set_logging_msg_level subroutine c_add_stream_to_msg_level(ls, level) & - bind(C, name="SLIC_add_stream_to_msg_level") + bind(C, name="SLIC_addStreamToMsgLevel") use iso_c_binding, only : C_INT - import :: SLIC_SHROUD_genericoutputstream_capsule + import :: SLIC_SHROUD_capsule_data implicit none - type(SLIC_SHROUD_genericoutputstream_capsule), intent(INOUT) :: ls + type(SLIC_SHROUD_capsule_data), intent(INOUT) :: ls integer(C_INT), value, intent(IN) :: level end subroutine c_add_stream_to_msg_level subroutine c_add_stream_to_all_msg_levels(ls) & - bind(C, name="SLIC_add_stream_to_all_msg_levels") - import :: SLIC_SHROUD_genericoutputstream_capsule + bind(C, name="SLIC_addStreamToAllMsgLevels") + import :: SLIC_SHROUD_capsule_data implicit none - type(SLIC_SHROUD_genericoutputstream_capsule), intent(INOUT) :: ls + type(SLIC_SHROUD_capsule_data), intent(INOUT) :: ls end subroutine c_add_stream_to_all_msg_levels subroutine c_set_abort_on_error(status) & - bind(C, name="SLIC_set_abort_on_error") + bind(C, name="SLIC_setAbortOnError") use iso_c_binding, only : C_BOOL implicit none logical(C_BOOL), value, intent(IN) :: status end subroutine c_set_abort_on_error subroutine slic_enable_abort_on_error() & - bind(C, name="SLIC_enable_abort_on_error") + bind(C, name="SLIC_enableAbortOnError") implicit none end subroutine slic_enable_abort_on_error subroutine slic_disable_abort_on_error() & - bind(C, name="SLIC_disable_abort_on_error") + bind(C, name="SLIC_disableAbortOnError") implicit none end subroutine slic_disable_abort_on_error function c_is_abort_on_errors_enabled() & result(SHT_rv) & - bind(C, name="SLIC_is_abort_on_errors_enabled") + bind(C, name="SLIC_isAbortOnErrorsEnabled") use iso_c_binding, only : C_BOOL implicit none logical(C_BOOL) :: SHT_rv end function c_is_abort_on_errors_enabled subroutine c_set_abort_on_warning(status) & - bind(C, name="SLIC_set_abort_on_warning") + bind(C, name="SLIC_setAbortOnWarning") use iso_c_binding, only : C_BOOL implicit none logical(C_BOOL), value, intent(IN) :: status end subroutine c_set_abort_on_warning subroutine slic_enable_abort_on_warning() & - bind(C, name="SLIC_enable_abort_on_warning") + bind(C, name="SLIC_enableAbortOnWarning") implicit none end subroutine slic_enable_abort_on_warning subroutine slic_disable_abort_on_warning() & - bind(C, name="SLIC_disable_abort_on_warning") + bind(C, name="SLIC_disableAbortOnWarning") implicit none end subroutine slic_disable_abort_on_warning function c_is_abort_on_warnings_enabled() & result(SHT_rv) & - bind(C, name="SLIC_is_abort_on_warnings_enabled") + bind(C, name="SLIC_isAbortOnWarningsEnabled") use iso_c_binding, only : C_BOOL implicit none logical(C_BOOL) :: SHT_rv @@ -257,7 +256,7 @@ end function c_is_abort_on_warnings_enabled subroutine c_log_message_file_line(level, message, fileName, & line) & - bind(C, name="SLIC_log_message_file_line") + bind(C, name="SLIC_logMessage_file_line") use iso_c_binding, only : C_CHAR, C_INT implicit none integer(C_INT), value, intent(IN) :: level @@ -267,21 +266,21 @@ subroutine c_log_message_file_line(level, message, fileName, & end subroutine c_log_message_file_line subroutine c_log_message_file_line_bufferify(level, message, & - Lmessage, fileName, LfileName, line) & - bind(C, name="SLIC_log_message_file_line_bufferify") + SHT_message_len, fileName, SHT_fileName_len, line) & + bind(C, name="SLIC_logMessage_file_line_bufferify") use iso_c_binding, only : C_CHAR, C_INT implicit none integer(C_INT), value, intent(IN) :: level character(kind=C_CHAR), intent(IN) :: message(*) - integer(C_INT), value, intent(IN) :: Lmessage + integer(C_INT), value, intent(IN) :: SHT_message_len character(kind=C_CHAR), intent(IN) :: fileName(*) - integer(C_INT), value, intent(IN) :: LfileName + integer(C_INT), value, intent(IN) :: SHT_fileName_len integer(C_INT), value, intent(IN) :: line end subroutine c_log_message_file_line_bufferify subroutine c_log_message_file_line_filter(level, message, & fileName, line, filter_duplicates) & - bind(C, name="SLIC_log_message_file_line_filter") + bind(C, name="SLIC_logMessage_file_line_filter") use iso_c_binding, only : C_BOOL, C_CHAR, C_INT implicit none integer(C_INT), value, intent(IN) :: level @@ -292,40 +291,41 @@ subroutine c_log_message_file_line_filter(level, message, & end subroutine c_log_message_file_line_filter subroutine c_log_message_file_line_filter_bufferify(level, & - message, Lmessage, fileName, LfileName, line, & - filter_duplicates) & - bind(C, name="SLIC_log_message_file_line_filter_bufferify") + message, SHT_message_len, fileName, SHT_fileName_len, & + line, filter_duplicates) & + bind(C, name="SLIC_logMessage_file_line_filter_bufferify") use iso_c_binding, only : C_BOOL, C_CHAR, C_INT implicit none integer(C_INT), value, intent(IN) :: level character(kind=C_CHAR), intent(IN) :: message(*) - integer(C_INT), value, intent(IN) :: Lmessage + integer(C_INT), value, intent(IN) :: SHT_message_len character(kind=C_CHAR), intent(IN) :: fileName(*) - integer(C_INT), value, intent(IN) :: LfileName + integer(C_INT), value, intent(IN) :: SHT_fileName_len integer(C_INT), value, intent(IN) :: line logical(C_BOOL), value, intent(IN) :: filter_duplicates end subroutine c_log_message_file_line_filter_bufferify subroutine c_log_message(level, message) & - bind(C, name="SLIC_log_message") + bind(C, name="SLIC_logMessage") use iso_c_binding, only : C_CHAR, C_INT implicit none integer(C_INT), value, intent(IN) :: level character(kind=C_CHAR), intent(IN) :: message(*) end subroutine c_log_message - subroutine c_log_message_bufferify(level, message, Lmessage) & - bind(C, name="SLIC_log_message_bufferify") + subroutine c_log_message_bufferify(level, message, & + SHT_message_len) & + bind(C, name="SLIC_logMessage_bufferify") use iso_c_binding, only : C_CHAR, C_INT implicit none integer(C_INT), value, intent(IN) :: level character(kind=C_CHAR), intent(IN) :: message(*) - integer(C_INT), value, intent(IN) :: Lmessage + integer(C_INT), value, intent(IN) :: SHT_message_len end subroutine c_log_message_bufferify subroutine c_log_message_filter(level, message, & filter_duplicates) & - bind(C, name="SLIC_log_message_filter") + bind(C, name="SLIC_logMessage_filter") use iso_c_binding, only : C_BOOL, C_CHAR, C_INT implicit none integer(C_INT), value, intent(IN) :: level @@ -334,18 +334,18 @@ subroutine c_log_message_filter(level, message, & end subroutine c_log_message_filter subroutine c_log_message_filter_bufferify(level, message, & - Lmessage, filter_duplicates) & - bind(C, name="SLIC_log_message_filter_bufferify") + SHT_message_len, filter_duplicates) & + bind(C, name="SLIC_logMessage_filter_bufferify") use iso_c_binding, only : C_BOOL, C_CHAR, C_INT implicit none integer(C_INT), value, intent(IN) :: level character(kind=C_CHAR), intent(IN) :: message(*) - integer(C_INT), value, intent(IN) :: Lmessage + integer(C_INT), value, intent(IN) :: SHT_message_len logical(C_BOOL), value, intent(IN) :: filter_duplicates end subroutine c_log_message_filter_bufferify subroutine slic_flush_streams() & - bind(C, name="SLIC_flush_streams") + bind(C, name="SLIC_flushStreams") implicit none end subroutine slic_flush_streams @@ -353,14 +353,11 @@ subroutine slic_finalize() & bind(C, name="SLIC_finalize") implicit none end subroutine slic_finalize - - ! splicer begin additional_interfaces - ! splicer end additional_interfaces end interface interface SlicGenericOutputStream - module procedure slic_genericoutputstream_ctor_default - module procedure slic_genericoutputstream_ctor_format + module procedure slic_generic_output_stream_ctor_default + module procedure slic_generic_output_stream_ctor_format end interface SlicGenericOutputStream interface log_message @@ -370,63 +367,71 @@ end subroutine slic_finalize module procedure slic_log_message_filter end interface log_message + ! splicer begin additional_declarations + ! splicer end additional_declarations + contains - function slic_genericoutputstream_ctor_default(stream) & + function slic_generic_output_stream_ctor_default(stream) & result(SHT_rv) use iso_c_binding, only : C_INT, C_PTR character(len=*), intent(IN) :: stream type(SlicGenericOutputStream) :: SHT_rv - ! splicer begin class.GenericOutputStream.method.ctor_default type(C_PTR) :: SHT_prv - SHT_prv = c_genericoutputstream_ctor_default_bufferify(stream, & - len_trim(stream, kind=C_INT), SHT_rv%cxxmem) + ! splicer begin class.GenericOutputStream.method.ctor_default + integer(C_INT) SHT_stream_len + SHT_stream_len = len(stream, kind=C_INT) + SHT_prv = c_generic_output_stream_ctor_default_bufferify(stream, & + SHT_stream_len, SHT_rv%cxxmem) ! splicer end class.GenericOutputStream.method.ctor_default - end function slic_genericoutputstream_ctor_default + end function slic_generic_output_stream_ctor_default - function slic_genericoutputstream_ctor_format(stream, format) & + function slic_generic_output_stream_ctor_format(stream, format) & result(SHT_rv) use iso_c_binding, only : C_INT, C_PTR character(len=*), intent(IN) :: stream character(len=*), intent(IN) :: format type(SlicGenericOutputStream) :: SHT_rv - ! splicer begin class.GenericOutputStream.method.ctor_format type(C_PTR) :: SHT_prv - SHT_prv = c_genericoutputstream_ctor_format_bufferify(stream, & - len_trim(stream, kind=C_INT), format, & - len_trim(format, kind=C_INT), SHT_rv%cxxmem) + ! splicer begin class.GenericOutputStream.method.ctor_format + integer(C_INT) SHT_stream_len + integer(C_INT) SHT_format_len + SHT_stream_len = len(stream, kind=C_INT) + SHT_format_len = len(format, kind=C_INT) + SHT_prv = c_generic_output_stream_ctor_format_bufferify(stream, & + SHT_stream_len, format, SHT_format_len, SHT_rv%cxxmem) ! splicer end class.GenericOutputStream.method.ctor_format - end function slic_genericoutputstream_ctor_format + end function slic_generic_output_stream_ctor_format - subroutine slic_genericoutputstream_delete(obj) + subroutine slic_generic_output_stream_delete(obj) class(SlicGenericOutputStream) :: obj ! splicer begin class.GenericOutputStream.method.delete - call c_genericoutputstream_delete(obj%cxxmem) + call c_generic_output_stream_delete(obj%cxxmem) ! splicer end class.GenericOutputStream.method.delete - end subroutine slic_genericoutputstream_delete + end subroutine slic_generic_output_stream_delete ! Return pointer to C++ memory. - function slic_genericoutputstream_get_instance(obj) result (cxxptr) + function slic_generic_output_stream_get_instance(obj) result (cxxptr) use iso_c_binding, only: C_PTR class(SlicGenericOutputStream), intent(IN) :: obj type(C_PTR) :: cxxptr cxxptr = obj%cxxmem%addr - end function slic_genericoutputstream_get_instance + end function slic_generic_output_stream_get_instance - subroutine slic_genericoutputstream_set_instance(obj, cxxmem) + subroutine slic_generic_output_stream_set_instance(obj, cxxmem) use iso_c_binding, only: C_PTR class(SlicGenericOutputStream), intent(INOUT) :: obj type(C_PTR), intent(IN) :: cxxmem obj%cxxmem%addr = cxxmem obj%cxxmem%idtor = 0 - end subroutine slic_genericoutputstream_set_instance + end subroutine slic_generic_output_stream_set_instance - function slic_genericoutputstream_associated(obj) result (rv) + function slic_generic_output_stream_associated(obj) result (rv) use iso_c_binding, only: c_associated class(SlicGenericOutputStream), intent(IN) :: obj logical rv rv = c_associated(obj%cxxmem%addr) - end function slic_genericoutputstream_associated + end function slic_generic_output_stream_associated ! splicer begin class.GenericOutputStream.additional_functions ! splicer end class.GenericOutputStream.additional_functions @@ -445,8 +450,9 @@ subroutine slic_create_logger(name, imask) character(len=*), intent(IN) :: name character, value, intent(IN) :: imask ! splicer begin function.create_logger - call c_create_logger_bufferify(name, len_trim(name, kind=C_INT), & - imask) + integer(C_INT) SHT_name_len + SHT_name_len = len(name, kind=C_INT) + call c_create_logger_bufferify(name, SHT_name_len, imask) ! splicer end function.create_logger end subroutine slic_create_logger @@ -456,8 +462,9 @@ function slic_activate_logger(name) & character(len=*), intent(IN) :: name logical :: SHT_rv ! splicer begin function.activate_logger - SHT_rv = c_activate_logger_bufferify(name, & - len_trim(name, kind=C_INT)) + integer(C_INT) SHT_name_len + SHT_name_len = len(name, kind=C_INT) + SHT_rv = c_activate_logger_bufferify(name, SHT_name_len) ! splicer end function.activate_logger end function slic_activate_logger @@ -465,8 +472,9 @@ subroutine slic_get_active_logger_name(name) use iso_c_binding, only : C_INT character(len=*), intent(OUT) :: name ! splicer begin function.get_active_logger_name - call c_get_active_logger_name_bufferify(name, & - len(name, kind=C_INT)) + integer(C_INT) SHT_name_len + SHT_name_len = len(name, kind=C_INT) + call c_get_active_logger_name_bufferify(name, SHT_name_len) ! splicer end function.get_active_logger_name end subroutine slic_get_active_logger_name @@ -532,9 +540,12 @@ subroutine slic_log_message_file_line(level, message, fileName, & character(len=*), intent(IN) :: fileName integer(C_INT), value, intent(IN) :: line ! splicer begin function.log_message_file_line + integer(C_INT) SHT_message_len + integer(C_INT) SHT_fileName_len + SHT_message_len = len(message, kind=C_INT) + SHT_fileName_len = len(fileName, kind=C_INT) call c_log_message_file_line_bufferify(level, message, & - len_trim(message, kind=C_INT), fileName, & - len_trim(fileName, kind=C_INT), line) + SHT_message_len, fileName, SHT_fileName_len, line) ! splicer end function.log_message_file_line end subroutine slic_log_message_file_line @@ -547,11 +558,15 @@ subroutine slic_log_message_file_line_filter(level, message, & integer(C_INT), value, intent(IN) :: line logical, value, intent(IN) :: filter_duplicates ! splicer begin function.log_message_file_line_filter + integer(C_INT) SHT_message_len + integer(C_INT) SHT_fileName_len logical(C_BOOL) SH_filter_duplicates + SHT_message_len = len(message, kind=C_INT) + SHT_fileName_len = len(fileName, kind=C_INT) SH_filter_duplicates = filter_duplicates ! coerce to C_BOOL call c_log_message_file_line_filter_bufferify(level, message, & - len_trim(message, kind=C_INT), fileName, & - len_trim(fileName, kind=C_INT), line, SH_filter_duplicates) + SHT_message_len, fileName, SHT_fileName_len, line, & + SH_filter_duplicates) ! splicer end function.log_message_file_line_filter end subroutine slic_log_message_file_line_filter @@ -560,8 +575,9 @@ subroutine slic_log_message(level, message) integer(C_INT), value, intent(IN) :: level character(len=*), intent(IN) :: message ! splicer begin function.log_message - call c_log_message_bufferify(level, message, & - len_trim(message, kind=C_INT)) + integer(C_INT) SHT_message_len + SHT_message_len = len(message, kind=C_INT) + call c_log_message_bufferify(level, message, SHT_message_len) ! splicer end function.log_message end subroutine slic_log_message @@ -572,17 +588,19 @@ subroutine slic_log_message_filter(level, message, & character(len=*), intent(IN) :: message logical, value, intent(IN) :: filter_duplicates ! splicer begin function.log_message_filter + integer(C_INT) SHT_message_len logical(C_BOOL) SH_filter_duplicates + SHT_message_len = len(message, kind=C_INT) SH_filter_duplicates = filter_duplicates ! coerce to C_BOOL call c_log_message_filter_bufferify(level, message, & - len_trim(message, kind=C_INT), SH_filter_duplicates) + SHT_message_len, SH_filter_duplicates) ! splicer end function.log_message_filter end subroutine slic_log_message_filter ! splicer begin additional_functions ! splicer end additional_functions - function genericoutputstream_eq(a,b) result (rv) + function generic_output_stream_eq(a,b) result (rv) use iso_c_binding, only: c_associated type(SlicGenericOutputStream), intent(IN) ::a,b logical :: rv @@ -591,9 +609,9 @@ function genericoutputstream_eq(a,b) result (rv) else rv = .false. endif - end function genericoutputstream_eq + end function generic_output_stream_eq - function genericoutputstream_ne(a,b) result (rv) + function generic_output_stream_ne(a,b) result (rv) use iso_c_binding, only: c_associated type(SlicGenericOutputStream), intent(IN) ::a,b logical :: rv @@ -602,6 +620,6 @@ function genericoutputstream_ne(a,b) result (rv) else rv = .false. endif - end function genericoutputstream_ne + end function generic_output_stream_ne end module axom_slic diff --git a/src/axom/slic/interface/slic_types.yaml b/src/axom/slic/interface/slic_types.yaml index 22fda023c3..0466e68bd0 100644 --- a/src/axom/slic/interface/slic_types.yaml +++ b/src/axom/slic/interface/slic_types.yaml @@ -1,5 +1,5 @@ # slic_types.yaml -# This file is generated by Shroud 0.12.2. Do not edit. +# This file is generated by Shroud 0.13.0. Do not edit. # # Copyright (c) 2017-2024, Lawrence Livermore National Security, LLC and # other Axom Project Developers. See the top-level LICENSE file for details. @@ -19,5 +19,5 @@ typemap: c_type: SLIC_GenericOutputStream f_module_name: axom_slic f_derived_type: SlicGenericOutputStream - f_capsule_data_type: SLIC_SHROUD_genericoutputstream_capsule + f_capsule_data_type: SLIC_SHROUD_capsule_data f_to_c: "{f_var}%cxxmem" From 91d57f4d57022ef52a7ba9127efdfd4e5342b6e7 Mon Sep 17 00:00:00 2001 From: Lee Taylor <taylor16@llnl.gov> Date: Wed, 14 Feb 2024 13:27:10 -0800 Subject: [PATCH 3/3] Update no-tpl intel to 19.1.2 --- ....cmake => no-tpl-toss_4_x86_64_ib-intel@19.1.2.cmake} | 4 ++-- src/axom/quest/interface/python/README.md | 9 +++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) rename host-configs/other/{no-tpl-toss_4_x86_64_ib-intel@19.0.4.cmake => no-tpl-toss_4_x86_64_ib-intel@19.1.2.cmake} (97%) diff --git a/host-configs/other/no-tpl-toss_4_x86_64_ib-intel@19.0.4.cmake b/host-configs/other/no-tpl-toss_4_x86_64_ib-intel@19.1.2.cmake similarity index 97% rename from host-configs/other/no-tpl-toss_4_x86_64_ib-intel@19.0.4.cmake rename to host-configs/other/no-tpl-toss_4_x86_64_ib-intel@19.1.2.cmake index d064d9109a..86268df1c2 100644 --- a/host-configs/other/no-tpl-toss_4_x86_64_ib-intel@19.0.4.cmake +++ b/host-configs/other/no-tpl-toss_4_x86_64_ib-intel@19.1.2.cmake @@ -28,7 +28,7 @@ set(ENABLE_FORTRAN ON CACHE BOOL "") -set(COMPILER_HOME "/usr/tce/packages/intel-classic-tce/intel-classic-19.0.4" ) +set(COMPILER_HOME "/usr/tce/packages/intel-classic-tce/intel-classic-19.1.2" ) set(CMAKE_C_COMPILER "${COMPILER_HOME}/bin/icc" CACHE PATH "") set(CMAKE_CXX_COMPILER "${COMPILER_HOME}/bin/icpc" CACHE PATH "") set(CMAKE_Fortran_COMPILER "${COMPILER_HOME}/bin/ifort" CACHE PATH "") @@ -44,7 +44,7 @@ set(AXOM_ENABLE_KLEE OFF CACHE BOOL "") #------------------------------------------------------------------------------ set(ENABLE_MPI ON CACHE BOOL "") -set(MPI_HOME "/usr/tce/packages/mvapich2/mvapich2-2.3-intel-19.0.4" CACHE PATH "") +set(MPI_HOME "/usr/tce/packages/mvapich2/mvapich2-2.3.7-intel-classic-19.1.2" CACHE PATH "") set(MPI_C_COMPILER "${MPI_HOME}/bin/mpicc" CACHE PATH "") set(MPI_CXX_COMPILER "${MPI_HOME}/bin/mpicxx" CACHE PATH "") set(MPI_Fortran_COMPILER "${MPI_HOME}/bin/mpif90" CACHE PATH "") diff --git a/src/axom/quest/interface/python/README.md b/src/axom/quest/interface/python/README.md index c57552a32a..11dec93ef3 100644 --- a/src/axom/quest/interface/python/README.md +++ b/src/axom/quest/interface/python/README.md @@ -25,10 +25,15 @@ Both `mpi4py` and Axom should be build with the same version of MPI. These flags may be different than the ones used to compile Axom. Some functions in `quest_shroud.yaml` are not wrapped pending fixes to shroud. -(version 0.10.1 is currently used) +(version 0.13.0 is currently used) A sample host-config file is provided in -`host-configs/other/no-tpl-toss_4_x86_64_ib-intel@19.0.4.cmake`. This host-config requires +`host-configs/other/no-tpl-toss_3_x86_64_ib-intel@19.0.4.cmake`. This host-config requires no third-party libraries but does not enable Sidre. The Python interface requires you build Axom with shared libraries which can be enabled via the CMake command line with `-DBUILD_SHARED_LIBS=ON` and defining MPI_HOME, which is already enabled in the sample host-config. + +To build only quest, and its dependencies: + + ./config-build.py -hc host-configs/other/no-tpl-toss_3_x86_64_ib-intel@19.0.4.cmake -DBUILD_SHARED_LIBS=ON -DAXOM_ENABLE_ALL_COMPONENTS=BOOL:OFF -DAXOM_ENABLE_QUEST=BOOL:ON -DAXOM_ENABLE_MINT=BOOL:ON -DAXOM_ENABLE_SLIC=BOOL:ON -DAXOM_ENABLE_SLAM=BOOL:ON -DAXOM_ENABLE_PRIMAL=BOOL:ON -DAXOM_ENABLE_SPIN=BOOL:ON +