diff --git a/CMakeLists.txt b/CMakeLists.txt index 7fa19d5f3..87e7930ac 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -21,7 +21,7 @@ cmake_minimum_required( VERSION 3.12 FATAL_ERROR ) find_package( ecbuild 3.7 REQUIRED HINTS ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/../ecbuild) # Initialise project -project( eccodes VERSION 2.29.0 LANGUAGES C ) +project( eccodes VERSION 2.29.0 LANGUAGES CXX ) ############################################################################### # system checks needed for eccodes_config.h and some options like MEMFS @@ -65,14 +65,8 @@ ecbuild_info("Operating system=${CMAKE_SYSTEM} (${EC_OS_BITS} bits)") ############################################################################### # some variables/options of this project -ecbuild_add_option( FEATURE EXPERIMENTAL_BUILD_WITH_CXX - DESCRIPTION "Build ecCodes with a C++ compiler (Experimental)" - DEFAULT OFF ) -if( HAVE_EXPERIMENTAL_BUILD_WITH_CXX ) - enable_language( CXX ) - if( "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Cray" ) - set(CMAKE_CXX_FLAGS "-hstd=c++11 ${CMAKE_CXX_FLAGS}") - endif() +if( "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Cray" ) + set(CMAKE_CXX_FLAGS "-hstd=c++11 ${CMAKE_CXX_FLAGS}") endif() ecbuild_add_option( FEATURE PRODUCT_GRIB @@ -502,9 +496,3 @@ ecbuild_info(" | bindings from PyPI with: |") ecbuild_info(" | $ pip3 install eccodes |") ecbuild_info(" +--------------------------------------+") ecbuild_info("") - -if( HAVE_EXPERIMENTAL_BUILD_WITH_CXX ) - ecbuild_warn("Please note:\n" - "The option of building with C++ is currently experimental." - "Do not use in operations.") -endif() diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 77345c475..9b22aa054 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -11,356 +11,356 @@ list( APPEND eccodes_src_files grib_api.h eccodes.h - action.c - action_class_alias.c - action_class_gen.c - action_class_if.c - action_class_switch.c - grib_accessor_class_g1fcperiod.c - grib_accessor_class_g1end_of_interval_monthly.c - grib_accessor_class_mars_param.c - action_class_section.c - action_class_list.c - action_class_while.c - action_class_put.c - action_class_meta.c - action_class_remove.c - action_class_rename.c - action_class_assert.c - action_class_template.c - action_class_trigger.c - action_class_when.c - action_class_concept.c - action_class_hash_array.c - action_class_set.c - action_class_set_sarray.c - action_class_set_darray.c - action_class_set_iarray.c - action_class_noop.c - action_class_write.c - action_class_print.c - action_class_close.c - action_class_variable.c - action_class_modify.c - action_class_transient_darray.c - eccodes.c - grib_accessor.c - grib_concept.c - grib_hash_array.c - grib_bufr_descriptor.c - grib_bufr_descriptors_array.c - grib_darray.c - grib_sarray.c - grib_oarray.c - grib_vdarray.c - grib_vsarray.c - grib_iarray.c - grib_viarray.c - codes_memfs.c - grib_accessor_class_array.c - grib_accessor_class_assert.c - grib_accessor_class_ascii.c - grib_accessor_class_bit.c - grib_accessor_class_bitmap.c - grib_accessor_class_bits.c - grib_accessor_class_bits_per_value.c - grib_accessor_class_bufr_elements_table.c - grib_accessor_class_bufr_data_array.c - grib_accessor_class_bufr_data_element.c - grib_accessor_class_bufr_group.c - grib_accessor_class_bufr_string_values.c - grib_accessor_class_pack_bufr_values.c - grib_accessor_class_unpack_bufr_values.c - grib_accessor_class_apply_operators.c - grib_accessor_class_group.c - grib_accessor_class_non_alpha.c - grib_accessor_class_g1bitmap.c - grib_accessor_class_g2bitmap.c - grib_accessor_class_concept.c - grib_accessor_class_hash_array.c - grib_accessor_class_decimal_precision.c - grib_accessor_class_divdouble.c - grib_accessor_class_budgdate.c - grib_accessor_class_validity_date.c - grib_accessor_class_validity_time.c - grib_accessor_class_bytes.c - grib_accessor_class.c - grib_accessor_class_change_alternative_row_scanning.c - grib_accessor_class_change_scanning_direction.c - grib_accessor_class_check_internal_version.c - grib_accessor_class_codeflag.c - grib_accessor_class_smart_table.c - grib_accessor_class_smart_table_column.c - grib_accessor_class_codetable.c - grib_accessor_class_codetable_units.c - grib_accessor_class_codetable_title.c - grib_accessor_class_step_human_readable.c - grib_accessor_class_count_file.c - grib_accessor_class_count_total.c - grib_accessor_class_double.c - grib_accessor_class_element.c - grib_accessor_class_evaluate.c - grib_accessor_class_g1area.c - grib_accessor_class_g1date.c - grib_accessor_class_g1monthlydate.c - grib_accessor_class_library_version.c - grib_accessor_class_when.c - grib_accessor_class_g1verificationdate.c - grib_accessor_class_g1day_of_the_year_date.c - grib_accessor_class_g1_half_byte_codeflag.c - grib_accessor_class_g1forecastmonth.c - grib_accessor_class_g1step_range.c - grib_accessor_class_g2step_range.c - grib_accessor_class_data_g22order_packing.c - grib_accessor_class_mars_step.c - grib_accessor_class_message_copy.c - grib_accessor_class_dictionary.c - grib_accessor_class_latlon_increment.c - grib_accessor_class_g2date.c - grib_accessor_class_g2level.c - grib_accessor_class_g2end_step.c - grib_accessor_class_g2latlon.c - grib_accessor_class_g2lon.c - grib_accessor_class_global_gaussian.c - grib_accessor_class_gaussian_grid_name.c - grib_accessor_class_gen.c - grib_accessor_class_getenv.c - grib_accessor_class_gts_header.c - grib_accessor_class_ifs_param.c - grib_accessor_class_julian_day.c - grib_accessor_class_julian_date.c - grib_accessor_class_closest_date.c - grib_accessor_class_latlonvalues.c - grib_accessor_class_latitudes.c - grib_accessor_class_longitudes.c - grib_accessor_class_missing.c - grib_accessor_class_offset_file.c - grib_accessor_class_scale.c - grib_accessor_class_from_scale_factor_scaled_value.c - grib_accessor_class_times.c - grib_accessor_class_forward.c - grib_accessor_class_g2bitmap_present.c - grib_accessor_class_ibmfloat.c - grib_accessor_class_ieeefloat.c - grib_accessor_class_constant.c - grib_accessor_class_iterator.c - grib_accessor_class_message.c - grib_accessor_class_nearest.c - grib_accessor_class_box.c - grib_accessor_class_ksec1expver.c - grib_accessor_class_laplacian.c - grib_accessor_class_label.c - grib_accessor_class_long.c - grib_accessor_class_lookup.c - grib_accessor_class_octahedral_gaussian.c - grib_accessor_class_octet_number.c - grib_accessor_class_headers_only.c - grib_accessor_class_padding.c - grib_accessor_class_pad.c - grib_accessor_class_padto.c - grib_accessor_class_padtoeven.c - grib_accessor_class_padtomultiple.c - grib_accessor_class_section_padding.c - grib_accessor_class_section_pointer.c - grib_accessor_class_position.c - grib_accessor_class_signed.c - grib_accessor_class_signed_bits.c - grib_accessor_class_section.c - grib_accessor_class_step_in_units.c - grib_accessor_class_section_length.c - grib_accessor_class_g1_message_length.c - grib_accessor_class_g1_section4_length.c - grib_accessor_class_size.c - grib_accessor_class_rdbtime_guess_date.c - grib_accessor_class_scale_values.c - grib_accessor_class_offset_values.c - grib_accessor_class_sprintf.c - grib_accessor_class_round.c - grib_accessor_class_spectral_truncation.c - grib_accessor_class_time.c - grib_accessor_class_transient.c - grib_accessor_class_trim.c - grib_accessor_class_transient_darray.c - grib_accessor_class_values.c - grib_accessor_class_simple_packing_error.c - grib_accessor_class_data_simple_packing.c - grib_accessor_class_count_missing.c - grib_accessor_class_data_sh_packed.c - grib_accessor_class_data_sh_unpacked.c - grib_accessor_class_number_of_values_data_raw_packing.c - grib_accessor_class_data_g1simple_packing.c - grib_accessor_class_data_g1shsimple_packing.c - grib_accessor_class_data_shsimple_packing.c - grib_accessor_class_data_dummy_field.c - grib_2order_packer_simple.c - grib_accessor_class_variable.c - grib_accessor_class_second_order_bits_per_value.c - grib_accessor_class_data_g2simple_packing.c - grib_accessor_class_data_g2simple_packing_with_preprocessing.c - grib_accessor_class_data_g2shsimple_packing.c - grib_accessor_class_data_g2complex_packing.c - grib_accessor_class_data_2order_packing.c - grib_accessor_class_data_g1second_order_row_by_row_packing.c - grib_accessor_class_data_g1second_order_constant_width_packing.c - grib_accessor_class_data_g1second_order_general_packing.c - grib_accessor_class_data_g1second_order_general_extended_packing.c - grib_accessor_class_g2grid.c - grib_accessor_class_unexpanded_descriptors.c - grib_accessor_class_expanded_descriptors.c - grib_accessor_class_bufrdc_expanded_descriptors.c - grib_accessor_class_data_apply_bitmap.c - grib_accessor_class_data_apply_boustrophedonic.c - grib_accessor_class_data_apply_boustrophedonic_bitmap.c - grib_accessor_class_data_secondary_bitmap.c - grib_accessor_class_data_g1secondary_bitmap.c - grib_accessor_class_data_g2secondary_bitmap.c - grib_accessor_class_data_jpeg2000_packing.c - grib_accessor_class_data_png_packing.c - grib_accessor_class_data_ccsds_packing.c - grib_accessor_class_data_raw_packing.c - grib_accessor_class_data_complex_packing.c - grib_accessor_class_data_g1complex_packing.c - grib_accessor_class_gds_not_present_bitmap.c - grib_accessor_class_data_apply_gdsnotpresent.c - grib_accessor_class_gds_is_present.c - grib_accessor_class_select_step_template.c - grib_accessor_class_local_definition.c - grib_accessor_class_g2_eps.c - grib_accessor_class_g2_aerosol.c - grib_accessor_class_g2_chemical.c - grib_accessor_class_g2_mars_labeling.c - grib_accessor_class_md5.c - grib_accessor_class_proj_string.c - grib_jasper_encoding.c - grib_openjpeg_encoding.c - action_class_set_missing.c - grib_accessor_class_number_of_points.c - grib_accessor_class_suppressed.c - grib_index.c - grib_accessor_class_number_of_points_gaussian.c - grib_accessor_class_number_of_values.c - grib_accessor_class_number_of_coded_values.c - grib_accessor_class_g1number_of_coded_values_sh_complex.c - grib_accessor_class_g1number_of_coded_values_sh_simple.c - grib_accessor_class_dirty.c - grib_accessor_class_statistics.c - grib_accessor_class_statistics_spectral.c - grib_accessor_class_unsigned.c - grib_accessor_class_unsigned_bits.c - grib_accessor_class_raw.c - grib_accessor_class_bufr_simple_thinning.c - grib_accessor_class_bufr_extract_subsets.c - grib_accessor_class_bufr_extract_area_subsets.c - grib_accessor_class_bufr_extract_datetime_subsets.c - grib_accessor_class_spd.c - grib_accessor_class_sum.c - grib_accessor_class_to_integer.c - grib_accessor_class_to_double.c - grib_accessor_class_to_string.c - grib_accessor_class_sexagesimal2decimal.c - grib_accessor_class_vector.c - grib_accessor_class_long_vector.c - grib_gaussian_reduced.c - grib_accessor_class_abstract_vector.c - grib_accessor_class_abstract_long_vector.c - grib_loader_from_handle.c - grib_bits.c - grib_timer.c - grib_ibmfloat.c - grib_ieeefloat.c - grib_accessor_class_reference_value_error.c - grib_memory.c - grib_buffer.c - grib_dumper.c - grib_dumper_class_serialize.c - grib_dumper_class_debug.c - grib_dumper_class_default.c - grib_dumper_class_keys.c - grib_dumper_class_bufr_encode_C.c - grib_dumper_class_bufr_encode_filter.c - grib_dumper_class_bufr_encode_fortran.c - grib_dumper_class_bufr_encode_python.c - grib_dumper_class_bufr_decode_C.c - grib_dumper_class_bufr_decode_filter.c - grib_dumper_class_bufr_decode_fortran.c - grib_dumper_class_bufr_decode_python.c - grib_dumper_class_bufr_simple.c - grib_dumper_class_json.c - grib_dumper_class_grib_encode_C.c - grib_dumper_class_wmo.c - grib_dumper_class.c - grib_context.c - grib_date.c - grib_fieldset.c - grib_filepool.c - grib_geography.c - grib_handle.c - grib_header_compute.c - grib_hash_keys.c - grib_io.c - grib_trie.c - grib_trie_with_rank.c - grib_itrie.c - grib_rules.c - grib_keys_iterator.c - bufr_keys_iterator.c - grib_parse_utils.c - grib_query.c - grib_scaling.c - grib_templates.c - grib_dependency.c - grib_value.c - grib_errors.c - grib_expression_class_binop.c - grib_expression_class_logical_and.c - grib_expression_class_logical_or.c - grib_expression_class_is_in_dict.c - grib_expression_class_true.c - grib_expression_class_string_compare.c - grib_expression_class_unop.c - grib_expression_class_functor.c - grib_expression_class_accessor.c - grib_expression_class_is_in_list.c - grib_expression_class_is_integer.c - grib_expression_class_length.c - grib_expression_class_long.c - grib_expression_class_double.c - grib_expression_class_string.c - grib_expression_class_sub_string.c - grib_box.c - grib_box_class.c - grib_box_class_gen.c - grib_nearest.c - grib_nearest_class.c - grib_nearest_class_gen.c - grib_nearest_class_regular.c - grib_nearest_class_reduced.c - grib_nearest_class_latlon_reduced.c - grib_nearest_class_sh.c - grib_nearest_class_lambert_conformal.c - grib_nearest_class_lambert_azimuthal_equal_area.c - grib_nearest_class_mercator.c - grib_nearest_class_polar_stereographic.c - grib_nearest_class_space_view.c - grib_iterator_class_polar_stereographic.c - grib_iterator_class_lambert_azimuthal_equal_area.c - grib_iterator_class_lambert_conformal.c - grib_iterator_class_mercator.c - grib_iterator.c - grib_iterator_class.c - grib_iterator_class_gaussian.c - grib_iterator_class_gaussian_reduced.c - grib_iterator_class_latlon_reduced.c - grib_iterator_class_gen.c - grib_iterator_class_latlon.c - grib_iterator_class_regular.c - grib_iterator_class_space_view.c - grib_expression.c - codes_util.c - grib_util.c - bufr_util.c - string_util.c - functions.c + action.cpp + action_class_alias.cpp + action_class_gen.cpp + action_class_if.cpp + action_class_switch.cpp + grib_accessor_class_g1fcperiod.cpp + grib_accessor_class_g1end_of_interval_monthly.cpp + grib_accessor_class_mars_param.cpp + action_class_section.cpp + action_class_list.cpp + action_class_while.cpp + action_class_put.cpp + action_class_meta.cpp + action_class_remove.cpp + action_class_rename.cpp + action_class_assert.cpp + action_class_template.cpp + action_class_trigger.cpp + action_class_when.cpp + action_class_concept.cpp + action_class_hash_array.cpp + action_class_set.cpp + action_class_set_sarray.cpp + action_class_set_darray.cpp + action_class_set_iarray.cpp + action_class_noop.cpp + action_class_write.cpp + action_class_print.cpp + action_class_close.cpp + action_class_variable.cpp + action_class_modify.cpp + action_class_transient_darray.cpp + eccodes.cpp + grib_accessor.cpp + grib_concept.cpp + grib_hash_array.cpp + grib_bufr_descriptor.cpp + grib_bufr_descriptors_array.cpp + grib_darray.cpp + grib_sarray.cpp + grib_oarray.cpp + grib_vdarray.cpp + grib_vsarray.cpp + grib_iarray.cpp + grib_viarray.cpp + codes_memfs.cpp + grib_accessor_class_array.cpp + grib_accessor_class_assert.cpp + grib_accessor_class_ascii.cpp + grib_accessor_class_bit.cpp + grib_accessor_class_bitmap.cpp + grib_accessor_class_bits.cpp + grib_accessor_class_bits_per_value.cpp + grib_accessor_class_bufr_elements_table.cpp + grib_accessor_class_bufr_data_array.cpp + grib_accessor_class_bufr_data_element.cpp + grib_accessor_class_bufr_group.cpp + grib_accessor_class_bufr_string_values.cpp + grib_accessor_class_pack_bufr_values.cpp + grib_accessor_class_unpack_bufr_values.cpp + grib_accessor_class_apply_operators.cpp + grib_accessor_class_group.cpp + grib_accessor_class_non_alpha.cpp + grib_accessor_class_g1bitmap.cpp + grib_accessor_class_g2bitmap.cpp + grib_accessor_class_concept.cpp + grib_accessor_class_hash_array.cpp + grib_accessor_class_decimal_precision.cpp + grib_accessor_class_divdouble.cpp + grib_accessor_class_budgdate.cpp + grib_accessor_class_validity_date.cpp + grib_accessor_class_validity_time.cpp + grib_accessor_class_bytes.cpp + grib_accessor_class.cpp + grib_accessor_class_change_alternative_row_scanning.cpp + grib_accessor_class_change_scanning_direction.cpp + grib_accessor_class_check_internal_version.cpp + grib_accessor_class_codeflag.cpp + grib_accessor_class_smart_table.cpp + grib_accessor_class_smart_table_column.cpp + grib_accessor_class_codetable.cpp + grib_accessor_class_codetable_units.cpp + grib_accessor_class_codetable_title.cpp + grib_accessor_class_step_human_readable.cpp + grib_accessor_class_count_file.cpp + grib_accessor_class_count_total.cpp + grib_accessor_class_double.cpp + grib_accessor_class_element.cpp + grib_accessor_class_evaluate.cpp + grib_accessor_class_g1area.cpp + grib_accessor_class_g1date.cpp + grib_accessor_class_g1monthlydate.cpp + grib_accessor_class_library_version.cpp + grib_accessor_class_when.cpp + grib_accessor_class_g1verificationdate.cpp + grib_accessor_class_g1day_of_the_year_date.cpp + grib_accessor_class_g1_half_byte_codeflag.cpp + grib_accessor_class_g1forecastmonth.cpp + grib_accessor_class_g1step_range.cpp + grib_accessor_class_g2step_range.cpp + grib_accessor_class_data_g22order_packing.cpp + grib_accessor_class_mars_step.cpp + grib_accessor_class_message_copy.cpp + grib_accessor_class_dictionary.cpp + grib_accessor_class_latlon_increment.cpp + grib_accessor_class_g2date.cpp + grib_accessor_class_g2level.cpp + grib_accessor_class_g2end_step.cpp + grib_accessor_class_g2latlon.cpp + grib_accessor_class_g2lon.cpp + grib_accessor_class_global_gaussian.cpp + grib_accessor_class_gaussian_grid_name.cpp + grib_accessor_class_gen.cpp + grib_accessor_class_getenv.cpp + grib_accessor_class_gts_header.cpp + grib_accessor_class_ifs_param.cpp + grib_accessor_class_julian_day.cpp + grib_accessor_class_julian_date.cpp + grib_accessor_class_closest_date.cpp + grib_accessor_class_latlonvalues.cpp + grib_accessor_class_latitudes.cpp + grib_accessor_class_longitudes.cpp + grib_accessor_class_missing.cpp + grib_accessor_class_offset_file.cpp + grib_accessor_class_scale.cpp + grib_accessor_class_from_scale_factor_scaled_value.cpp + grib_accessor_class_times.cpp + grib_accessor_class_forward.cpp + grib_accessor_class_g2bitmap_present.cpp + grib_accessor_class_ibmfloat.cpp + grib_accessor_class_ieeefloat.cpp + grib_accessor_class_constant.cpp + grib_accessor_class_iterator.cpp + grib_accessor_class_message.cpp + grib_accessor_class_nearest.cpp + grib_accessor_class_box.cpp + grib_accessor_class_ksec1expver.cpp + grib_accessor_class_laplacian.cpp + grib_accessor_class_label.cpp + grib_accessor_class_long.cpp + grib_accessor_class_lookup.cpp + grib_accessor_class_octahedral_gaussian.cpp + grib_accessor_class_octet_number.cpp + grib_accessor_class_headers_only.cpp + grib_accessor_class_padding.cpp + grib_accessor_class_pad.cpp + grib_accessor_class_padto.cpp + grib_accessor_class_padtoeven.cpp + grib_accessor_class_padtomultiple.cpp + grib_accessor_class_section_padding.cpp + grib_accessor_class_section_pointer.cpp + grib_accessor_class_position.cpp + grib_accessor_class_signed.cpp + grib_accessor_class_signed_bits.cpp + grib_accessor_class_section.cpp + grib_accessor_class_step_in_units.cpp + grib_accessor_class_section_length.cpp + grib_accessor_class_g1_message_length.cpp + grib_accessor_class_g1_section4_length.cpp + grib_accessor_class_size.cpp + grib_accessor_class_rdbtime_guess_date.cpp + grib_accessor_class_scale_values.cpp + grib_accessor_class_offset_values.cpp + grib_accessor_class_sprintf.cpp + grib_accessor_class_round.cpp + grib_accessor_class_spectral_truncation.cpp + grib_accessor_class_time.cpp + grib_accessor_class_transient.cpp + grib_accessor_class_trim.cpp + grib_accessor_class_transient_darray.cpp + grib_accessor_class_values.cpp + grib_accessor_class_simple_packing_error.cpp + grib_accessor_class_data_simple_packing.cpp + grib_accessor_class_count_missing.cpp + grib_accessor_class_data_sh_packed.cpp + grib_accessor_class_data_sh_unpacked.cpp + grib_accessor_class_number_of_values_data_raw_packing.cpp + grib_accessor_class_data_g1simple_packing.cpp + grib_accessor_class_data_g1shsimple_packing.cpp + grib_accessor_class_data_shsimple_packing.cpp + grib_accessor_class_data_dummy_field.cpp + grib_2order_packer_simple.cpp + grib_accessor_class_variable.cpp + grib_accessor_class_second_order_bits_per_value.cpp + grib_accessor_class_data_g2simple_packing.cpp + grib_accessor_class_data_g2simple_packing_with_preprocessing.cpp + grib_accessor_class_data_g2shsimple_packing.cpp + grib_accessor_class_data_g2complex_packing.cpp + grib_accessor_class_data_2order_packing.cpp + grib_accessor_class_data_g1second_order_row_by_row_packing.cpp + grib_accessor_class_data_g1second_order_constant_width_packing.cpp + grib_accessor_class_data_g1second_order_general_packing.cpp + grib_accessor_class_data_g1second_order_general_extended_packing.cpp + grib_accessor_class_g2grid.cpp + grib_accessor_class_unexpanded_descriptors.cpp + grib_accessor_class_expanded_descriptors.cpp + grib_accessor_class_bufrdc_expanded_descriptors.cpp + grib_accessor_class_data_apply_bitmap.cpp + grib_accessor_class_data_apply_boustrophedonic.cpp + grib_accessor_class_data_apply_boustrophedonic_bitmap.cpp + grib_accessor_class_data_secondary_bitmap.cpp + grib_accessor_class_data_g1secondary_bitmap.cpp + grib_accessor_class_data_g2secondary_bitmap.cpp + grib_accessor_class_data_jpeg2000_packing.cpp + grib_accessor_class_data_png_packing.cpp + grib_accessor_class_data_ccsds_packing.cpp + grib_accessor_class_data_raw_packing.cpp + grib_accessor_class_data_complex_packing.cpp + grib_accessor_class_data_g1complex_packing.cpp + grib_accessor_class_gds_not_present_bitmap.cpp + grib_accessor_class_data_apply_gdsnotpresent.cpp + grib_accessor_class_gds_is_present.cpp + grib_accessor_class_select_step_template.cpp + grib_accessor_class_local_definition.cpp + grib_accessor_class_g2_eps.cpp + grib_accessor_class_g2_aerosol.cpp + grib_accessor_class_g2_chemical.cpp + grib_accessor_class_g2_mars_labeling.cpp + grib_accessor_class_md5.cpp + grib_accessor_class_proj_string.cpp + grib_jasper_encoding.cpp + grib_openjpeg_encoding.cpp + action_class_set_missing.cpp + grib_accessor_class_number_of_points.cpp + grib_accessor_class_suppressed.cpp + grib_index.cpp + grib_accessor_class_number_of_points_gaussian.cpp + grib_accessor_class_number_of_values.cpp + grib_accessor_class_number_of_coded_values.cpp + grib_accessor_class_g1number_of_coded_values_sh_complex.cpp + grib_accessor_class_g1number_of_coded_values_sh_simple.cpp + grib_accessor_class_dirty.cpp + grib_accessor_class_statistics.cpp + grib_accessor_class_statistics_spectral.cpp + grib_accessor_class_unsigned.cpp + grib_accessor_class_unsigned_bits.cpp + grib_accessor_class_raw.cpp + grib_accessor_class_bufr_simple_thinning.cpp + grib_accessor_class_bufr_extract_subsets.cpp + grib_accessor_class_bufr_extract_area_subsets.cpp + grib_accessor_class_bufr_extract_datetime_subsets.cpp + grib_accessor_class_spd.cpp + grib_accessor_class_sum.cpp + grib_accessor_class_to_integer.cpp + grib_accessor_class_to_double.cpp + grib_accessor_class_to_string.cpp + grib_accessor_class_sexagesimal2decimal.cpp + grib_accessor_class_vector.cpp + grib_accessor_class_long_vector.cpp + grib_gaussian_reduced.cpp + grib_accessor_class_abstract_vector.cpp + grib_accessor_class_abstract_long_vector.cpp + grib_loader_from_handle.cpp + grib_bits.cpp + grib_timer.cpp + grib_ibmfloat.cpp + grib_ieeefloat.cpp + grib_accessor_class_reference_value_error.cpp + grib_memory.cpp + grib_buffer.cpp + grib_dumper.cpp + grib_dumper_class_serialize.cpp + grib_dumper_class_debug.cpp + grib_dumper_class_default.cpp + grib_dumper_class_keys.cpp + grib_dumper_class_bufr_encode_C.cpp + grib_dumper_class_bufr_encode_filter.cpp + grib_dumper_class_bufr_encode_fortran.cpp + grib_dumper_class_bufr_encode_python.cpp + grib_dumper_class_bufr_decode_C.cpp + grib_dumper_class_bufr_decode_filter.cpp + grib_dumper_class_bufr_decode_fortran.cpp + grib_dumper_class_bufr_decode_python.cpp + grib_dumper_class_bufr_simple.cpp + grib_dumper_class_json.cpp + grib_dumper_class_grib_encode_C.cpp + grib_dumper_class_wmo.cpp + grib_dumper_class.cpp + grib_context.cpp + grib_date.cpp + grib_fieldset.cpp + grib_filepool.cpp + grib_geography.cpp + grib_handle.cpp + grib_header_compute.cpp + grib_hash_keys.cpp + grib_io.cpp + grib_trie.cpp + grib_trie_with_rank.cpp + grib_itrie.cpp + grib_rules.cpp + grib_keys_iterator.cpp + bufr_keys_iterator.cpp + grib_parse_utils.cpp + grib_query.cpp + grib_scaling.cpp + grib_templates.cpp + grib_dependency.cpp + grib_value.cpp + grib_errors.cpp + grib_expression_class_binop.cpp + grib_expression_class_logical_and.cpp + grib_expression_class_logical_or.cpp + grib_expression_class_is_in_dict.cpp + grib_expression_class_true.cpp + grib_expression_class_string_compare.cpp + grib_expression_class_unop.cpp + grib_expression_class_functor.cpp + grib_expression_class_accessor.cpp + grib_expression_class_is_in_list.cpp + grib_expression_class_is_integer.cpp + grib_expression_class_length.cpp + grib_expression_class_long.cpp + grib_expression_class_double.cpp + grib_expression_class_string.cpp + grib_expression_class_sub_string.cpp + grib_box.cpp + grib_box_class.cpp + grib_box_class_gen.cpp + grib_nearest.cpp + grib_nearest_class.cpp + grib_nearest_class_gen.cpp + grib_nearest_class_regular.cpp + grib_nearest_class_reduced.cpp + grib_nearest_class_latlon_reduced.cpp + grib_nearest_class_sh.cpp + grib_nearest_class_lambert_conformal.cpp + grib_nearest_class_lambert_azimuthal_equal_area.cpp + grib_nearest_class_mercator.cpp + grib_nearest_class_polar_stereographic.cpp + grib_nearest_class_space_view.cpp + grib_iterator_class_polar_stereographic.cpp + grib_iterator_class_lambert_azimuthal_equal_area.cpp + grib_iterator_class_lambert_conformal.cpp + grib_iterator_class_mercator.cpp + grib_iterator.cpp + grib_iterator_class.cpp + grib_iterator_class_gaussian.cpp + grib_iterator_class_gaussian_reduced.cpp + grib_iterator_class_latlon_reduced.cpp + grib_iterator_class_gen.cpp + grib_iterator_class_latlon.cpp + grib_iterator_class_regular.cpp + grib_iterator_class_space_view.cpp + grib_expression.cpp + codes_util.cpp + grib_util.cpp + bufr_util.cpp + string_util.cpp + functions.cpp grib_accessor_class.h grib_accessor_factory.h grib_api_internal.h @@ -376,43 +376,43 @@ list( APPEND eccodes_src_files grib_nearest_factory.h grib_yacc.h md5.h - md5.c - grib_accessor_class_int16.c - grib_accessor_class_int16_little_endian.c - grib_accessor_class_int32.c - grib_accessor_class_int32_little_endian.c - grib_accessor_class_int64.c - grib_accessor_class_int64_little_endian.c - grib_accessor_class_int8.c - grib_accessor_class_uint16.c - grib_accessor_class_uint16_little_endian.c - grib_accessor_class_uint32.c - grib_accessor_class_uint32_little_endian.c - grib_accessor_class_uint64.c - grib_accessor_class_uint64_little_endian.c - grib_accessor_class_uint8.c - grib_accessor_class_blob.c - grib_optimize_decimal_factor.c - grib_accessor_class_data_g2bifourier_packing.c - grib_accessor_class_data_run_length_packing.c + md5.cpp + grib_accessor_class_int16.cpp + grib_accessor_class_int16_little_endian.cpp + grib_accessor_class_int32.cpp + grib_accessor_class_int32_little_endian.cpp + grib_accessor_class_int64.cpp + grib_accessor_class_int64_little_endian.cpp + grib_accessor_class_int8.cpp + grib_accessor_class_uint16.cpp + grib_accessor_class_uint16_little_endian.cpp + grib_accessor_class_uint32.cpp + grib_accessor_class_uint32_little_endian.cpp + grib_accessor_class_uint64.cpp + grib_accessor_class_uint64_little_endian.cpp + grib_accessor_class_uint8.cpp + grib_accessor_class_blob.cpp + grib_optimize_decimal_factor.cpp + grib_accessor_class_data_g2bifourier_packing.cpp + grib_accessor_class_data_run_length_packing.cpp eccodes_windef.h # We ship our own generated lex/yacc C files - grib_yacc.c grib_lex.c ) + grib_yacc.cpp grib_lex.cpp ) list( APPEND eccodes_extra_src_files - grib_bits_fast_big_endian.c grib_bits_any_endian.c - grib_bits_fast_big_endian_vector.c grib_bits_any_endian_vector.c - grib_bits_fast_big_endian_simple.c grib_bits_any_endian_simple.c - grib_bits_fast_big_endian_omp.c grib_bits_any_endian_omp.c - encode_double_array.c - grib_bits_ibmpow.c - grib_bits_ibmpow_opt.c - minmax_val.c ) + grib_bits_fast_big_endian.cpp grib_bits_any_endian.cpp + grib_bits_fast_big_endian_vector.cpp grib_bits_any_endian_vector.cpp + grib_bits_fast_big_endian_simple.cpp grib_bits_any_endian_simple.cpp + grib_bits_fast_big_endian_omp.cpp grib_bits_any_endian_omp.cpp + encode_double_array.cpp + grib_bits_ibmpow.cpp + grib_bits_ibmpow_opt.cpp + minmax_val.cpp ) if(UNIX) ecbuild_get_date(eccodes_BUILD_DATE) endif() -configure_file( grib_api_version.c.in grib_api_version.c @ONLY ) +configure_file( grib_api_version.cpp.in grib_api_version.cpp @ONLY ) configure_file( eccodes_version.h.in eccodes_version.h @ONLY ) # We ship our own generated lex/yacc C files @@ -423,24 +423,15 @@ configure_file( eccodes_version.h.in eccodes_version.h @ONLY ) # LEX_FLAGS " " # BISON_FLAGS "-y" # YACC_FLAGS "-y" -# DEPENDANT action.c ) +# DEPENDANT action.cpp ) if( HAVE_MEMFS ) list(APPEND ECCODES_EXTRA_LIBRARIES eccodes_memfs) endif() -if( HAVE_EXPERIMENTAL_BUILD_WITH_CXX ) - foreach( _src ${eccodes_src_files} ) - get_filename_component( _ext ${_src} EXT ) - if( _ext STREQUAL ".c" ) - set_source_files_properties( ${_src} PROPERTIES LANGUAGE CXX ) - endif() - endforeach() -endif() - ecbuild_add_library( TARGET eccodes - SOURCES ${CMAKE_CURRENT_BINARY_DIR}/grib_api_version.c - # griby.c gribl.c + SOURCES ${CMAKE_CURRENT_BINARY_DIR}/grib_api_version.cpp + # griby.cpp gribl.cpp ${eccodes_src_files} #PRIVATE_LIBS ${ECCODES_EXTRA_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${CMATH_LIBRARIES} PRIVATE_INCLUDES "${AEC_INCLUDE_DIRS}" "${PNG_INCLUDE_DIRS}" diff --git a/src/action.c b/src/action.cpp similarity index 100% rename from src/action.c rename to src/action.cpp diff --git a/src/action_class_alias.c b/src/action_class_alias.cpp similarity index 100% rename from src/action_class_alias.c rename to src/action_class_alias.cpp diff --git a/src/action_class_assert.c b/src/action_class_assert.cpp similarity index 100% rename from src/action_class_assert.c rename to src/action_class_assert.cpp diff --git a/src/action_class_close.c b/src/action_class_close.cpp similarity index 100% rename from src/action_class_close.c rename to src/action_class_close.cpp diff --git a/src/action_class_concept.c b/src/action_class_concept.cpp similarity index 100% rename from src/action_class_concept.c rename to src/action_class_concept.cpp diff --git a/src/action_class_gen.c b/src/action_class_gen.cpp similarity index 100% rename from src/action_class_gen.c rename to src/action_class_gen.cpp diff --git a/src/action_class_hash_array.c b/src/action_class_hash_array.cpp similarity index 100% rename from src/action_class_hash_array.c rename to src/action_class_hash_array.cpp diff --git a/src/action_class_if.c b/src/action_class_if.cpp similarity index 100% rename from src/action_class_if.c rename to src/action_class_if.cpp diff --git a/src/action_class_list.c b/src/action_class_list.cpp similarity index 100% rename from src/action_class_list.c rename to src/action_class_list.cpp diff --git a/src/action_class_meta.c b/src/action_class_meta.cpp similarity index 100% rename from src/action_class_meta.c rename to src/action_class_meta.cpp diff --git a/src/action_class_modify.c b/src/action_class_modify.cpp similarity index 100% rename from src/action_class_modify.c rename to src/action_class_modify.cpp diff --git a/src/action_class_noop.c b/src/action_class_noop.cpp similarity index 100% rename from src/action_class_noop.c rename to src/action_class_noop.cpp diff --git a/src/action_class_print.c b/src/action_class_print.cpp similarity index 100% rename from src/action_class_print.c rename to src/action_class_print.cpp diff --git a/src/action_class_put.c b/src/action_class_put.cpp similarity index 100% rename from src/action_class_put.c rename to src/action_class_put.cpp diff --git a/src/action_class_remove.c b/src/action_class_remove.cpp similarity index 100% rename from src/action_class_remove.c rename to src/action_class_remove.cpp diff --git a/src/action_class_rename.c b/src/action_class_rename.cpp similarity index 100% rename from src/action_class_rename.c rename to src/action_class_rename.cpp diff --git a/src/action_class_section.c b/src/action_class_section.cpp similarity index 100% rename from src/action_class_section.c rename to src/action_class_section.cpp diff --git a/src/action_class_set.c b/src/action_class_set.cpp similarity index 100% rename from src/action_class_set.c rename to src/action_class_set.cpp diff --git a/src/action_class_set_darray.c b/src/action_class_set_darray.cpp similarity index 100% rename from src/action_class_set_darray.c rename to src/action_class_set_darray.cpp diff --git a/src/action_class_set_iarray.c b/src/action_class_set_iarray.cpp similarity index 100% rename from src/action_class_set_iarray.c rename to src/action_class_set_iarray.cpp diff --git a/src/action_class_set_missing.c b/src/action_class_set_missing.cpp similarity index 100% rename from src/action_class_set_missing.c rename to src/action_class_set_missing.cpp diff --git a/src/action_class_set_sarray.c b/src/action_class_set_sarray.cpp similarity index 100% rename from src/action_class_set_sarray.c rename to src/action_class_set_sarray.cpp diff --git a/src/action_class_switch.c b/src/action_class_switch.cpp similarity index 100% rename from src/action_class_switch.c rename to src/action_class_switch.cpp diff --git a/src/action_class_template.c b/src/action_class_template.cpp similarity index 100% rename from src/action_class_template.c rename to src/action_class_template.cpp diff --git a/src/action_class_transient_darray.c b/src/action_class_transient_darray.cpp similarity index 100% rename from src/action_class_transient_darray.c rename to src/action_class_transient_darray.cpp diff --git a/src/action_class_trigger.c b/src/action_class_trigger.cpp similarity index 100% rename from src/action_class_trigger.c rename to src/action_class_trigger.cpp diff --git a/src/action_class_variable.c b/src/action_class_variable.cpp similarity index 100% rename from src/action_class_variable.c rename to src/action_class_variable.cpp diff --git a/src/action_class_when.c b/src/action_class_when.cpp similarity index 100% rename from src/action_class_when.c rename to src/action_class_when.cpp diff --git a/src/action_class_while.c b/src/action_class_while.cpp similarity index 100% rename from src/action_class_while.c rename to src/action_class_while.cpp diff --git a/src/action_class_write.c b/src/action_class_write.cpp similarity index 100% rename from src/action_class_write.c rename to src/action_class_write.cpp diff --git a/src/bufr_keys_iterator.c b/src/bufr_keys_iterator.cpp similarity index 100% rename from src/bufr_keys_iterator.c rename to src/bufr_keys_iterator.cpp diff --git a/src/bufr_util.c b/src/bufr_util.cpp similarity index 100% rename from src/bufr_util.c rename to src/bufr_util.cpp diff --git a/src/codes_memfs.c b/src/codes_memfs.cpp similarity index 100% rename from src/codes_memfs.c rename to src/codes_memfs.cpp diff --git a/src/codes_util.c b/src/codes_util.cpp similarity index 100% rename from src/codes_util.c rename to src/codes_util.cpp diff --git a/src/eccodes.c b/src/eccodes.cpp similarity index 100% rename from src/eccodes.c rename to src/eccodes.cpp diff --git a/src/encode_double_array.c b/src/encode_double_array.cpp similarity index 100% rename from src/encode_double_array.c rename to src/encode_double_array.cpp diff --git a/src/errors.pl b/src/errors.pl index b40ca72bc..c36100ab7 100755 --- a/src/errors.pl +++ b/src/errors.pl @@ -161,8 +161,8 @@ sub write_F90_errors { sub write_C_errors { my ($public,$internal) = @_; - open(C,">grib_errors.c.new") or die "grib_errors.c.new: $!"; - open(IN,"grib_errors.cpp.new") or die "grib_errors.cpp.new: $!"; + open(IN,") { if (/^!ERRORS/) { diff --git a/src/extrules.am b/src/extrules.am index 07e07d4a4..fbd7fc70a 100644 --- a/src/extrules.am +++ b/src/extrules.am @@ -1,9 +1,9 @@ .grib.c:; ./grib2c.pl $< # .req.grib:; mars $< -grib_errors.c : grib_errors.txt errors.pl +grib_errors.cpp : grib_errors.txt errors.pl ./errors.pl - cmp -s grib_errors.c grib_errors.c.new || (cp grib_errors.c.new grib_errors.c) + cmp -s grib_errors.cpp grib_errors.cpp.new || (cp grib_errors.cpp.new grib_errors.cpp) cmp -s grib_api.h grib_api.h.new || (cp grib_api.h.new grib_api.h) cmp -s eccodes.h eccodes.h.new || (mv eccodes.h.new eccodes.h) cmp -s ../fortran/grib_api_constants.h grib_api_constants.h.new || (mv grib_api_constants.h.new ../fortran/grib_api_constants.h) @@ -20,25 +20,25 @@ templates: -chmod +w grib_templates.h ./grib2c.pl ../templates/*.grib -grib_lex.c : gribl.l grib_yacc.h +grib_lex.cpp : gribl.l grib_yacc.h $(LEX) gribl.l - sed 's/yy/grib_yy/g' < $(LEX_OUTPUT_ROOT).c | sed 's/static void grib_yyunput/void grib_yyunput/' > grib_lex1.c - sed 's/fgetc/getc/g' < grib_lex1.c > grib_lex.c - rm -f grib_lex1.c - rm -f $(LEX_OUTPUT_ROOT).c + sed 's/yy/grib_yy/g' < $(LEX_OUTPUT_ROOT).cpp | sed 's/static void grib_yyunput/void grib_yyunput/' > grib_lex1.cpp + sed 's/fgetc/getc/g' < grib_lex1.cpp > grib_lex.cpp + rm -f grib_lex1.cpp + rm -f $(LEX_OUTPUT_ROOT).cpp -grib_yacc.h grib_yacc.c : griby.y +grib_yacc.h grib_yacc.cpp : griby.y $(YACC) -d griby.y - sed 's/yy/grib_yy/g' < y.tab.c > grib_yacc1.c - sed 's/fgetc/getc/g' < grib_yacc1.c > grib_yacc.c - rm -f grib_yacc1.c + sed 's/yy/grib_yy/g' < y.tab.c > grib_yacc1.cpp + sed 's/fgetc/getc/g' < grib_yacc1.cpp > grib_yacc.cpp + rm -f grib_yacc1.cpp sed 's/yy/grib_yy/g' < y.tab.h > grib_yacc.h rm -f y.tab.c y.tab.h hash_keys: ./make_hash_keys.sh -grib_accessor_classes_hash.c: +grib_accessor_classes_hash.cpp: ./make_accessor_class_hash.sh SUFFIXES= .conf .grib .req .txt diff --git a/src/functions.c b/src/functions.cpp similarity index 100% rename from src/functions.c rename to src/functions.cpp diff --git a/src/grib_2order_packer_simple.c b/src/grib_2order_packer_simple.cpp similarity index 100% rename from src/grib_2order_packer_simple.c rename to src/grib_2order_packer_simple.cpp diff --git a/src/grib_accessor.c b/src/grib_accessor.cpp similarity index 100% rename from src/grib_accessor.c rename to src/grib_accessor.cpp diff --git a/src/grib_accessor_class.c b/src/grib_accessor_class.cpp similarity index 99% rename from src/grib_accessor_class.c rename to src/grib_accessor_class.cpp index 48bd4b4bc..f15f7971b 100644 --- a/src/grib_accessor_class.c +++ b/src/grib_accessor_class.cpp @@ -10,7 +10,7 @@ #include "grib_api_internal.h" -#include "grib_accessor_classes_hash.c" +#include "grib_accessor_classes_hash.cpp" /* grib level */ diff --git a/src/grib_accessor_class_abstract_long_vector.c b/src/grib_accessor_class_abstract_long_vector.cpp similarity index 100% rename from src/grib_accessor_class_abstract_long_vector.c rename to src/grib_accessor_class_abstract_long_vector.cpp diff --git a/src/grib_accessor_class_abstract_vector.c b/src/grib_accessor_class_abstract_vector.cpp similarity index 100% rename from src/grib_accessor_class_abstract_vector.c rename to src/grib_accessor_class_abstract_vector.cpp diff --git a/src/grib_accessor_class_apply_operators.c b/src/grib_accessor_class_apply_operators.cpp similarity index 100% rename from src/grib_accessor_class_apply_operators.c rename to src/grib_accessor_class_apply_operators.cpp diff --git a/src/grib_accessor_class_array.c b/src/grib_accessor_class_array.cpp similarity index 100% rename from src/grib_accessor_class_array.c rename to src/grib_accessor_class_array.cpp diff --git a/src/grib_accessor_class_ascii.c b/src/grib_accessor_class_ascii.cpp similarity index 100% rename from src/grib_accessor_class_ascii.c rename to src/grib_accessor_class_ascii.cpp diff --git a/src/grib_accessor_class_assert.c b/src/grib_accessor_class_assert.cpp similarity index 100% rename from src/grib_accessor_class_assert.c rename to src/grib_accessor_class_assert.cpp diff --git a/src/grib_accessor_class_bit.c b/src/grib_accessor_class_bit.cpp similarity index 100% rename from src/grib_accessor_class_bit.c rename to src/grib_accessor_class_bit.cpp diff --git a/src/grib_accessor_class_bitmap.c b/src/grib_accessor_class_bitmap.cpp similarity index 100% rename from src/grib_accessor_class_bitmap.c rename to src/grib_accessor_class_bitmap.cpp diff --git a/src/grib_accessor_class_bits.c b/src/grib_accessor_class_bits.cpp similarity index 100% rename from src/grib_accessor_class_bits.c rename to src/grib_accessor_class_bits.cpp diff --git a/src/grib_accessor_class_bits_per_value.c b/src/grib_accessor_class_bits_per_value.cpp similarity index 100% rename from src/grib_accessor_class_bits_per_value.c rename to src/grib_accessor_class_bits_per_value.cpp diff --git a/src/grib_accessor_class_blob.c b/src/grib_accessor_class_blob.cpp similarity index 100% rename from src/grib_accessor_class_blob.c rename to src/grib_accessor_class_blob.cpp diff --git a/src/grib_accessor_class_box.c b/src/grib_accessor_class_box.cpp similarity index 100% rename from src/grib_accessor_class_box.c rename to src/grib_accessor_class_box.cpp diff --git a/src/grib_accessor_class_budgdate.c b/src/grib_accessor_class_budgdate.cpp similarity index 100% rename from src/grib_accessor_class_budgdate.c rename to src/grib_accessor_class_budgdate.cpp diff --git a/src/grib_accessor_class_bufr_data_array.c b/src/grib_accessor_class_bufr_data_array.cpp similarity index 100% rename from src/grib_accessor_class_bufr_data_array.c rename to src/grib_accessor_class_bufr_data_array.cpp diff --git a/src/grib_accessor_class_bufr_data_element.c b/src/grib_accessor_class_bufr_data_element.cpp similarity index 100% rename from src/grib_accessor_class_bufr_data_element.c rename to src/grib_accessor_class_bufr_data_element.cpp diff --git a/src/grib_accessor_class_bufr_elements_table.c b/src/grib_accessor_class_bufr_elements_table.cpp similarity index 100% rename from src/grib_accessor_class_bufr_elements_table.c rename to src/grib_accessor_class_bufr_elements_table.cpp diff --git a/src/grib_accessor_class_bufr_extract_area_subsets.c b/src/grib_accessor_class_bufr_extract_area_subsets.cpp similarity index 100% rename from src/grib_accessor_class_bufr_extract_area_subsets.c rename to src/grib_accessor_class_bufr_extract_area_subsets.cpp diff --git a/src/grib_accessor_class_bufr_extract_datetime_subsets.c b/src/grib_accessor_class_bufr_extract_datetime_subsets.cpp similarity index 100% rename from src/grib_accessor_class_bufr_extract_datetime_subsets.c rename to src/grib_accessor_class_bufr_extract_datetime_subsets.cpp diff --git a/src/grib_accessor_class_bufr_extract_subsets.c b/src/grib_accessor_class_bufr_extract_subsets.cpp similarity index 100% rename from src/grib_accessor_class_bufr_extract_subsets.c rename to src/grib_accessor_class_bufr_extract_subsets.cpp diff --git a/src/grib_accessor_class_bufr_group.c b/src/grib_accessor_class_bufr_group.cpp similarity index 100% rename from src/grib_accessor_class_bufr_group.c rename to src/grib_accessor_class_bufr_group.cpp diff --git a/src/grib_accessor_class_bufr_simple_thinning.c b/src/grib_accessor_class_bufr_simple_thinning.cpp similarity index 100% rename from src/grib_accessor_class_bufr_simple_thinning.c rename to src/grib_accessor_class_bufr_simple_thinning.cpp diff --git a/src/grib_accessor_class_bufr_string_values.c b/src/grib_accessor_class_bufr_string_values.cpp similarity index 100% rename from src/grib_accessor_class_bufr_string_values.c rename to src/grib_accessor_class_bufr_string_values.cpp diff --git a/src/grib_accessor_class_bufrdc_expanded_descriptors.c b/src/grib_accessor_class_bufrdc_expanded_descriptors.cpp similarity index 100% rename from src/grib_accessor_class_bufrdc_expanded_descriptors.c rename to src/grib_accessor_class_bufrdc_expanded_descriptors.cpp diff --git a/src/grib_accessor_class_bytes.c b/src/grib_accessor_class_bytes.cpp similarity index 100% rename from src/grib_accessor_class_bytes.c rename to src/grib_accessor_class_bytes.cpp diff --git a/src/grib_accessor_class_change_alternative_row_scanning.c b/src/grib_accessor_class_change_alternative_row_scanning.cpp similarity index 100% rename from src/grib_accessor_class_change_alternative_row_scanning.c rename to src/grib_accessor_class_change_alternative_row_scanning.cpp diff --git a/src/grib_accessor_class_change_scanning_direction.c b/src/grib_accessor_class_change_scanning_direction.cpp similarity index 100% rename from src/grib_accessor_class_change_scanning_direction.c rename to src/grib_accessor_class_change_scanning_direction.cpp diff --git a/src/grib_accessor_class_check_internal_version.c b/src/grib_accessor_class_check_internal_version.cpp similarity index 100% rename from src/grib_accessor_class_check_internal_version.c rename to src/grib_accessor_class_check_internal_version.cpp diff --git a/src/grib_accessor_class_closest_date.c b/src/grib_accessor_class_closest_date.cpp similarity index 100% rename from src/grib_accessor_class_closest_date.c rename to src/grib_accessor_class_closest_date.cpp diff --git a/src/grib_accessor_class_codeflag.c b/src/grib_accessor_class_codeflag.cpp similarity index 100% rename from src/grib_accessor_class_codeflag.c rename to src/grib_accessor_class_codeflag.cpp diff --git a/src/grib_accessor_class_codetable.c b/src/grib_accessor_class_codetable.cpp similarity index 100% rename from src/grib_accessor_class_codetable.c rename to src/grib_accessor_class_codetable.cpp diff --git a/src/grib_accessor_class_codetable_title.c b/src/grib_accessor_class_codetable_title.cpp similarity index 100% rename from src/grib_accessor_class_codetable_title.c rename to src/grib_accessor_class_codetable_title.cpp diff --git a/src/grib_accessor_class_codetable_units.c b/src/grib_accessor_class_codetable_units.cpp similarity index 100% rename from src/grib_accessor_class_codetable_units.c rename to src/grib_accessor_class_codetable_units.cpp diff --git a/src/grib_accessor_class_concept.c b/src/grib_accessor_class_concept.cpp similarity index 100% rename from src/grib_accessor_class_concept.c rename to src/grib_accessor_class_concept.cpp diff --git a/src/grib_accessor_class_constant.c b/src/grib_accessor_class_constant.cpp similarity index 100% rename from src/grib_accessor_class_constant.c rename to src/grib_accessor_class_constant.cpp diff --git a/src/grib_accessor_class_count_file.c b/src/grib_accessor_class_count_file.cpp similarity index 100% rename from src/grib_accessor_class_count_file.c rename to src/grib_accessor_class_count_file.cpp diff --git a/src/grib_accessor_class_count_missing.c b/src/grib_accessor_class_count_missing.cpp similarity index 100% rename from src/grib_accessor_class_count_missing.c rename to src/grib_accessor_class_count_missing.cpp diff --git a/src/grib_accessor_class_count_total.c b/src/grib_accessor_class_count_total.cpp similarity index 100% rename from src/grib_accessor_class_count_total.c rename to src/grib_accessor_class_count_total.cpp diff --git a/src/grib_accessor_class_data_2order_packing.c b/src/grib_accessor_class_data_2order_packing.cpp similarity index 100% rename from src/grib_accessor_class_data_2order_packing.c rename to src/grib_accessor_class_data_2order_packing.cpp diff --git a/src/grib_accessor_class_data_apply_bitmap.c b/src/grib_accessor_class_data_apply_bitmap.cpp similarity index 100% rename from src/grib_accessor_class_data_apply_bitmap.c rename to src/grib_accessor_class_data_apply_bitmap.cpp diff --git a/src/grib_accessor_class_data_apply_boustrophedonic.c b/src/grib_accessor_class_data_apply_boustrophedonic.cpp similarity index 100% rename from src/grib_accessor_class_data_apply_boustrophedonic.c rename to src/grib_accessor_class_data_apply_boustrophedonic.cpp diff --git a/src/grib_accessor_class_data_apply_boustrophedonic_bitmap.c b/src/grib_accessor_class_data_apply_boustrophedonic_bitmap.cpp similarity index 100% rename from src/grib_accessor_class_data_apply_boustrophedonic_bitmap.c rename to src/grib_accessor_class_data_apply_boustrophedonic_bitmap.cpp diff --git a/src/grib_accessor_class_data_apply_gdsnotpresent.c b/src/grib_accessor_class_data_apply_gdsnotpresent.cpp similarity index 100% rename from src/grib_accessor_class_data_apply_gdsnotpresent.c rename to src/grib_accessor_class_data_apply_gdsnotpresent.cpp diff --git a/src/grib_accessor_class_data_ccsds_packing.c b/src/grib_accessor_class_data_ccsds_packing.cpp similarity index 100% rename from src/grib_accessor_class_data_ccsds_packing.c rename to src/grib_accessor_class_data_ccsds_packing.cpp diff --git a/src/grib_accessor_class_data_complex_packing.c b/src/grib_accessor_class_data_complex_packing.cpp similarity index 100% rename from src/grib_accessor_class_data_complex_packing.c rename to src/grib_accessor_class_data_complex_packing.cpp diff --git a/src/grib_accessor_class_data_dummy_field.c b/src/grib_accessor_class_data_dummy_field.cpp similarity index 100% rename from src/grib_accessor_class_data_dummy_field.c rename to src/grib_accessor_class_data_dummy_field.cpp diff --git a/src/grib_accessor_class_data_g1complex_packing.c b/src/grib_accessor_class_data_g1complex_packing.cpp similarity index 100% rename from src/grib_accessor_class_data_g1complex_packing.c rename to src/grib_accessor_class_data_g1complex_packing.cpp diff --git a/src/grib_accessor_class_data_g1second_order_constant_width_packing.c b/src/grib_accessor_class_data_g1second_order_constant_width_packing.cpp similarity index 100% rename from src/grib_accessor_class_data_g1second_order_constant_width_packing.c rename to src/grib_accessor_class_data_g1second_order_constant_width_packing.cpp diff --git a/src/grib_accessor_class_data_g1second_order_general_extended_packing.c b/src/grib_accessor_class_data_g1second_order_general_extended_packing.cpp similarity index 100% rename from src/grib_accessor_class_data_g1second_order_general_extended_packing.c rename to src/grib_accessor_class_data_g1second_order_general_extended_packing.cpp diff --git a/src/grib_accessor_class_data_g1second_order_general_packing.c b/src/grib_accessor_class_data_g1second_order_general_packing.cpp similarity index 100% rename from src/grib_accessor_class_data_g1second_order_general_packing.c rename to src/grib_accessor_class_data_g1second_order_general_packing.cpp diff --git a/src/grib_accessor_class_data_g1second_order_row_by_row_packing.c b/src/grib_accessor_class_data_g1second_order_row_by_row_packing.cpp similarity index 100% rename from src/grib_accessor_class_data_g1second_order_row_by_row_packing.c rename to src/grib_accessor_class_data_g1second_order_row_by_row_packing.cpp diff --git a/src/grib_accessor_class_data_g1secondary_bitmap.c b/src/grib_accessor_class_data_g1secondary_bitmap.cpp similarity index 100% rename from src/grib_accessor_class_data_g1secondary_bitmap.c rename to src/grib_accessor_class_data_g1secondary_bitmap.cpp diff --git a/src/grib_accessor_class_data_g1shsimple_packing.c b/src/grib_accessor_class_data_g1shsimple_packing.cpp similarity index 100% rename from src/grib_accessor_class_data_g1shsimple_packing.c rename to src/grib_accessor_class_data_g1shsimple_packing.cpp diff --git a/src/grib_accessor_class_data_g1simple_packing.c b/src/grib_accessor_class_data_g1simple_packing.cpp similarity index 100% rename from src/grib_accessor_class_data_g1simple_packing.c rename to src/grib_accessor_class_data_g1simple_packing.cpp diff --git a/src/grib_accessor_class_data_g22order_packing.c b/src/grib_accessor_class_data_g22order_packing.cpp similarity index 100% rename from src/grib_accessor_class_data_g22order_packing.c rename to src/grib_accessor_class_data_g22order_packing.cpp diff --git a/src/grib_accessor_class_data_g2bifourier_packing.c b/src/grib_accessor_class_data_g2bifourier_packing.cpp similarity index 100% rename from src/grib_accessor_class_data_g2bifourier_packing.c rename to src/grib_accessor_class_data_g2bifourier_packing.cpp diff --git a/src/grib_accessor_class_data_g2complex_packing.c b/src/grib_accessor_class_data_g2complex_packing.cpp similarity index 100% rename from src/grib_accessor_class_data_g2complex_packing.c rename to src/grib_accessor_class_data_g2complex_packing.cpp diff --git a/src/grib_accessor_class_data_g2secondary_bitmap.c b/src/grib_accessor_class_data_g2secondary_bitmap.cpp similarity index 100% rename from src/grib_accessor_class_data_g2secondary_bitmap.c rename to src/grib_accessor_class_data_g2secondary_bitmap.cpp diff --git a/src/grib_accessor_class_data_g2shsimple_packing.c b/src/grib_accessor_class_data_g2shsimple_packing.cpp similarity index 100% rename from src/grib_accessor_class_data_g2shsimple_packing.c rename to src/grib_accessor_class_data_g2shsimple_packing.cpp diff --git a/src/grib_accessor_class_data_g2simple_packing.c b/src/grib_accessor_class_data_g2simple_packing.cpp similarity index 100% rename from src/grib_accessor_class_data_g2simple_packing.c rename to src/grib_accessor_class_data_g2simple_packing.cpp diff --git a/src/grib_accessor_class_data_g2simple_packing_with_preprocessing.c b/src/grib_accessor_class_data_g2simple_packing_with_preprocessing.cpp similarity index 100% rename from src/grib_accessor_class_data_g2simple_packing_with_preprocessing.c rename to src/grib_accessor_class_data_g2simple_packing_with_preprocessing.cpp diff --git a/src/grib_accessor_class_data_jpeg2000_packing.c b/src/grib_accessor_class_data_jpeg2000_packing.cpp similarity index 100% rename from src/grib_accessor_class_data_jpeg2000_packing.c rename to src/grib_accessor_class_data_jpeg2000_packing.cpp diff --git a/src/grib_accessor_class_data_png_packing.c b/src/grib_accessor_class_data_png_packing.cpp similarity index 100% rename from src/grib_accessor_class_data_png_packing.c rename to src/grib_accessor_class_data_png_packing.cpp diff --git a/src/grib_accessor_class_data_raw_packing.c b/src/grib_accessor_class_data_raw_packing.cpp similarity index 100% rename from src/grib_accessor_class_data_raw_packing.c rename to src/grib_accessor_class_data_raw_packing.cpp diff --git a/src/grib_accessor_class_data_run_length_packing.c b/src/grib_accessor_class_data_run_length_packing.cpp similarity index 100% rename from src/grib_accessor_class_data_run_length_packing.c rename to src/grib_accessor_class_data_run_length_packing.cpp diff --git a/src/grib_accessor_class_data_secondary_bitmap.c b/src/grib_accessor_class_data_secondary_bitmap.cpp similarity index 100% rename from src/grib_accessor_class_data_secondary_bitmap.c rename to src/grib_accessor_class_data_secondary_bitmap.cpp diff --git a/src/grib_accessor_class_data_sh_packed.c b/src/grib_accessor_class_data_sh_packed.cpp similarity index 100% rename from src/grib_accessor_class_data_sh_packed.c rename to src/grib_accessor_class_data_sh_packed.cpp diff --git a/src/grib_accessor_class_data_sh_unpacked.c b/src/grib_accessor_class_data_sh_unpacked.cpp similarity index 100% rename from src/grib_accessor_class_data_sh_unpacked.c rename to src/grib_accessor_class_data_sh_unpacked.cpp diff --git a/src/grib_accessor_class_data_shsimple_packing.c b/src/grib_accessor_class_data_shsimple_packing.cpp similarity index 100% rename from src/grib_accessor_class_data_shsimple_packing.c rename to src/grib_accessor_class_data_shsimple_packing.cpp diff --git a/src/grib_accessor_class_data_simple_packing.c b/src/grib_accessor_class_data_simple_packing.cpp similarity index 99% rename from src/grib_accessor_class_data_simple_packing.c rename to src/grib_accessor_class_data_simple_packing.cpp index 2046616fe..135b55b1d 100644 --- a/src/grib_accessor_class_data_simple_packing.c +++ b/src/grib_accessor_class_data_simple_packing.cpp @@ -478,7 +478,7 @@ static int unpack_double(grib_accessor* a, double* val, size_t* len) #if GRIB_IBMPOWER67_OPT #define restrict -#include "minmax_val.c" +#include "minmax_val.cpp" #undef restrict #endif diff --git a/src/grib_accessor_class_decimal_precision.c b/src/grib_accessor_class_decimal_precision.cpp similarity index 100% rename from src/grib_accessor_class_decimal_precision.c rename to src/grib_accessor_class_decimal_precision.cpp diff --git a/src/grib_accessor_class_dictionary.c b/src/grib_accessor_class_dictionary.cpp similarity index 100% rename from src/grib_accessor_class_dictionary.c rename to src/grib_accessor_class_dictionary.cpp diff --git a/src/grib_accessor_class_dirty.c b/src/grib_accessor_class_dirty.cpp similarity index 100% rename from src/grib_accessor_class_dirty.c rename to src/grib_accessor_class_dirty.cpp diff --git a/src/grib_accessor_class_divdouble.c b/src/grib_accessor_class_divdouble.cpp similarity index 100% rename from src/grib_accessor_class_divdouble.c rename to src/grib_accessor_class_divdouble.cpp diff --git a/src/grib_accessor_class_double.c b/src/grib_accessor_class_double.cpp similarity index 100% rename from src/grib_accessor_class_double.c rename to src/grib_accessor_class_double.cpp diff --git a/src/grib_accessor_class_element.c b/src/grib_accessor_class_element.cpp similarity index 100% rename from src/grib_accessor_class_element.c rename to src/grib_accessor_class_element.cpp diff --git a/src/grib_accessor_class_evaluate.c b/src/grib_accessor_class_evaluate.cpp similarity index 100% rename from src/grib_accessor_class_evaluate.c rename to src/grib_accessor_class_evaluate.cpp diff --git a/src/grib_accessor_class_expanded_descriptors.c b/src/grib_accessor_class_expanded_descriptors.cpp similarity index 100% rename from src/grib_accessor_class_expanded_descriptors.c rename to src/grib_accessor_class_expanded_descriptors.cpp diff --git a/src/grib_accessor_class_forward.c b/src/grib_accessor_class_forward.cpp similarity index 100% rename from src/grib_accessor_class_forward.c rename to src/grib_accessor_class_forward.cpp diff --git a/src/grib_accessor_class_from_scale_factor_scaled_value.c b/src/grib_accessor_class_from_scale_factor_scaled_value.cpp similarity index 100% rename from src/grib_accessor_class_from_scale_factor_scaled_value.c rename to src/grib_accessor_class_from_scale_factor_scaled_value.cpp diff --git a/src/grib_accessor_class_g1_half_byte_codeflag.c b/src/grib_accessor_class_g1_half_byte_codeflag.cpp similarity index 100% rename from src/grib_accessor_class_g1_half_byte_codeflag.c rename to src/grib_accessor_class_g1_half_byte_codeflag.cpp diff --git a/src/grib_accessor_class_g1_message_length.c b/src/grib_accessor_class_g1_message_length.cpp similarity index 100% rename from src/grib_accessor_class_g1_message_length.c rename to src/grib_accessor_class_g1_message_length.cpp diff --git a/src/grib_accessor_class_g1_section4_length.c b/src/grib_accessor_class_g1_section4_length.cpp similarity index 100% rename from src/grib_accessor_class_g1_section4_length.c rename to src/grib_accessor_class_g1_section4_length.cpp diff --git a/src/grib_accessor_class_g1area.c b/src/grib_accessor_class_g1area.cpp similarity index 100% rename from src/grib_accessor_class_g1area.c rename to src/grib_accessor_class_g1area.cpp diff --git a/src/grib_accessor_class_g1bitmap.c b/src/grib_accessor_class_g1bitmap.cpp similarity index 100% rename from src/grib_accessor_class_g1bitmap.c rename to src/grib_accessor_class_g1bitmap.cpp diff --git a/src/grib_accessor_class_g1date.c b/src/grib_accessor_class_g1date.cpp similarity index 100% rename from src/grib_accessor_class_g1date.c rename to src/grib_accessor_class_g1date.cpp diff --git a/src/grib_accessor_class_g1day_of_the_year_date.c b/src/grib_accessor_class_g1day_of_the_year_date.cpp similarity index 100% rename from src/grib_accessor_class_g1day_of_the_year_date.c rename to src/grib_accessor_class_g1day_of_the_year_date.cpp diff --git a/src/grib_accessor_class_g1end_of_interval_monthly.c b/src/grib_accessor_class_g1end_of_interval_monthly.cpp similarity index 100% rename from src/grib_accessor_class_g1end_of_interval_monthly.c rename to src/grib_accessor_class_g1end_of_interval_monthly.cpp diff --git a/src/grib_accessor_class_g1fcperiod.c b/src/grib_accessor_class_g1fcperiod.cpp similarity index 100% rename from src/grib_accessor_class_g1fcperiod.c rename to src/grib_accessor_class_g1fcperiod.cpp diff --git a/src/grib_accessor_class_g1forecastmonth.c b/src/grib_accessor_class_g1forecastmonth.cpp similarity index 100% rename from src/grib_accessor_class_g1forecastmonth.c rename to src/grib_accessor_class_g1forecastmonth.cpp diff --git a/src/grib_accessor_class_g1monthlydate.c b/src/grib_accessor_class_g1monthlydate.cpp similarity index 100% rename from src/grib_accessor_class_g1monthlydate.c rename to src/grib_accessor_class_g1monthlydate.cpp diff --git a/src/grib_accessor_class_g1number_of_coded_values_sh_complex.c b/src/grib_accessor_class_g1number_of_coded_values_sh_complex.cpp similarity index 100% rename from src/grib_accessor_class_g1number_of_coded_values_sh_complex.c rename to src/grib_accessor_class_g1number_of_coded_values_sh_complex.cpp diff --git a/src/grib_accessor_class_g1number_of_coded_values_sh_simple.c b/src/grib_accessor_class_g1number_of_coded_values_sh_simple.cpp similarity index 100% rename from src/grib_accessor_class_g1number_of_coded_values_sh_simple.c rename to src/grib_accessor_class_g1number_of_coded_values_sh_simple.cpp diff --git a/src/grib_accessor_class_g1step_range.c b/src/grib_accessor_class_g1step_range.cpp similarity index 100% rename from src/grib_accessor_class_g1step_range.c rename to src/grib_accessor_class_g1step_range.cpp diff --git a/src/grib_accessor_class_g1verificationdate.c b/src/grib_accessor_class_g1verificationdate.cpp similarity index 100% rename from src/grib_accessor_class_g1verificationdate.c rename to src/grib_accessor_class_g1verificationdate.cpp diff --git a/src/grib_accessor_class_g2_aerosol.c b/src/grib_accessor_class_g2_aerosol.cpp similarity index 100% rename from src/grib_accessor_class_g2_aerosol.c rename to src/grib_accessor_class_g2_aerosol.cpp diff --git a/src/grib_accessor_class_g2_chemical.c b/src/grib_accessor_class_g2_chemical.cpp similarity index 100% rename from src/grib_accessor_class_g2_chemical.c rename to src/grib_accessor_class_g2_chemical.cpp diff --git a/src/grib_accessor_class_g2_eps.c b/src/grib_accessor_class_g2_eps.cpp similarity index 100% rename from src/grib_accessor_class_g2_eps.c rename to src/grib_accessor_class_g2_eps.cpp diff --git a/src/grib_accessor_class_g2_mars_labeling.c b/src/grib_accessor_class_g2_mars_labeling.cpp similarity index 100% rename from src/grib_accessor_class_g2_mars_labeling.c rename to src/grib_accessor_class_g2_mars_labeling.cpp diff --git a/src/grib_accessor_class_g2bitmap.c b/src/grib_accessor_class_g2bitmap.cpp similarity index 100% rename from src/grib_accessor_class_g2bitmap.c rename to src/grib_accessor_class_g2bitmap.cpp diff --git a/src/grib_accessor_class_g2bitmap_present.c b/src/grib_accessor_class_g2bitmap_present.cpp similarity index 100% rename from src/grib_accessor_class_g2bitmap_present.c rename to src/grib_accessor_class_g2bitmap_present.cpp diff --git a/src/grib_accessor_class_g2date.c b/src/grib_accessor_class_g2date.cpp similarity index 100% rename from src/grib_accessor_class_g2date.c rename to src/grib_accessor_class_g2date.cpp diff --git a/src/grib_accessor_class_g2end_step.c b/src/grib_accessor_class_g2end_step.cpp similarity index 100% rename from src/grib_accessor_class_g2end_step.c rename to src/grib_accessor_class_g2end_step.cpp diff --git a/src/grib_accessor_class_g2grid.c b/src/grib_accessor_class_g2grid.cpp similarity index 100% rename from src/grib_accessor_class_g2grid.c rename to src/grib_accessor_class_g2grid.cpp diff --git a/src/grib_accessor_class_g2latlon.c b/src/grib_accessor_class_g2latlon.cpp similarity index 100% rename from src/grib_accessor_class_g2latlon.c rename to src/grib_accessor_class_g2latlon.cpp diff --git a/src/grib_accessor_class_g2level.c b/src/grib_accessor_class_g2level.cpp similarity index 100% rename from src/grib_accessor_class_g2level.c rename to src/grib_accessor_class_g2level.cpp diff --git a/src/grib_accessor_class_g2lon.c b/src/grib_accessor_class_g2lon.cpp similarity index 100% rename from src/grib_accessor_class_g2lon.c rename to src/grib_accessor_class_g2lon.cpp diff --git a/src/grib_accessor_class_g2step_range.c b/src/grib_accessor_class_g2step_range.cpp similarity index 100% rename from src/grib_accessor_class_g2step_range.c rename to src/grib_accessor_class_g2step_range.cpp diff --git a/src/grib_accessor_class_gaussian_grid_name.c b/src/grib_accessor_class_gaussian_grid_name.cpp similarity index 100% rename from src/grib_accessor_class_gaussian_grid_name.c rename to src/grib_accessor_class_gaussian_grid_name.cpp diff --git a/src/grib_accessor_class_gds_is_present.c b/src/grib_accessor_class_gds_is_present.cpp similarity index 100% rename from src/grib_accessor_class_gds_is_present.c rename to src/grib_accessor_class_gds_is_present.cpp diff --git a/src/grib_accessor_class_gds_not_present_bitmap.c b/src/grib_accessor_class_gds_not_present_bitmap.cpp similarity index 100% rename from src/grib_accessor_class_gds_not_present_bitmap.c rename to src/grib_accessor_class_gds_not_present_bitmap.cpp diff --git a/src/grib_accessor_class_gen.c b/src/grib_accessor_class_gen.cpp similarity index 100% rename from src/grib_accessor_class_gen.c rename to src/grib_accessor_class_gen.cpp diff --git a/src/grib_accessor_class_getenv.c b/src/grib_accessor_class_getenv.cpp similarity index 100% rename from src/grib_accessor_class_getenv.c rename to src/grib_accessor_class_getenv.cpp diff --git a/src/grib_accessor_class_global_gaussian.c b/src/grib_accessor_class_global_gaussian.cpp similarity index 100% rename from src/grib_accessor_class_global_gaussian.c rename to src/grib_accessor_class_global_gaussian.cpp diff --git a/src/grib_accessor_class_group.c b/src/grib_accessor_class_group.cpp similarity index 100% rename from src/grib_accessor_class_group.c rename to src/grib_accessor_class_group.cpp diff --git a/src/grib_accessor_class_gts_header.c b/src/grib_accessor_class_gts_header.cpp similarity index 100% rename from src/grib_accessor_class_gts_header.c rename to src/grib_accessor_class_gts_header.cpp diff --git a/src/grib_accessor_class_hash_array.c b/src/grib_accessor_class_hash_array.cpp similarity index 100% rename from src/grib_accessor_class_hash_array.c rename to src/grib_accessor_class_hash_array.cpp diff --git a/src/grib_accessor_class_headers_only.c b/src/grib_accessor_class_headers_only.cpp similarity index 100% rename from src/grib_accessor_class_headers_only.c rename to src/grib_accessor_class_headers_only.cpp diff --git a/src/grib_accessor_class_ibmfloat.c b/src/grib_accessor_class_ibmfloat.cpp similarity index 100% rename from src/grib_accessor_class_ibmfloat.c rename to src/grib_accessor_class_ibmfloat.cpp diff --git a/src/grib_accessor_class_ieeefloat.c b/src/grib_accessor_class_ieeefloat.cpp similarity index 100% rename from src/grib_accessor_class_ieeefloat.c rename to src/grib_accessor_class_ieeefloat.cpp diff --git a/src/grib_accessor_class_ifs_param.c b/src/grib_accessor_class_ifs_param.cpp similarity index 100% rename from src/grib_accessor_class_ifs_param.c rename to src/grib_accessor_class_ifs_param.cpp diff --git a/src/grib_accessor_class_int16.c b/src/grib_accessor_class_int16.cpp similarity index 100% rename from src/grib_accessor_class_int16.c rename to src/grib_accessor_class_int16.cpp diff --git a/src/grib_accessor_class_int16_little_endian.c b/src/grib_accessor_class_int16_little_endian.cpp similarity index 100% rename from src/grib_accessor_class_int16_little_endian.c rename to src/grib_accessor_class_int16_little_endian.cpp diff --git a/src/grib_accessor_class_int32.c b/src/grib_accessor_class_int32.cpp similarity index 100% rename from src/grib_accessor_class_int32.c rename to src/grib_accessor_class_int32.cpp diff --git a/src/grib_accessor_class_int32_little_endian.c b/src/grib_accessor_class_int32_little_endian.cpp similarity index 100% rename from src/grib_accessor_class_int32_little_endian.c rename to src/grib_accessor_class_int32_little_endian.cpp diff --git a/src/grib_accessor_class_int64.c b/src/grib_accessor_class_int64.cpp similarity index 100% rename from src/grib_accessor_class_int64.c rename to src/grib_accessor_class_int64.cpp diff --git a/src/grib_accessor_class_int64_little_endian.c b/src/grib_accessor_class_int64_little_endian.cpp similarity index 100% rename from src/grib_accessor_class_int64_little_endian.c rename to src/grib_accessor_class_int64_little_endian.cpp diff --git a/src/grib_accessor_class_int8.c b/src/grib_accessor_class_int8.cpp similarity index 100% rename from src/grib_accessor_class_int8.c rename to src/grib_accessor_class_int8.cpp diff --git a/src/grib_accessor_class_iterator.c b/src/grib_accessor_class_iterator.cpp similarity index 100% rename from src/grib_accessor_class_iterator.c rename to src/grib_accessor_class_iterator.cpp diff --git a/src/grib_accessor_class_julian_date.c b/src/grib_accessor_class_julian_date.cpp similarity index 100% rename from src/grib_accessor_class_julian_date.c rename to src/grib_accessor_class_julian_date.cpp diff --git a/src/grib_accessor_class_julian_day.c b/src/grib_accessor_class_julian_day.cpp similarity index 100% rename from src/grib_accessor_class_julian_day.c rename to src/grib_accessor_class_julian_day.cpp diff --git a/src/grib_accessor_class_ksec1expver.c b/src/grib_accessor_class_ksec1expver.cpp similarity index 100% rename from src/grib_accessor_class_ksec1expver.c rename to src/grib_accessor_class_ksec1expver.cpp diff --git a/src/grib_accessor_class_label.c b/src/grib_accessor_class_label.cpp similarity index 100% rename from src/grib_accessor_class_label.c rename to src/grib_accessor_class_label.cpp diff --git a/src/grib_accessor_class_laplacian.c b/src/grib_accessor_class_laplacian.cpp similarity index 100% rename from src/grib_accessor_class_laplacian.c rename to src/grib_accessor_class_laplacian.cpp diff --git a/src/grib_accessor_class_latitudes.c b/src/grib_accessor_class_latitudes.cpp similarity index 100% rename from src/grib_accessor_class_latitudes.c rename to src/grib_accessor_class_latitudes.cpp diff --git a/src/grib_accessor_class_latlon_increment.c b/src/grib_accessor_class_latlon_increment.cpp similarity index 100% rename from src/grib_accessor_class_latlon_increment.c rename to src/grib_accessor_class_latlon_increment.cpp diff --git a/src/grib_accessor_class_latlonvalues.c b/src/grib_accessor_class_latlonvalues.cpp similarity index 100% rename from src/grib_accessor_class_latlonvalues.c rename to src/grib_accessor_class_latlonvalues.cpp diff --git a/src/grib_accessor_class_library_version.c b/src/grib_accessor_class_library_version.cpp similarity index 100% rename from src/grib_accessor_class_library_version.c rename to src/grib_accessor_class_library_version.cpp diff --git a/src/grib_accessor_class_local_definition.c b/src/grib_accessor_class_local_definition.cpp similarity index 100% rename from src/grib_accessor_class_local_definition.c rename to src/grib_accessor_class_local_definition.cpp diff --git a/src/grib_accessor_class_long.c b/src/grib_accessor_class_long.cpp similarity index 100% rename from src/grib_accessor_class_long.c rename to src/grib_accessor_class_long.cpp diff --git a/src/grib_accessor_class_long_vector.c b/src/grib_accessor_class_long_vector.cpp similarity index 100% rename from src/grib_accessor_class_long_vector.c rename to src/grib_accessor_class_long_vector.cpp diff --git a/src/grib_accessor_class_longitudes.c b/src/grib_accessor_class_longitudes.cpp similarity index 100% rename from src/grib_accessor_class_longitudes.c rename to src/grib_accessor_class_longitudes.cpp diff --git a/src/grib_accessor_class_lookup.c b/src/grib_accessor_class_lookup.cpp similarity index 100% rename from src/grib_accessor_class_lookup.c rename to src/grib_accessor_class_lookup.cpp diff --git a/src/grib_accessor_class_mars_param.c b/src/grib_accessor_class_mars_param.cpp similarity index 100% rename from src/grib_accessor_class_mars_param.c rename to src/grib_accessor_class_mars_param.cpp diff --git a/src/grib_accessor_class_mars_step.c b/src/grib_accessor_class_mars_step.cpp similarity index 100% rename from src/grib_accessor_class_mars_step.c rename to src/grib_accessor_class_mars_step.cpp diff --git a/src/grib_accessor_class_md5.c b/src/grib_accessor_class_md5.cpp similarity index 100% rename from src/grib_accessor_class_md5.c rename to src/grib_accessor_class_md5.cpp diff --git a/src/grib_accessor_class_message.c b/src/grib_accessor_class_message.cpp similarity index 100% rename from src/grib_accessor_class_message.c rename to src/grib_accessor_class_message.cpp diff --git a/src/grib_accessor_class_message_copy.c b/src/grib_accessor_class_message_copy.cpp similarity index 100% rename from src/grib_accessor_class_message_copy.c rename to src/grib_accessor_class_message_copy.cpp diff --git a/src/grib_accessor_class_missing.c b/src/grib_accessor_class_missing.cpp similarity index 100% rename from src/grib_accessor_class_missing.c rename to src/grib_accessor_class_missing.cpp diff --git a/src/grib_accessor_class_nearest.c b/src/grib_accessor_class_nearest.cpp similarity index 100% rename from src/grib_accessor_class_nearest.c rename to src/grib_accessor_class_nearest.cpp diff --git a/src/grib_accessor_class_non_alpha.c b/src/grib_accessor_class_non_alpha.cpp similarity index 100% rename from src/grib_accessor_class_non_alpha.c rename to src/grib_accessor_class_non_alpha.cpp diff --git a/src/grib_accessor_class_number_of_coded_values.c b/src/grib_accessor_class_number_of_coded_values.cpp similarity index 100% rename from src/grib_accessor_class_number_of_coded_values.c rename to src/grib_accessor_class_number_of_coded_values.cpp diff --git a/src/grib_accessor_class_number_of_points.c b/src/grib_accessor_class_number_of_points.cpp similarity index 100% rename from src/grib_accessor_class_number_of_points.c rename to src/grib_accessor_class_number_of_points.cpp diff --git a/src/grib_accessor_class_number_of_points_gaussian.c b/src/grib_accessor_class_number_of_points_gaussian.cpp similarity index 100% rename from src/grib_accessor_class_number_of_points_gaussian.c rename to src/grib_accessor_class_number_of_points_gaussian.cpp diff --git a/src/grib_accessor_class_number_of_values.c b/src/grib_accessor_class_number_of_values.cpp similarity index 100% rename from src/grib_accessor_class_number_of_values.c rename to src/grib_accessor_class_number_of_values.cpp diff --git a/src/grib_accessor_class_number_of_values_data_raw_packing.c b/src/grib_accessor_class_number_of_values_data_raw_packing.cpp similarity index 100% rename from src/grib_accessor_class_number_of_values_data_raw_packing.c rename to src/grib_accessor_class_number_of_values_data_raw_packing.cpp diff --git a/src/grib_accessor_class_octahedral_gaussian.c b/src/grib_accessor_class_octahedral_gaussian.cpp similarity index 100% rename from src/grib_accessor_class_octahedral_gaussian.c rename to src/grib_accessor_class_octahedral_gaussian.cpp diff --git a/src/grib_accessor_class_octet_number.c b/src/grib_accessor_class_octet_number.cpp similarity index 100% rename from src/grib_accessor_class_octet_number.c rename to src/grib_accessor_class_octet_number.cpp diff --git a/src/grib_accessor_class_offset_file.c b/src/grib_accessor_class_offset_file.cpp similarity index 100% rename from src/grib_accessor_class_offset_file.c rename to src/grib_accessor_class_offset_file.cpp diff --git a/src/grib_accessor_class_offset_values.c b/src/grib_accessor_class_offset_values.cpp similarity index 100% rename from src/grib_accessor_class_offset_values.c rename to src/grib_accessor_class_offset_values.cpp diff --git a/src/grib_accessor_class_pack_bufr_values.c b/src/grib_accessor_class_pack_bufr_values.cpp similarity index 100% rename from src/grib_accessor_class_pack_bufr_values.c rename to src/grib_accessor_class_pack_bufr_values.cpp diff --git a/src/grib_accessor_class_pad.c b/src/grib_accessor_class_pad.cpp similarity index 100% rename from src/grib_accessor_class_pad.c rename to src/grib_accessor_class_pad.cpp diff --git a/src/grib_accessor_class_padding.c b/src/grib_accessor_class_padding.cpp similarity index 100% rename from src/grib_accessor_class_padding.c rename to src/grib_accessor_class_padding.cpp diff --git a/src/grib_accessor_class_padto.c b/src/grib_accessor_class_padto.cpp similarity index 100% rename from src/grib_accessor_class_padto.c rename to src/grib_accessor_class_padto.cpp diff --git a/src/grib_accessor_class_padtoeven.c b/src/grib_accessor_class_padtoeven.cpp similarity index 100% rename from src/grib_accessor_class_padtoeven.c rename to src/grib_accessor_class_padtoeven.cpp diff --git a/src/grib_accessor_class_padtomultiple.c b/src/grib_accessor_class_padtomultiple.cpp similarity index 100% rename from src/grib_accessor_class_padtomultiple.c rename to src/grib_accessor_class_padtomultiple.cpp diff --git a/src/grib_accessor_class_position.c b/src/grib_accessor_class_position.cpp similarity index 100% rename from src/grib_accessor_class_position.c rename to src/grib_accessor_class_position.cpp diff --git a/src/grib_accessor_class_proj_string.c b/src/grib_accessor_class_proj_string.cpp similarity index 100% rename from src/grib_accessor_class_proj_string.c rename to src/grib_accessor_class_proj_string.cpp diff --git a/src/grib_accessor_class_raw.c b/src/grib_accessor_class_raw.cpp similarity index 100% rename from src/grib_accessor_class_raw.c rename to src/grib_accessor_class_raw.cpp diff --git a/src/grib_accessor_class_rdbtime_guess_date.c b/src/grib_accessor_class_rdbtime_guess_date.cpp similarity index 100% rename from src/grib_accessor_class_rdbtime_guess_date.c rename to src/grib_accessor_class_rdbtime_guess_date.cpp diff --git a/src/grib_accessor_class_reference_value_error.c b/src/grib_accessor_class_reference_value_error.cpp similarity index 100% rename from src/grib_accessor_class_reference_value_error.c rename to src/grib_accessor_class_reference_value_error.cpp diff --git a/src/grib_accessor_class_round.c b/src/grib_accessor_class_round.cpp similarity index 100% rename from src/grib_accessor_class_round.c rename to src/grib_accessor_class_round.cpp diff --git a/src/grib_accessor_class_scale.c b/src/grib_accessor_class_scale.cpp similarity index 100% rename from src/grib_accessor_class_scale.c rename to src/grib_accessor_class_scale.cpp diff --git a/src/grib_accessor_class_scale_values.c b/src/grib_accessor_class_scale_values.cpp similarity index 100% rename from src/grib_accessor_class_scale_values.c rename to src/grib_accessor_class_scale_values.cpp diff --git a/src/grib_accessor_class_second_order_bits_per_value.c b/src/grib_accessor_class_second_order_bits_per_value.cpp similarity index 100% rename from src/grib_accessor_class_second_order_bits_per_value.c rename to src/grib_accessor_class_second_order_bits_per_value.cpp diff --git a/src/grib_accessor_class_section.c b/src/grib_accessor_class_section.cpp similarity index 100% rename from src/grib_accessor_class_section.c rename to src/grib_accessor_class_section.cpp diff --git a/src/grib_accessor_class_section_length.c b/src/grib_accessor_class_section_length.cpp similarity index 100% rename from src/grib_accessor_class_section_length.c rename to src/grib_accessor_class_section_length.cpp diff --git a/src/grib_accessor_class_section_padding.c b/src/grib_accessor_class_section_padding.cpp similarity index 100% rename from src/grib_accessor_class_section_padding.c rename to src/grib_accessor_class_section_padding.cpp diff --git a/src/grib_accessor_class_section_pointer.c b/src/grib_accessor_class_section_pointer.cpp similarity index 100% rename from src/grib_accessor_class_section_pointer.c rename to src/grib_accessor_class_section_pointer.cpp diff --git a/src/grib_accessor_class_select_step_template.c b/src/grib_accessor_class_select_step_template.cpp similarity index 100% rename from src/grib_accessor_class_select_step_template.c rename to src/grib_accessor_class_select_step_template.cpp diff --git a/src/grib_accessor_class_sexagesimal2decimal.c b/src/grib_accessor_class_sexagesimal2decimal.cpp similarity index 100% rename from src/grib_accessor_class_sexagesimal2decimal.c rename to src/grib_accessor_class_sexagesimal2decimal.cpp diff --git a/src/grib_accessor_class_signed.c b/src/grib_accessor_class_signed.cpp similarity index 100% rename from src/grib_accessor_class_signed.c rename to src/grib_accessor_class_signed.cpp diff --git a/src/grib_accessor_class_signed_bits.c b/src/grib_accessor_class_signed_bits.cpp similarity index 100% rename from src/grib_accessor_class_signed_bits.c rename to src/grib_accessor_class_signed_bits.cpp diff --git a/src/grib_accessor_class_simple_packing_error.c b/src/grib_accessor_class_simple_packing_error.cpp similarity index 100% rename from src/grib_accessor_class_simple_packing_error.c rename to src/grib_accessor_class_simple_packing_error.cpp diff --git a/src/grib_accessor_class_size.c b/src/grib_accessor_class_size.cpp similarity index 100% rename from src/grib_accessor_class_size.c rename to src/grib_accessor_class_size.cpp diff --git a/src/grib_accessor_class_smart_table.c b/src/grib_accessor_class_smart_table.cpp similarity index 100% rename from src/grib_accessor_class_smart_table.c rename to src/grib_accessor_class_smart_table.cpp diff --git a/src/grib_accessor_class_smart_table_column.c b/src/grib_accessor_class_smart_table_column.cpp similarity index 100% rename from src/grib_accessor_class_smart_table_column.c rename to src/grib_accessor_class_smart_table_column.cpp diff --git a/src/grib_accessor_class_spd.c b/src/grib_accessor_class_spd.cpp similarity index 100% rename from src/grib_accessor_class_spd.c rename to src/grib_accessor_class_spd.cpp diff --git a/src/grib_accessor_class_spectral_truncation.c b/src/grib_accessor_class_spectral_truncation.cpp similarity index 100% rename from src/grib_accessor_class_spectral_truncation.c rename to src/grib_accessor_class_spectral_truncation.cpp diff --git a/src/grib_accessor_class_sprintf.c b/src/grib_accessor_class_sprintf.cpp similarity index 100% rename from src/grib_accessor_class_sprintf.c rename to src/grib_accessor_class_sprintf.cpp diff --git a/src/grib_accessor_class_statistics.c b/src/grib_accessor_class_statistics.cpp similarity index 100% rename from src/grib_accessor_class_statistics.c rename to src/grib_accessor_class_statistics.cpp diff --git a/src/grib_accessor_class_statistics_spectral.c b/src/grib_accessor_class_statistics_spectral.cpp similarity index 100% rename from src/grib_accessor_class_statistics_spectral.c rename to src/grib_accessor_class_statistics_spectral.cpp diff --git a/src/grib_accessor_class_step_human_readable.c b/src/grib_accessor_class_step_human_readable.cpp similarity index 100% rename from src/grib_accessor_class_step_human_readable.c rename to src/grib_accessor_class_step_human_readable.cpp diff --git a/src/grib_accessor_class_step_in_units.c b/src/grib_accessor_class_step_in_units.cpp similarity index 100% rename from src/grib_accessor_class_step_in_units.c rename to src/grib_accessor_class_step_in_units.cpp diff --git a/src/grib_accessor_class_sum.c b/src/grib_accessor_class_sum.cpp similarity index 100% rename from src/grib_accessor_class_sum.c rename to src/grib_accessor_class_sum.cpp diff --git a/src/grib_accessor_class_suppressed.c b/src/grib_accessor_class_suppressed.cpp similarity index 100% rename from src/grib_accessor_class_suppressed.c rename to src/grib_accessor_class_suppressed.cpp diff --git a/src/grib_accessor_class_time.c b/src/grib_accessor_class_time.cpp similarity index 100% rename from src/grib_accessor_class_time.c rename to src/grib_accessor_class_time.cpp diff --git a/src/grib_accessor_class_times.c b/src/grib_accessor_class_times.cpp similarity index 100% rename from src/grib_accessor_class_times.c rename to src/grib_accessor_class_times.cpp diff --git a/src/grib_accessor_class_to_double.c b/src/grib_accessor_class_to_double.cpp similarity index 100% rename from src/grib_accessor_class_to_double.c rename to src/grib_accessor_class_to_double.cpp diff --git a/src/grib_accessor_class_to_integer.c b/src/grib_accessor_class_to_integer.cpp similarity index 100% rename from src/grib_accessor_class_to_integer.c rename to src/grib_accessor_class_to_integer.cpp diff --git a/src/grib_accessor_class_to_string.c b/src/grib_accessor_class_to_string.cpp similarity index 100% rename from src/grib_accessor_class_to_string.c rename to src/grib_accessor_class_to_string.cpp diff --git a/src/grib_accessor_class_transient.c b/src/grib_accessor_class_transient.cpp similarity index 100% rename from src/grib_accessor_class_transient.c rename to src/grib_accessor_class_transient.cpp diff --git a/src/grib_accessor_class_transient_darray.c b/src/grib_accessor_class_transient_darray.cpp similarity index 100% rename from src/grib_accessor_class_transient_darray.c rename to src/grib_accessor_class_transient_darray.cpp diff --git a/src/grib_accessor_class_trim.c b/src/grib_accessor_class_trim.cpp similarity index 100% rename from src/grib_accessor_class_trim.c rename to src/grib_accessor_class_trim.cpp diff --git a/src/grib_accessor_class_uint16.c b/src/grib_accessor_class_uint16.cpp similarity index 100% rename from src/grib_accessor_class_uint16.c rename to src/grib_accessor_class_uint16.cpp diff --git a/src/grib_accessor_class_uint16_little_endian.c b/src/grib_accessor_class_uint16_little_endian.cpp similarity index 100% rename from src/grib_accessor_class_uint16_little_endian.c rename to src/grib_accessor_class_uint16_little_endian.cpp diff --git a/src/grib_accessor_class_uint32.c b/src/grib_accessor_class_uint32.cpp similarity index 100% rename from src/grib_accessor_class_uint32.c rename to src/grib_accessor_class_uint32.cpp diff --git a/src/grib_accessor_class_uint32_little_endian.c b/src/grib_accessor_class_uint32_little_endian.cpp similarity index 100% rename from src/grib_accessor_class_uint32_little_endian.c rename to src/grib_accessor_class_uint32_little_endian.cpp diff --git a/src/grib_accessor_class_uint64.c b/src/grib_accessor_class_uint64.cpp similarity index 100% rename from src/grib_accessor_class_uint64.c rename to src/grib_accessor_class_uint64.cpp diff --git a/src/grib_accessor_class_uint64_little_endian.c b/src/grib_accessor_class_uint64_little_endian.cpp similarity index 100% rename from src/grib_accessor_class_uint64_little_endian.c rename to src/grib_accessor_class_uint64_little_endian.cpp diff --git a/src/grib_accessor_class_uint8.c b/src/grib_accessor_class_uint8.cpp similarity index 100% rename from src/grib_accessor_class_uint8.c rename to src/grib_accessor_class_uint8.cpp diff --git a/src/grib_accessor_class_unexpanded_descriptors.c b/src/grib_accessor_class_unexpanded_descriptors.cpp similarity index 100% rename from src/grib_accessor_class_unexpanded_descriptors.c rename to src/grib_accessor_class_unexpanded_descriptors.cpp diff --git a/src/grib_accessor_class_unpack_bufr_values.c b/src/grib_accessor_class_unpack_bufr_values.cpp similarity index 100% rename from src/grib_accessor_class_unpack_bufr_values.c rename to src/grib_accessor_class_unpack_bufr_values.cpp diff --git a/src/grib_accessor_class_unsigned.c b/src/grib_accessor_class_unsigned.cpp similarity index 100% rename from src/grib_accessor_class_unsigned.c rename to src/grib_accessor_class_unsigned.cpp diff --git a/src/grib_accessor_class_unsigned_bits.c b/src/grib_accessor_class_unsigned_bits.cpp similarity index 100% rename from src/grib_accessor_class_unsigned_bits.c rename to src/grib_accessor_class_unsigned_bits.cpp diff --git a/src/grib_accessor_class_validity_date.c b/src/grib_accessor_class_validity_date.cpp similarity index 100% rename from src/grib_accessor_class_validity_date.c rename to src/grib_accessor_class_validity_date.cpp diff --git a/src/grib_accessor_class_validity_time.c b/src/grib_accessor_class_validity_time.cpp similarity index 100% rename from src/grib_accessor_class_validity_time.c rename to src/grib_accessor_class_validity_time.cpp diff --git a/src/grib_accessor_class_values.c b/src/grib_accessor_class_values.cpp similarity index 100% rename from src/grib_accessor_class_values.c rename to src/grib_accessor_class_values.cpp diff --git a/src/grib_accessor_class_variable.c b/src/grib_accessor_class_variable.cpp similarity index 100% rename from src/grib_accessor_class_variable.c rename to src/grib_accessor_class_variable.cpp diff --git a/src/grib_accessor_class_vector.c b/src/grib_accessor_class_vector.cpp similarity index 100% rename from src/grib_accessor_class_vector.c rename to src/grib_accessor_class_vector.cpp diff --git a/src/grib_accessor_class_when.c b/src/grib_accessor_class_when.cpp similarity index 100% rename from src/grib_accessor_class_when.c rename to src/grib_accessor_class_when.cpp diff --git a/src/grib_accessor_classes_hash.c b/src/grib_accessor_classes_hash.cpp similarity index 100% rename from src/grib_accessor_classes_hash.c rename to src/grib_accessor_classes_hash.cpp diff --git a/src/grib_api_version.c b/src/grib_api_version.cpp similarity index 100% rename from src/grib_api_version.c rename to src/grib_api_version.cpp diff --git a/src/grib_api_version.c.in b/src/grib_api_version.cpp.in similarity index 100% rename from src/grib_api_version.c.in rename to src/grib_api_version.cpp.in diff --git a/src/grib_bits.c b/src/grib_bits.cpp similarity index 97% rename from src/grib_bits.c rename to src/grib_bits.cpp index b99f8e033..816b2a44d 100644 --- a/src/grib_bits.c +++ b/src/grib_bits.cpp @@ -187,11 +187,11 @@ int grib_encode_signed_longb(unsigned char* p, long val, long* bitp, long nb) } #if GRIB_IBMPOWER67_OPT -#include "grib_bits_ibmpow.c" +#include "grib_bits_ibmpow.cpp" #else #if FAST_BIG_ENDIAN -#include "grib_bits_fast_big_endian.c" +#include "grib_bits_fast_big_endian.cpp" #else -#include "grib_bits_any_endian.c" +#include "grib_bits_any_endian.cpp" #endif #endif diff --git a/src/grib_bits_any_endian.c b/src/grib_bits_any_endian.cpp similarity index 98% rename from src/grib_bits_any_endian.c rename to src/grib_bits_any_endian.cpp index bcdc7eb2d..42d412559 100644 --- a/src/grib_bits_any_endian.c +++ b/src/grib_bits_any_endian.cpp @@ -427,9 +427,9 @@ int grib_encode_size_tb(unsigned char* p, size_t val, long* bitp, long nb) } #if OMP_PACKING -#include "grib_bits_any_endian_omp.c" +#include "grib_bits_any_endian_omp.cpp" #elif VECTOR -#include "grib_bits_any_endian_vector.c" /* Experimental */ +#include "grib_bits_any_endian_vector.cpp" /* Experimental */ #else -#include "grib_bits_any_endian_simple.c" +#include "grib_bits_any_endian_simple.cpp" #endif diff --git a/src/grib_bits_any_endian_omp.c b/src/grib_bits_any_endian_omp.cpp similarity index 100% rename from src/grib_bits_any_endian_omp.c rename to src/grib_bits_any_endian_omp.cpp diff --git a/src/grib_bits_any_endian_simple.c b/src/grib_bits_any_endian_simple.cpp similarity index 100% rename from src/grib_bits_any_endian_simple.c rename to src/grib_bits_any_endian_simple.cpp diff --git a/src/grib_bits_any_endian_vector.c b/src/grib_bits_any_endian_vector.cpp similarity index 100% rename from src/grib_bits_any_endian_vector.c rename to src/grib_bits_any_endian_vector.cpp diff --git a/src/grib_bits_fast_big_endian.c b/src/grib_bits_fast_big_endian.cpp similarity index 98% rename from src/grib_bits_fast_big_endian.c rename to src/grib_bits_fast_big_endian.cpp index b47dcfcc7..abc8eecc2 100644 --- a/src/grib_bits_fast_big_endian.c +++ b/src/grib_bits_fast_big_endian.cpp @@ -256,9 +256,9 @@ int grib_encode_size_tb(unsigned char* p, size_t val, long* bitp, long nbits) #if VECTOR -#include "grib_bits_fast_big_endian_vector.c" /* Experimental */ +#include "grib_bits_fast_big_endian_vector.cpp" /* Experimental */ #elif OMP -#include "grib_bits_fast_big_endian_omp.c" +#include "grib_bits_fast_big_endian_omp.cpp" #else -#include "grib_bits_fast_big_endian_simple.c" +#include "grib_bits_fast_big_endian_simple.cpp" #endif diff --git a/src/grib_bits_fast_big_endian_omp.c b/src/grib_bits_fast_big_endian_omp.cpp similarity index 100% rename from src/grib_bits_fast_big_endian_omp.c rename to src/grib_bits_fast_big_endian_omp.cpp diff --git a/src/grib_bits_fast_big_endian_simple.c b/src/grib_bits_fast_big_endian_simple.cpp similarity index 100% rename from src/grib_bits_fast_big_endian_simple.c rename to src/grib_bits_fast_big_endian_simple.cpp diff --git a/src/grib_bits_fast_big_endian_vector.c b/src/grib_bits_fast_big_endian_vector.cpp similarity index 100% rename from src/grib_bits_fast_big_endian_vector.c rename to src/grib_bits_fast_big_endian_vector.cpp diff --git a/src/grib_bits_ibmpow.c b/src/grib_bits_ibmpow.cpp similarity index 98% rename from src/grib_bits_ibmpow.c rename to src/grib_bits_ibmpow.cpp index df2b7556a..8dfd58169 100644 --- a/src/grib_bits_ibmpow.c +++ b/src/grib_bits_ibmpow.cpp @@ -139,4 +139,4 @@ int grib_encode_unsigned_longb(unsigned char* p, unsigned long val, long* bitp, return GRIB_SUCCESS; } -#include "grib_bits_ibmpow_opt.c" +#include "grib_bits_ibmpow_opt.cpp" diff --git a/src/grib_bits_ibmpow_opt.c b/src/grib_bits_ibmpow_opt.cpp similarity index 99% rename from src/grib_bits_ibmpow_opt.c rename to src/grib_bits_ibmpow_opt.cpp index 4740c0ff5..b59a11c52 100644 --- a/src/grib_bits_ibmpow_opt.c +++ b/src/grib_bits_ibmpow_opt.cpp @@ -187,7 +187,7 @@ int grib_encode_long_array(size_t n_vals, const long* val, long bits_per_value, #define Error(x, y) fprintf(stderr, x, y) #define restrict -#include "encode_double_array.c" +#include "encode_double_array.cpp" #undef U_BYTEORDER #undef IS_BIGENDIAN diff --git a/src/grib_box.c b/src/grib_box.cpp similarity index 100% rename from src/grib_box.c rename to src/grib_box.cpp diff --git a/src/grib_box_class.c b/src/grib_box_class.cpp similarity index 100% rename from src/grib_box_class.c rename to src/grib_box_class.cpp diff --git a/src/grib_box_class_gen.c b/src/grib_box_class_gen.cpp similarity index 100% rename from src/grib_box_class_gen.c rename to src/grib_box_class_gen.cpp diff --git a/src/grib_buffer.c b/src/grib_buffer.cpp similarity index 100% rename from src/grib_buffer.c rename to src/grib_buffer.cpp diff --git a/src/grib_bufr_descriptor.c b/src/grib_bufr_descriptor.cpp similarity index 100% rename from src/grib_bufr_descriptor.c rename to src/grib_bufr_descriptor.cpp diff --git a/src/grib_bufr_descriptors_array.c b/src/grib_bufr_descriptors_array.cpp similarity index 100% rename from src/grib_bufr_descriptors_array.c rename to src/grib_bufr_descriptors_array.cpp diff --git a/src/grib_concept.c b/src/grib_concept.cpp similarity index 100% rename from src/grib_concept.c rename to src/grib_concept.cpp diff --git a/src/grib_concept_index.c b/src/grib_concept_index.cpp similarity index 100% rename from src/grib_concept_index.c rename to src/grib_concept_index.cpp diff --git a/src/grib_context.c b/src/grib_context.cpp similarity index 100% rename from src/grib_context.c rename to src/grib_context.cpp diff --git a/src/grib_darray.c b/src/grib_darray.cpp similarity index 100% rename from src/grib_darray.c rename to src/grib_darray.cpp diff --git a/src/grib_date.c b/src/grib_date.cpp similarity index 100% rename from src/grib_date.c rename to src/grib_date.cpp diff --git a/src/grib_db.c b/src/grib_db.cpp similarity index 100% rename from src/grib_db.c rename to src/grib_db.cpp diff --git a/src/grib_dependency.c b/src/grib_dependency.cpp similarity index 100% rename from src/grib_dependency.c rename to src/grib_dependency.cpp diff --git a/src/grib_dumper.c b/src/grib_dumper.cpp similarity index 100% rename from src/grib_dumper.c rename to src/grib_dumper.cpp diff --git a/src/grib_dumper_class.c b/src/grib_dumper_class.cpp similarity index 100% rename from src/grib_dumper_class.c rename to src/grib_dumper_class.cpp diff --git a/src/grib_dumper_class_bufr_decode_C.c b/src/grib_dumper_class_bufr_decode_C.cpp similarity index 100% rename from src/grib_dumper_class_bufr_decode_C.c rename to src/grib_dumper_class_bufr_decode_C.cpp diff --git a/src/grib_dumper_class_bufr_decode_filter.c b/src/grib_dumper_class_bufr_decode_filter.cpp similarity index 100% rename from src/grib_dumper_class_bufr_decode_filter.c rename to src/grib_dumper_class_bufr_decode_filter.cpp diff --git a/src/grib_dumper_class_bufr_decode_fortran.c b/src/grib_dumper_class_bufr_decode_fortran.cpp similarity index 100% rename from src/grib_dumper_class_bufr_decode_fortran.c rename to src/grib_dumper_class_bufr_decode_fortran.cpp diff --git a/src/grib_dumper_class_bufr_decode_python.c b/src/grib_dumper_class_bufr_decode_python.cpp similarity index 100% rename from src/grib_dumper_class_bufr_decode_python.c rename to src/grib_dumper_class_bufr_decode_python.cpp diff --git a/src/grib_dumper_class_bufr_encode_C.c b/src/grib_dumper_class_bufr_encode_C.cpp similarity index 100% rename from src/grib_dumper_class_bufr_encode_C.c rename to src/grib_dumper_class_bufr_encode_C.cpp diff --git a/src/grib_dumper_class_bufr_encode_filter.c b/src/grib_dumper_class_bufr_encode_filter.cpp similarity index 100% rename from src/grib_dumper_class_bufr_encode_filter.c rename to src/grib_dumper_class_bufr_encode_filter.cpp diff --git a/src/grib_dumper_class_bufr_encode_fortran.c b/src/grib_dumper_class_bufr_encode_fortran.cpp similarity index 100% rename from src/grib_dumper_class_bufr_encode_fortran.c rename to src/grib_dumper_class_bufr_encode_fortran.cpp diff --git a/src/grib_dumper_class_bufr_encode_python.c b/src/grib_dumper_class_bufr_encode_python.cpp similarity index 100% rename from src/grib_dumper_class_bufr_encode_python.c rename to src/grib_dumper_class_bufr_encode_python.cpp diff --git a/src/grib_dumper_class_bufr_simple.c b/src/grib_dumper_class_bufr_simple.cpp similarity index 100% rename from src/grib_dumper_class_bufr_simple.c rename to src/grib_dumper_class_bufr_simple.cpp diff --git a/src/grib_dumper_class_debug.c b/src/grib_dumper_class_debug.cpp similarity index 100% rename from src/grib_dumper_class_debug.c rename to src/grib_dumper_class_debug.cpp diff --git a/src/grib_dumper_class_default.c b/src/grib_dumper_class_default.cpp similarity index 100% rename from src/grib_dumper_class_default.c rename to src/grib_dumper_class_default.cpp diff --git a/src/grib_dumper_class_grib_encode_C.c b/src/grib_dumper_class_grib_encode_C.cpp similarity index 100% rename from src/grib_dumper_class_grib_encode_C.c rename to src/grib_dumper_class_grib_encode_C.cpp diff --git a/src/grib_dumper_class_json.c b/src/grib_dumper_class_json.cpp similarity index 100% rename from src/grib_dumper_class_json.c rename to src/grib_dumper_class_json.cpp diff --git a/src/grib_dumper_class_keys.c b/src/grib_dumper_class_keys.cpp similarity index 100% rename from src/grib_dumper_class_keys.c rename to src/grib_dumper_class_keys.cpp diff --git a/src/grib_dumper_class_serialize.c b/src/grib_dumper_class_serialize.cpp similarity index 100% rename from src/grib_dumper_class_serialize.c rename to src/grib_dumper_class_serialize.cpp diff --git a/src/grib_dumper_class_wmo.c b/src/grib_dumper_class_wmo.cpp similarity index 100% rename from src/grib_dumper_class_wmo.c rename to src/grib_dumper_class_wmo.cpp diff --git a/src/grib_errors.c b/src/grib_errors.cpp similarity index 100% rename from src/grib_errors.c rename to src/grib_errors.cpp diff --git a/src/grib_errors.c.in b/src/grib_errors.cpp.in similarity index 100% rename from src/grib_errors.c.in rename to src/grib_errors.cpp.in diff --git a/src/grib_expression.c b/src/grib_expression.cpp similarity index 100% rename from src/grib_expression.c rename to src/grib_expression.cpp diff --git a/src/grib_expression_class_accessor.c b/src/grib_expression_class_accessor.cpp similarity index 100% rename from src/grib_expression_class_accessor.c rename to src/grib_expression_class_accessor.cpp diff --git a/src/grib_expression_class_binop.c b/src/grib_expression_class_binop.cpp similarity index 100% rename from src/grib_expression_class_binop.c rename to src/grib_expression_class_binop.cpp diff --git a/src/grib_expression_class_column.c b/src/grib_expression_class_column.cpp similarity index 100% rename from src/grib_expression_class_column.c rename to src/grib_expression_class_column.cpp diff --git a/src/grib_expression_class_constant.c b/src/grib_expression_class_constant.cpp similarity index 100% rename from src/grib_expression_class_constant.c rename to src/grib_expression_class_constant.cpp diff --git a/src/grib_expression_class_double.c b/src/grib_expression_class_double.cpp similarity index 100% rename from src/grib_expression_class_double.c rename to src/grib_expression_class_double.cpp diff --git a/src/grib_expression_class_functor.c b/src/grib_expression_class_functor.cpp similarity index 100% rename from src/grib_expression_class_functor.c rename to src/grib_expression_class_functor.cpp diff --git a/src/grib_expression_class_is_in_dict.c b/src/grib_expression_class_is_in_dict.cpp similarity index 100% rename from src/grib_expression_class_is_in_dict.c rename to src/grib_expression_class_is_in_dict.cpp diff --git a/src/grib_expression_class_is_in_list.c b/src/grib_expression_class_is_in_list.cpp similarity index 100% rename from src/grib_expression_class_is_in_list.c rename to src/grib_expression_class_is_in_list.cpp diff --git a/src/grib_expression_class_is_integer.c b/src/grib_expression_class_is_integer.cpp similarity index 100% rename from src/grib_expression_class_is_integer.c rename to src/grib_expression_class_is_integer.cpp diff --git a/src/grib_expression_class_length.c b/src/grib_expression_class_length.cpp similarity index 100% rename from src/grib_expression_class_length.c rename to src/grib_expression_class_length.cpp diff --git a/src/grib_expression_class_logical_and.c b/src/grib_expression_class_logical_and.cpp similarity index 100% rename from src/grib_expression_class_logical_and.c rename to src/grib_expression_class_logical_and.cpp diff --git a/src/grib_expression_class_logical_or.c b/src/grib_expression_class_logical_or.cpp similarity index 100% rename from src/grib_expression_class_logical_or.c rename to src/grib_expression_class_logical_or.cpp diff --git a/src/grib_expression_class_long.c b/src/grib_expression_class_long.cpp similarity index 100% rename from src/grib_expression_class_long.c rename to src/grib_expression_class_long.cpp diff --git a/src/grib_expression_class_string.c b/src/grib_expression_class_string.cpp similarity index 100% rename from src/grib_expression_class_string.c rename to src/grib_expression_class_string.cpp diff --git a/src/grib_expression_class_string_compare.c b/src/grib_expression_class_string_compare.cpp similarity index 100% rename from src/grib_expression_class_string_compare.c rename to src/grib_expression_class_string_compare.cpp diff --git a/src/grib_expression_class_sub_string.c b/src/grib_expression_class_sub_string.cpp similarity index 100% rename from src/grib_expression_class_sub_string.c rename to src/grib_expression_class_sub_string.cpp diff --git a/src/grib_expression_class_true.c b/src/grib_expression_class_true.cpp similarity index 100% rename from src/grib_expression_class_true.c rename to src/grib_expression_class_true.cpp diff --git a/src/grib_expression_class_unop.c b/src/grib_expression_class_unop.cpp similarity index 100% rename from src/grib_expression_class_unop.c rename to src/grib_expression_class_unop.cpp diff --git a/src/grib_fieldset.c b/src/grib_fieldset.cpp similarity index 100% rename from src/grib_fieldset.c rename to src/grib_fieldset.cpp diff --git a/src/grib_filepool.c b/src/grib_filepool.cpp similarity index 100% rename from src/grib_filepool.c rename to src/grib_filepool.cpp diff --git a/src/grib_gaussian_reduced.c b/src/grib_gaussian_reduced.cpp similarity index 100% rename from src/grib_gaussian_reduced.c rename to src/grib_gaussian_reduced.cpp diff --git a/src/grib_geography.c b/src/grib_geography.cpp similarity index 100% rename from src/grib_geography.c rename to src/grib_geography.cpp diff --git a/src/grib_handle.c b/src/grib_handle.cpp similarity index 100% rename from src/grib_handle.c rename to src/grib_handle.cpp diff --git a/src/grib_hash_array.c b/src/grib_hash_array.cpp similarity index 100% rename from src/grib_hash_array.c rename to src/grib_hash_array.cpp diff --git a/src/grib_hash_keys.c b/src/grib_hash_keys.cpp similarity index 100% rename from src/grib_hash_keys.c rename to src/grib_hash_keys.cpp diff --git a/src/grib_header_compute.c b/src/grib_header_compute.cpp similarity index 100% rename from src/grib_header_compute.c rename to src/grib_header_compute.cpp diff --git a/src/grib_iarray.c b/src/grib_iarray.cpp similarity index 100% rename from src/grib_iarray.c rename to src/grib_iarray.cpp diff --git a/src/grib_ibmfloat.c b/src/grib_ibmfloat.cpp similarity index 100% rename from src/grib_ibmfloat.c rename to src/grib_ibmfloat.cpp diff --git a/src/grib_ieeefloat.c b/src/grib_ieeefloat.cpp similarity index 100% rename from src/grib_ieeefloat.c rename to src/grib_ieeefloat.cpp diff --git a/src/grib_index.c b/src/grib_index.cpp similarity index 100% rename from src/grib_index.c rename to src/grib_index.cpp diff --git a/src/grib_io.c b/src/grib_io.cpp similarity index 100% rename from src/grib_io.c rename to src/grib_io.cpp diff --git a/src/grib_iterator.c b/src/grib_iterator.cpp similarity index 100% rename from src/grib_iterator.c rename to src/grib_iterator.cpp diff --git a/src/grib_iterator_class.c b/src/grib_iterator_class.cpp similarity index 100% rename from src/grib_iterator_class.c rename to src/grib_iterator_class.cpp diff --git a/src/grib_iterator_class_gaussian.c b/src/grib_iterator_class_gaussian.cpp similarity index 100% rename from src/grib_iterator_class_gaussian.c rename to src/grib_iterator_class_gaussian.cpp diff --git a/src/grib_iterator_class_gaussian_reduced.c b/src/grib_iterator_class_gaussian_reduced.cpp similarity index 100% rename from src/grib_iterator_class_gaussian_reduced.c rename to src/grib_iterator_class_gaussian_reduced.cpp diff --git a/src/grib_iterator_class_gen.c b/src/grib_iterator_class_gen.cpp similarity index 100% rename from src/grib_iterator_class_gen.c rename to src/grib_iterator_class_gen.cpp diff --git a/src/grib_iterator_class_lambert_azimuthal_equal_area.c b/src/grib_iterator_class_lambert_azimuthal_equal_area.cpp similarity index 100% rename from src/grib_iterator_class_lambert_azimuthal_equal_area.c rename to src/grib_iterator_class_lambert_azimuthal_equal_area.cpp diff --git a/src/grib_iterator_class_lambert_conformal.c b/src/grib_iterator_class_lambert_conformal.cpp similarity index 100% rename from src/grib_iterator_class_lambert_conformal.c rename to src/grib_iterator_class_lambert_conformal.cpp diff --git a/src/grib_iterator_class_latlon.c b/src/grib_iterator_class_latlon.cpp similarity index 100% rename from src/grib_iterator_class_latlon.c rename to src/grib_iterator_class_latlon.cpp diff --git a/src/grib_iterator_class_latlon_reduced.c b/src/grib_iterator_class_latlon_reduced.cpp similarity index 100% rename from src/grib_iterator_class_latlon_reduced.c rename to src/grib_iterator_class_latlon_reduced.cpp diff --git a/src/grib_iterator_class_mercator.c b/src/grib_iterator_class_mercator.cpp similarity index 100% rename from src/grib_iterator_class_mercator.c rename to src/grib_iterator_class_mercator.cpp diff --git a/src/grib_iterator_class_polar_stereographic.c b/src/grib_iterator_class_polar_stereographic.cpp similarity index 100% rename from src/grib_iterator_class_polar_stereographic.c rename to src/grib_iterator_class_polar_stereographic.cpp diff --git a/src/grib_iterator_class_regular.c b/src/grib_iterator_class_regular.cpp similarity index 100% rename from src/grib_iterator_class_regular.c rename to src/grib_iterator_class_regular.cpp diff --git a/src/grib_iterator_class_space_view.c b/src/grib_iterator_class_space_view.cpp similarity index 100% rename from src/grib_iterator_class_space_view.c rename to src/grib_iterator_class_space_view.cpp diff --git a/src/grib_itrie.c b/src/grib_itrie.cpp similarity index 100% rename from src/grib_itrie.c rename to src/grib_itrie.cpp diff --git a/src/grib_itrie_keys.c b/src/grib_itrie_keys.cpp similarity index 100% rename from src/grib_itrie_keys.c rename to src/grib_itrie_keys.cpp diff --git a/src/grib_jasper_encoding.c b/src/grib_jasper_encoding.cpp similarity index 100% rename from src/grib_jasper_encoding.c rename to src/grib_jasper_encoding.cpp diff --git a/src/grib_keys_iterator.c b/src/grib_keys_iterator.cpp similarity index 100% rename from src/grib_keys_iterator.c rename to src/grib_keys_iterator.cpp diff --git a/src/grib_lex.c b/src/grib_lex.cpp similarity index 100% rename from src/grib_lex.c rename to src/grib_lex.cpp diff --git a/src/grib_loader_from_array.c b/src/grib_loader_from_array.cpp similarity index 100% rename from src/grib_loader_from_array.c rename to src/grib_loader_from_array.cpp diff --git a/src/grib_loader_from_handle.c b/src/grib_loader_from_handle.cpp similarity index 100% rename from src/grib_loader_from_handle.c rename to src/grib_loader_from_handle.cpp diff --git a/src/grib_memory.c b/src/grib_memory.cpp similarity index 100% rename from src/grib_memory.c rename to src/grib_memory.cpp diff --git a/src/grib_nearest.c b/src/grib_nearest.cpp similarity index 100% rename from src/grib_nearest.c rename to src/grib_nearest.cpp diff --git a/src/grib_nearest_class.c b/src/grib_nearest_class.cpp similarity index 100% rename from src/grib_nearest_class.c rename to src/grib_nearest_class.cpp diff --git a/src/grib_nearest_class_gen.c b/src/grib_nearest_class_gen.cpp similarity index 100% rename from src/grib_nearest_class_gen.c rename to src/grib_nearest_class_gen.cpp diff --git a/src/grib_nearest_class_lambert_azimuthal_equal_area.c b/src/grib_nearest_class_lambert_azimuthal_equal_area.cpp similarity index 100% rename from src/grib_nearest_class_lambert_azimuthal_equal_area.c rename to src/grib_nearest_class_lambert_azimuthal_equal_area.cpp diff --git a/src/grib_nearest_class_lambert_conformal.c b/src/grib_nearest_class_lambert_conformal.cpp similarity index 100% rename from src/grib_nearest_class_lambert_conformal.c rename to src/grib_nearest_class_lambert_conformal.cpp diff --git a/src/grib_nearest_class_latlon_reduced.c b/src/grib_nearest_class_latlon_reduced.cpp similarity index 100% rename from src/grib_nearest_class_latlon_reduced.c rename to src/grib_nearest_class_latlon_reduced.cpp diff --git a/src/grib_nearest_class_mercator.c b/src/grib_nearest_class_mercator.cpp similarity index 100% rename from src/grib_nearest_class_mercator.c rename to src/grib_nearest_class_mercator.cpp diff --git a/src/grib_nearest_class_polar_stereographic.c b/src/grib_nearest_class_polar_stereographic.cpp similarity index 100% rename from src/grib_nearest_class_polar_stereographic.c rename to src/grib_nearest_class_polar_stereographic.cpp diff --git a/src/grib_nearest_class_reduced.c b/src/grib_nearest_class_reduced.cpp similarity index 100% rename from src/grib_nearest_class_reduced.c rename to src/grib_nearest_class_reduced.cpp diff --git a/src/grib_nearest_class_regular.c b/src/grib_nearest_class_regular.cpp similarity index 100% rename from src/grib_nearest_class_regular.c rename to src/grib_nearest_class_regular.cpp diff --git a/src/grib_nearest_class_sh.c b/src/grib_nearest_class_sh.cpp similarity index 100% rename from src/grib_nearest_class_sh.c rename to src/grib_nearest_class_sh.cpp diff --git a/src/grib_nearest_class_space_view.c b/src/grib_nearest_class_space_view.cpp similarity index 100% rename from src/grib_nearest_class_space_view.c rename to src/grib_nearest_class_space_view.cpp diff --git a/src/grib_oarray.c b/src/grib_oarray.cpp similarity index 100% rename from src/grib_oarray.c rename to src/grib_oarray.cpp diff --git a/src/grib_openjpeg_encoding.c b/src/grib_openjpeg_encoding.cpp similarity index 100% rename from src/grib_openjpeg_encoding.c rename to src/grib_openjpeg_encoding.cpp diff --git a/src/grib_optimize_decimal_factor.c b/src/grib_optimize_decimal_factor.cpp similarity index 100% rename from src/grib_optimize_decimal_factor.c rename to src/grib_optimize_decimal_factor.cpp diff --git a/src/grib_parse_utils.c b/src/grib_parse_utils.cpp similarity index 100% rename from src/grib_parse_utils.c rename to src/grib_parse_utils.cpp diff --git a/src/grib_query.c b/src/grib_query.cpp similarity index 100% rename from src/grib_query.c rename to src/grib_query.cpp diff --git a/src/grib_rules.c b/src/grib_rules.cpp similarity index 100% rename from src/grib_rules.c rename to src/grib_rules.cpp diff --git a/src/grib_sarray.c b/src/grib_sarray.cpp similarity index 100% rename from src/grib_sarray.c rename to src/grib_sarray.cpp diff --git a/src/grib_scaling.c b/src/grib_scaling.cpp similarity index 100% rename from src/grib_scaling.c rename to src/grib_scaling.cpp diff --git a/src/grib_templates.c b/src/grib_templates.cpp similarity index 100% rename from src/grib_templates.c rename to src/grib_templates.cpp diff --git a/src/grib_timer.c b/src/grib_timer.cpp similarity index 100% rename from src/grib_timer.c rename to src/grib_timer.cpp diff --git a/src/grib_trie.c b/src/grib_trie.cpp similarity index 100% rename from src/grib_trie.c rename to src/grib_trie.cpp diff --git a/src/grib_trie_with_rank.c b/src/grib_trie_with_rank.cpp similarity index 100% rename from src/grib_trie_with_rank.c rename to src/grib_trie_with_rank.cpp diff --git a/src/grib_util.c b/src/grib_util.cpp similarity index 100% rename from src/grib_util.c rename to src/grib_util.cpp diff --git a/src/grib_value.c b/src/grib_value.cpp similarity index 100% rename from src/grib_value.c rename to src/grib_value.cpp diff --git a/src/grib_vdarray.c b/src/grib_vdarray.cpp similarity index 100% rename from src/grib_vdarray.c rename to src/grib_vdarray.cpp diff --git a/src/grib_viarray.c b/src/grib_viarray.cpp similarity index 100% rename from src/grib_viarray.c rename to src/grib_viarray.cpp diff --git a/src/grib_vsarray.c b/src/grib_vsarray.cpp similarity index 100% rename from src/grib_vsarray.c rename to src/grib_vsarray.cpp diff --git a/src/grib_yacc.c b/src/grib_yacc.cpp similarity index 100% rename from src/grib_yacc.c rename to src/grib_yacc.cpp diff --git a/src/md5.c b/src/md5.cpp similarity index 100% rename from src/md5.c rename to src/md5.cpp diff --git a/src/minmax_val.c b/src/minmax_val.cpp similarity index 100% rename from src/minmax_val.c rename to src/minmax_val.cpp diff --git a/src/string_util.c b/src/string_util.cpp similarity index 100% rename from src/string_util.c rename to src/string_util.cpp diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 8ac3058ec..e62e2ee1b 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -32,6 +32,7 @@ list(APPEND test_c_bins grib_optimize_scaling_sh grib_set_force grib_ecc-386 + # grib_ecc-1431 bufr_ecc-517 bufr_ecc-1288 bufr_get_element @@ -49,36 +50,15 @@ list(APPEND test_c_bins grib_lam_bf grib_lam_gp) -if( HAVE_EXPERIMENTAL_BUILD_WITH_CXX ) - foreach( _bin ${test_c_bins} ) - SET( _src ${_bin}.c ) - set_source_files_properties( ${_src} PROPERTIES LANGUAGE CXX ) - endforeach() -endif() - foreach( tool ${test_c_bins} ) # here we use the fact that each tool has only one C file that matches its name ecbuild_add_executable( TARGET ${tool} NOINSTALL - SOURCES ${tool}.c + SOURCES ${tool}.cpp LIBS eccodes ) endforeach() -if( HAVE_EXPERIMENTAL_BUILD_WITH_CXX ) - if( HAVE_AEC AND ENABLE_EXTRA_TESTS ) - list(APPEND test_cpp_bins grib_ecc-1431) - endif() - - foreach( tool ${test_cpp_bins} ) - # here we use the fact that each tool has only one C file that matches its name - ecbuild_add_executable( TARGET ${tool} - NOINSTALL - SOURCES ${tool}.cpp - LIBS eccodes ) - endforeach() -endif() - # Now add each test (shell scripts) ################################################# @@ -291,9 +271,9 @@ if( HAVE_BUILD_TOOLS ) codes_split_file grib_mars_keys) - if( HAVE_AEC AND ENABLE_EXTRA_TESTS AND HAVE_EXPERIMENTAL_BUILD_WITH_CXX ) - list(APPEND tests_extra grib_ecc-1431) - endif() + #if( HAVE_AEC AND ENABLE_EXTRA_TESTS ) + # list(APPEND tests_extra grib_ecc-1431) + #endif() if( HAVE_FORTRAN AND ENABLE_EXTRA_TESTS ) list(APPEND tests_extra bufr_dump_encode_fortran) list(APPEND tests_extra bufr_dump_decode_fortran) @@ -374,7 +354,7 @@ if( HAVE_BUILD_TOOLS ) if( ENABLE_EXTRA_TESTS AND HAVE_ECCODES_THREADS ) ecbuild_add_executable( TARGET grib_encode_pthreads NOINSTALL - SOURCES grib_encode_pthreads.c + SOURCES grib_encode_pthreads.cpp LIBS eccodes ${CMAKE_THREAD_LIBS_INIT} ) ecbuild_add_test( TARGET eccodes_t_grib_encode_pthreads TYPE SCRIPT @@ -383,7 +363,7 @@ if( HAVE_BUILD_TOOLS ) foreach( test grib_threads_ecc-604 grib_threads_ecc-604-encode bufr_threads_ecc-604 ) ecbuild_add_executable( TARGET ${test} NOINSTALL - SOURCES ${test}.c + SOURCES ${test}.cpp LIBS eccodes ${CMAKE_THREAD_LIBS_INIT} ) endforeach() ecbuild_add_test( TARGET eccodes_t_grib_threads_ecc-604 diff --git a/tests/bits.c b/tests/bits.cpp similarity index 100% rename from tests/bits.c rename to tests/bits.cpp diff --git a/tests/bufr_check_descriptors.c b/tests/bufr_check_descriptors.cpp similarity index 100% rename from tests/bufr_check_descriptors.c rename to tests/bufr_check_descriptors.cpp diff --git a/tests/bufr_ecc-1288.c b/tests/bufr_ecc-1288.cpp similarity index 100% rename from tests/bufr_ecc-1288.c rename to tests/bufr_ecc-1288.cpp diff --git a/tests/bufr_ecc-517.c b/tests/bufr_ecc-517.cpp similarity index 100% rename from tests/bufr_ecc-517.c rename to tests/bufr_ecc-517.cpp diff --git a/tests/bufr_extract_headers.c b/tests/bufr_extract_headers.cpp similarity index 100% rename from tests/bufr_extract_headers.c rename to tests/bufr_extract_headers.cpp diff --git a/tests/bufr_get_element.c b/tests/bufr_get_element.cpp similarity index 100% rename from tests/bufr_get_element.c rename to tests/bufr_get_element.cpp diff --git a/tests/bufr_keys_iter.c b/tests/bufr_keys_iter.cpp similarity index 100% rename from tests/bufr_keys_iter.c rename to tests/bufr_keys_iter.cpp diff --git a/tests/bufr_threads_ecc-604.c b/tests/bufr_threads_ecc-604.cpp similarity index 100% rename from tests/bufr_threads_ecc-604.c rename to tests/bufr_threads_ecc-604.cpp diff --git a/tests/codes_new_from_samples.c b/tests/codes_new_from_samples.cpp similarity index 100% rename from tests/codes_new_from_samples.c rename to tests/codes_new_from_samples.cpp diff --git a/tests/codes_set_samples_path.c b/tests/codes_set_samples_path.cpp similarity index 100% rename from tests/codes_set_samples_path.c rename to tests/codes_set_samples_path.cpp diff --git a/tests/decode.c b/tests/decode.cpp similarity index 100% rename from tests/decode.c rename to tests/decode.cpp diff --git a/tests/extract_offsets.c b/tests/extract_offsets.cpp similarity index 100% rename from tests/extract_offsets.c rename to tests/extract_offsets.cpp diff --git a/tests/gauss_sub.c b/tests/gauss_sub.cpp similarity index 100% rename from tests/gauss_sub.c rename to tests/gauss_sub.cpp diff --git a/tests/grib_2nd_order_numValues.c b/tests/grib_2nd_order_numValues.cpp similarity index 100% rename from tests/grib_2nd_order_numValues.c rename to tests/grib_2nd_order_numValues.cpp diff --git a/tests/grib_bpv_limit.c b/tests/grib_bpv_limit.cpp similarity index 100% rename from tests/grib_bpv_limit.c rename to tests/grib_bpv_limit.cpp diff --git a/tests/grib_ccsds_perf.c b/tests/grib_ccsds_perf.cpp similarity index 100% rename from tests/grib_ccsds_perf.c rename to tests/grib_ccsds_perf.cpp diff --git a/tests/grib_check_param_concepts.c b/tests/grib_check_param_concepts.cpp similarity index 100% rename from tests/grib_check_param_concepts.c rename to tests/grib_check_param_concepts.cpp diff --git a/tests/grib_double_cmp.c b/tests/grib_double_cmp.cpp similarity index 100% rename from tests/grib_double_cmp.c rename to tests/grib_double_cmp.cpp diff --git a/tests/grib_ecc-386.c b/tests/grib_ecc-386.cpp similarity index 100% rename from tests/grib_ecc-386.c rename to tests/grib_ecc-386.cpp diff --git a/tests/grib_encode_pthreads.c b/tests/grib_encode_pthreads.cpp similarity index 100% rename from tests/grib_encode_pthreads.c rename to tests/grib_encode_pthreads.cpp diff --git a/tests/grib_fieldset.c b/tests/grib_fieldset.cpp similarity index 100% rename from tests/grib_fieldset.c rename to tests/grib_fieldset.cpp diff --git a/tests/grib_geo_iter.c b/tests/grib_geo_iter.cpp similarity index 100% rename from tests/grib_geo_iter.c rename to tests/grib_geo_iter.cpp diff --git a/tests/grib_ieee.c b/tests/grib_ieee.cpp similarity index 100% rename from tests/grib_ieee.c rename to tests/grib_ieee.cpp diff --git a/tests/grib_indexing.c b/tests/grib_indexing.cpp similarity index 100% rename from tests/grib_indexing.c rename to tests/grib_indexing.cpp diff --git a/tests/grib_keys_iter.c b/tests/grib_keys_iter.cpp similarity index 100% rename from tests/grib_keys_iter.c rename to tests/grib_keys_iter.cpp diff --git a/tests/grib_lam_bf.c b/tests/grib_lam_bf.cpp similarity index 100% rename from tests/grib_lam_bf.c rename to tests/grib_lam_bf.cpp diff --git a/tests/grib_lam_gp.c b/tests/grib_lam_gp.cpp similarity index 100% rename from tests/grib_lam_gp.c rename to tests/grib_lam_gp.cpp diff --git a/tests/grib_local_MeteoFrance.c b/tests/grib_local_MeteoFrance.cpp similarity index 100% rename from tests/grib_local_MeteoFrance.c rename to tests/grib_local_MeteoFrance.cpp diff --git a/tests/grib_multi_from_message.c b/tests/grib_multi_from_message.cpp similarity index 100% rename from tests/grib_multi_from_message.c rename to tests/grib_multi_from_message.cpp diff --git a/tests/grib_nearest_test.c b/tests/grib_nearest_test.cpp similarity index 100% rename from tests/grib_nearest_test.c rename to tests/grib_nearest_test.cpp diff --git a/tests/grib_optimize_scaling.c b/tests/grib_optimize_scaling.cpp similarity index 100% rename from tests/grib_optimize_scaling.c rename to tests/grib_optimize_scaling.cpp diff --git a/tests/grib_optimize_scaling_sh.c b/tests/grib_optimize_scaling_sh.cpp similarity index 100% rename from tests/grib_optimize_scaling_sh.c rename to tests/grib_optimize_scaling_sh.cpp diff --git a/tests/grib_packing_order.c b/tests/grib_packing_order.cpp similarity index 100% rename from tests/grib_packing_order.c rename to tests/grib_packing_order.cpp diff --git a/tests/grib_read_index.c b/tests/grib_read_index.cpp similarity index 100% rename from tests/grib_read_index.c rename to tests/grib_read_index.cpp diff --git a/tests/grib_set_bytes.c b/tests/grib_set_bytes.cpp similarity index 100% rename from tests/grib_set_bytes.c rename to tests/grib_set_bytes.cpp diff --git a/tests/grib_set_force.c b/tests/grib_set_force.cpp similarity index 100% rename from tests/grib_set_force.c rename to tests/grib_set_force.cpp diff --git a/tests/grib_sh_ieee64.c b/tests/grib_sh_ieee64.cpp similarity index 100% rename from tests/grib_sh_ieee64.c rename to tests/grib_sh_ieee64.cpp diff --git a/tests/grib_sh_imag.c b/tests/grib_sh_imag.cpp similarity index 100% rename from tests/grib_sh_imag.c rename to tests/grib_sh_imag.cpp diff --git a/tests/grib_sh_spectral_complex.c b/tests/grib_sh_spectral_complex.cpp similarity index 100% rename from tests/grib_sh_spectral_complex.c rename to tests/grib_sh_spectral_complex.cpp diff --git a/tests/grib_threads_ecc-604-encode.c b/tests/grib_threads_ecc-604-encode.cpp similarity index 100% rename from tests/grib_threads_ecc-604-encode.c rename to tests/grib_threads_ecc-604-encode.cpp diff --git a/tests/grib_threads_ecc-604.c b/tests/grib_threads_ecc-604.cpp similarity index 100% rename from tests/grib_threads_ecc-604.c rename to tests/grib_threads_ecc-604.cpp diff --git a/tests/grib_util_set_spec.c b/tests/grib_util_set_spec.cpp similarity index 100% rename from tests/grib_util_set_spec.c rename to tests/grib_util_set_spec.cpp diff --git a/tests/gribex_perf.c b/tests/gribex_perf.cpp similarity index 100% rename from tests/gribex_perf.c rename to tests/gribex_perf.cpp diff --git a/tests/ibm.c b/tests/ibm.cpp similarity index 100% rename from tests/ibm.c rename to tests/ibm.cpp diff --git a/tests/index_orderby.c b/tests/index_orderby.cpp similarity index 100% rename from tests/index_orderby.c rename to tests/index_orderby.cpp diff --git a/tests/jpeg_perf.c b/tests/jpeg_perf.cpp similarity index 100% rename from tests/jpeg_perf.c rename to tests/jpeg_perf.cpp diff --git a/tests/julian.c b/tests/julian.cpp similarity index 100% rename from tests/julian.c rename to tests/julian.cpp diff --git a/tests/laplacian.c b/tests/laplacian.cpp similarity index 100% rename from tests/laplacian.c rename to tests/laplacian.cpp diff --git a/tests/largefile.c b/tests/largefile.cpp similarity index 100% rename from tests/largefile.c rename to tests/largefile.cpp diff --git a/tests/list_codetable_flagtable_keys.c b/tests/list_codetable_flagtable_keys.cpp similarity index 100% rename from tests/list_codetable_flagtable_keys.c rename to tests/list_codetable_flagtable_keys.cpp diff --git a/tests/pack_unpack.c b/tests/pack_unpack.cpp similarity index 100% rename from tests/pack_unpack.c rename to tests/pack_unpack.cpp diff --git a/tests/packing.c b/tests/packing.cpp similarity index 100% rename from tests/packing.c rename to tests/packing.cpp diff --git a/tests/packing_check.c b/tests/packing_check.cpp similarity index 100% rename from tests/packing_check.c rename to tests/packing_check.cpp diff --git a/tests/png_perf.c b/tests/png_perf.cpp similarity index 100% rename from tests/png_perf.c rename to tests/png_perf.cpp diff --git a/tests/read_any.c b/tests/read_any.cpp similarity index 100% rename from tests/read_any.c rename to tests/read_any.cpp diff --git a/tests/so_perf.c b/tests/so_perf.cpp similarity index 100% rename from tests/so_perf.c rename to tests/so_perf.cpp diff --git a/tests/timing.c b/tests/timing.cpp similarity index 100% rename from tests/timing.c rename to tests/timing.cpp diff --git a/tests/unit_tests.c b/tests/unit_tests.cpp similarity index 100% rename from tests/unit_tests.c rename to tests/unit_tests.cpp diff --git a/tests/values_to_ascii.c b/tests/values_to_ascii.cpp similarity index 100% rename from tests/values_to_ascii.c rename to tests/values_to_ascii.cpp diff --git a/tigge/CMakeLists.txt b/tigge/CMakeLists.txt index dc9e18a76..471994f9f 100644 --- a/tigge/CMakeLists.txt +++ b/tigge/CMakeLists.txt @@ -1,39 +1,31 @@ # tigge -if( HAVE_EXPERIMENTAL_BUILD_WITH_CXX ) - set_source_files_properties(tigge_tools.c PROPERTIES LANGUAGE CXX) - set_source_files_properties(tigge_check.c PROPERTIES LANGUAGE CXX) - if( ECCODES_INSTALL_EXTRA_TOOLS ) - set_source_files_properties(tigge_name.c tigge_accumulations.c tigge_split.c PROPERTIES LANGUAGE CXX) - endif() -endif() - # library ecbuild_add_library(TARGET tigge_tools TYPE STATIC NOINSTALL - SOURCES tigge_tools.c tigge_tools.h) + SOURCES tigge_tools.cpp tigge_tools.h) # executables ecbuild_add_executable(TARGET tigge_check - SOURCES tigge_check.c + SOURCES tigge_check.cpp INCLUDES ${ECCODES_EXTRA_INCLUDE_DIRS} LIBS eccodes tigge_tools) ecbuild_add_executable(TARGET tigge_name - SOURCES tigge_name.c + SOURCES tigge_name.cpp INCLUDES ${ECCODES_EXTRA_INCLUDE_DIRS} CONDITION ECCODES_INSTALL_EXTRA_TOOLS LIBS eccodes tigge_tools) ecbuild_add_executable(TARGET tigge_accumulations - SOURCES tigge_accumulations.c + SOURCES tigge_accumulations.cpp INCLUDES ${ECCODES_EXTRA_INCLUDE_DIRS} CONDITION ECCODES_INSTALL_EXTRA_TOOLS LIBS eccodes tigge_tools) ecbuild_add_executable(TARGET tigge_split - SOURCES tigge_split.c + SOURCES tigge_split.cpp INCLUDES ${ECCODES_EXTRA_INCLUDE_DIRS} CONDITION ECCODES_INSTALL_EXTRA_TOOLS LIBS eccodes tigge_tools) diff --git a/tigge/tigge_accumulations.c b/tigge/tigge_accumulations.cpp similarity index 100% rename from tigge/tigge_accumulations.c rename to tigge/tigge_accumulations.cpp diff --git a/tigge/tigge_check.c b/tigge/tigge_check.cpp similarity index 100% rename from tigge/tigge_check.c rename to tigge/tigge_check.cpp diff --git a/tigge/tigge_name.c b/tigge/tigge_name.cpp similarity index 100% rename from tigge/tigge_name.c rename to tigge/tigge_name.cpp diff --git a/tigge/tigge_split.c b/tigge/tigge_split.cpp similarity index 100% rename from tigge/tigge_split.c rename to tigge/tigge_split.cpp diff --git a/tigge/tigge_tools.c b/tigge/tigge_tools.cpp similarity index 100% rename from tigge/tigge_tools.c rename to tigge/tigge_tools.cpp diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt index 5d97a110d..e1f3358bc 100644 --- a/tools/CMakeLists.txt +++ b/tools/CMakeLists.txt @@ -10,21 +10,12 @@ # list( APPEND ecc_tools_sources - grib_tools.c - grib_options.c + grib_tools.cpp + grib_options.cpp grib_tools.h ) if( EC_OS_NAME MATCHES "windows" ) - list( APPEND ecc_tools_sources wingetopt.c ) -endif() - -if( HAVE_EXPERIMENTAL_BUILD_WITH_CXX ) - foreach( _src ${ecc_tools_sources} ) - get_filename_component( _ext ${_src} EXT ) - if( _ext STREQUAL ".c" ) - set_source_files_properties(${_src} PROPERTIES LANGUAGE CXX) - endif() - endforeach() + list( APPEND ecc_tools_sources wingetopt.cpp ) endif() # tools library @@ -57,57 +48,46 @@ list( APPEND ecc_tools_binaries_extra # Install generic tools foreach( tool ${ecc_tools_binaries} ) # here we use the fact that each tool has only one C file that matches its name - if( HAVE_EXPERIMENTAL_BUILD_WITH_CXX ) - set_source_files_properties(${tool}.c PROPERTIES LANGUAGE CXX) - endif() ecbuild_add_executable( TARGET ${tool} - SOURCES ${tool}.c + SOURCES ${tool}.cpp LIBS ecc_tools ) endforeach() # Install extra tools # User must run cmake with -DECCODES_INSTALL_EXTRA_TOOLS=ON foreach( tool ${ecc_tools_binaries_extra} ) - if( HAVE_EXPERIMENTAL_BUILD_WITH_CXX ) - set_source_files_properties(${tool}.c PROPERTIES LANGUAGE CXX) - endif() ecbuild_add_executable( TARGET ${tool} - SOURCES ${tool}.c + SOURCES ${tool}.cpp CONDITION ECCODES_INSTALL_EXTRA_TOOLS LIBS ecc_tools ) endforeach() -if( HAVE_EXPERIMENTAL_BUILD_WITH_CXX ) - set_source_files_properties(bufr_filter.c PROPERTIES LANGUAGE CXX) - set_source_files_properties(codes_count.c PROPERTIES LANGUAGE CXX) - set_source_files_properties(grib_to_netcdf.c PROPERTIES LANGUAGE CXX) -endif() # grib_count/bufr_count etc. Same source code, different executable names ecbuild_add_executable( TARGET grib_count - SOURCES codes_count.c + SOURCES codes_count.cpp LIBS ecc_tools ) ecbuild_add_executable( TARGET bufr_count - SOURCES codes_count.c + SOURCES codes_count.cpp LIBS ecc_tools ) ecbuild_add_executable( TARGET gts_count - SOURCES codes_count.c + SOURCES codes_count.cpp LIBS ecc_tools ) # grib to netcdf is optional ecbuild_add_executable( TARGET grib_to_netcdf - SOURCES grib_to_netcdf.c + SOURCES grib_to_netcdf.cpp CONDITION HAVE_NETCDF LIBS ecc_tools NetCDF::NetCDF_C ) ecbuild_add_executable( TARGET grib_list_keys - SOURCES list_keys.c + SOURCES list_keys.cpp CONDITION ECCODES_INSTALL_EXTRA_TOOLS LIBS ecc_tools ) ecbuild_add_executable( TARGET codes_bufr_filter - SOURCES bufr_filter.c + SOURCES bufr_filter.cpp LIBS ecc_tools ) diff --git a/tools/big2gribex.c b/tools/big2gribex.cpp similarity index 100% rename from tools/big2gribex.c rename to tools/big2gribex.cpp diff --git a/tools/bufr_3to4.c b/tools/bufr_3to4.cpp similarity index 100% rename from tools/bufr_3to4.c rename to tools/bufr_3to4.cpp diff --git a/tools/bufr_compare.c b/tools/bufr_compare.cpp similarity index 100% rename from tools/bufr_compare.c rename to tools/bufr_compare.cpp diff --git a/tools/bufr_copy.c b/tools/bufr_copy.cpp similarity index 100% rename from tools/bufr_copy.c rename to tools/bufr_copy.cpp diff --git a/tools/bufr_dump.c b/tools/bufr_dump.cpp similarity index 100% rename from tools/bufr_dump.c rename to tools/bufr_dump.cpp diff --git a/tools/bufr_filter.c b/tools/bufr_filter.cpp similarity index 100% rename from tools/bufr_filter.c rename to tools/bufr_filter.cpp diff --git a/tools/bufr_get.c b/tools/bufr_get.cpp similarity index 100% rename from tools/bufr_get.c rename to tools/bufr_get.cpp diff --git a/tools/bufr_index_build.c b/tools/bufr_index_build.cpp similarity index 100% rename from tools/bufr_index_build.c rename to tools/bufr_index_build.cpp diff --git a/tools/bufr_ls.c b/tools/bufr_ls.cpp similarity index 100% rename from tools/bufr_ls.c rename to tools/bufr_ls.cpp diff --git a/tools/bufr_set.c b/tools/bufr_set.cpp similarity index 100% rename from tools/bufr_set.c rename to tools/bufr_set.cpp diff --git a/tools/bufr_split_by_rdbSubtype.c b/tools/bufr_split_by_rdbSubtype.cpp similarity index 100% rename from tools/bufr_split_by_rdbSubtype.c rename to tools/bufr_split_by_rdbSubtype.cpp diff --git a/tools/codes_count.c b/tools/codes_count.cpp similarity index 100% rename from tools/codes_count.c rename to tools/codes_count.cpp diff --git a/tools/codes_export_resource.c b/tools/codes_export_resource.cpp similarity index 100% rename from tools/codes_export_resource.c rename to tools/codes_export_resource.cpp diff --git a/tools/codes_info.c b/tools/codes_info.cpp similarity index 100% rename from tools/codes_info.c rename to tools/codes_info.cpp diff --git a/tools/codes_parser.c b/tools/codes_parser.cpp similarity index 100% rename from tools/codes_parser.c rename to tools/codes_parser.cpp diff --git a/tools/codes_split_file.c b/tools/codes_split_file.cpp similarity index 100% rename from tools/codes_split_file.c rename to tools/codes_split_file.cpp diff --git a/tools/compile.c b/tools/compile.cpp similarity index 100% rename from tools/compile.c rename to tools/compile.cpp diff --git a/tools/gaussian.c b/tools/gaussian.cpp similarity index 100% rename from tools/gaussian.c rename to tools/gaussian.cpp diff --git a/tools/gg_sub_area_check.c b/tools/gg_sub_area_check.cpp similarity index 100% rename from tools/gg_sub_area_check.c rename to tools/gg_sub_area_check.cpp diff --git a/tools/grib2ppm.c b/tools/grib2ppm.cpp similarity index 100% rename from tools/grib2ppm.c rename to tools/grib2ppm.cpp diff --git a/tools/grib_check_gaussian_grid.c b/tools/grib_check_gaussian_grid.cpp similarity index 100% rename from tools/grib_check_gaussian_grid.c rename to tools/grib_check_gaussian_grid.cpp diff --git a/tools/grib_compare.c b/tools/grib_compare.cpp similarity index 100% rename from tools/grib_compare.c rename to tools/grib_compare.cpp diff --git a/tools/grib_copy.c b/tools/grib_copy.cpp similarity index 100% rename from tools/grib_copy.c rename to tools/grib_copy.cpp diff --git a/tools/grib_dump.c b/tools/grib_dump.cpp similarity index 100% rename from tools/grib_dump.c rename to tools/grib_dump.cpp diff --git a/tools/grib_filter.c b/tools/grib_filter.cpp similarity index 100% rename from tools/grib_filter.c rename to tools/grib_filter.cpp diff --git a/tools/grib_get.c b/tools/grib_get.cpp similarity index 100% rename from tools/grib_get.c rename to tools/grib_get.cpp diff --git a/tools/grib_get_data.c b/tools/grib_get_data.cpp similarity index 100% rename from tools/grib_get_data.c rename to tools/grib_get_data.cpp diff --git a/tools/grib_histogram.c b/tools/grib_histogram.cpp similarity index 100% rename from tools/grib_histogram.c rename to tools/grib_histogram.cpp diff --git a/tools/grib_index_build.c b/tools/grib_index_build.cpp similarity index 100% rename from tools/grib_index_build.c rename to tools/grib_index_build.cpp diff --git a/tools/grib_ls.c b/tools/grib_ls.cpp similarity index 100% rename from tools/grib_ls.c rename to tools/grib_ls.cpp diff --git a/tools/grib_merge.c b/tools/grib_merge.cpp similarity index 100% rename from tools/grib_merge.c rename to tools/grib_merge.cpp diff --git a/tools/grib_nearest_land.c b/tools/grib_nearest_land.cpp similarity index 100% rename from tools/grib_nearest_land.c rename to tools/grib_nearest_land.cpp diff --git a/tools/grib_options.c b/tools/grib_options.cpp similarity index 100% rename from tools/grib_options.c rename to tools/grib_options.cpp diff --git a/tools/grib_repair.c b/tools/grib_repair.cpp similarity index 100% rename from tools/grib_repair.c rename to tools/grib_repair.cpp diff --git a/tools/grib_set.c b/tools/grib_set.cpp similarity index 100% rename from tools/grib_set.c rename to tools/grib_set.cpp diff --git a/tools/grib_to_json.c b/tools/grib_to_json.cpp similarity index 100% rename from tools/grib_to_json.c rename to tools/grib_to_json.cpp diff --git a/tools/grib_to_netcdf.c b/tools/grib_to_netcdf.cpp similarity index 100% rename from tools/grib_to_netcdf.c rename to tools/grib_to_netcdf.cpp diff --git a/tools/grib_tools.c b/tools/grib_tools.cpp similarity index 100% rename from tools/grib_tools.c rename to tools/grib_tools.cpp diff --git a/tools/gts_compare.c b/tools/gts_compare.cpp similarity index 100% rename from tools/gts_compare.c rename to tools/gts_compare.cpp diff --git a/tools/gts_copy.c b/tools/gts_copy.cpp similarity index 100% rename from tools/gts_copy.c rename to tools/gts_copy.cpp diff --git a/tools/gts_dump.c b/tools/gts_dump.cpp similarity index 100% rename from tools/gts_dump.c rename to tools/gts_dump.cpp diff --git a/tools/gts_filter.c b/tools/gts_filter.cpp similarity index 100% rename from tools/gts_filter.c rename to tools/gts_filter.cpp diff --git a/tools/gts_get.c b/tools/gts_get.cpp similarity index 100% rename from tools/gts_get.c rename to tools/gts_get.cpp diff --git a/tools/gts_ls.c b/tools/gts_ls.cpp similarity index 100% rename from tools/gts_ls.c rename to tools/gts_ls.cpp diff --git a/tools/list_keys.c b/tools/list_keys.cpp similarity index 100% rename from tools/list_keys.c rename to tools/list_keys.cpp diff --git a/tools/load.c b/tools/load.cpp similarity index 100% rename from tools/load.c rename to tools/load.cpp diff --git a/tools/mars_request.c b/tools/mars_request.cpp similarity index 100% rename from tools/mars_request.c rename to tools/mars_request.cpp diff --git a/tools/metar_compare.c b/tools/metar_compare.cpp similarity index 100% rename from tools/metar_compare.c rename to tools/metar_compare.cpp diff --git a/tools/metar_copy.c b/tools/metar_copy.cpp similarity index 100% rename from tools/metar_copy.c rename to tools/metar_copy.cpp diff --git a/tools/metar_dump.c b/tools/metar_dump.cpp similarity index 100% rename from tools/metar_dump.c rename to tools/metar_dump.cpp diff --git a/tools/metar_filter.c b/tools/metar_filter.cpp similarity index 100% rename from tools/metar_filter.c rename to tools/metar_filter.cpp diff --git a/tools/metar_get.c b/tools/metar_get.cpp similarity index 100% rename from tools/metar_get.c rename to tools/metar_get.cpp diff --git a/tools/metar_ls.c b/tools/metar_ls.cpp similarity index 100% rename from tools/metar_ls.c rename to tools/metar_ls.cpp diff --git a/tools/taf_dump.c b/tools/taf_dump.cpp similarity index 100% rename from tools/taf_dump.c rename to tools/taf_dump.cpp diff --git a/tools/taf_filter.c b/tools/taf_filter.cpp similarity index 100% rename from tools/taf_filter.c rename to tools/taf_filter.cpp diff --git a/tools/taf_get.c b/tools/taf_get.cpp similarity index 100% rename from tools/taf_get.c rename to tools/taf_get.cpp diff --git a/tools/taf_ls.c b/tools/taf_ls.cpp similarity index 100% rename from tools/taf_ls.c rename to tools/taf_ls.cpp diff --git a/tools/test.c b/tools/test.cpp similarity index 100% rename from tools/test.c rename to tools/test.cpp diff --git a/tools/wingetopt.c b/tools/wingetopt.cpp similarity index 100% rename from tools/wingetopt.c rename to tools/wingetopt.cpp diff --git a/tools/xref.c b/tools/xref.cpp similarity index 100% rename from tools/xref.c rename to tools/xref.cpp