#!python # \author Hans J. Johnson # # Now that all supported compilers simply # use exactly one function signature (i.e. # namely the one provided in the std:: namespace) # there is no need to use the vcl_ aliases. import os import sys from collections import OrderedDict if len(sys.argv) != 2: usage = r""" INCORRECT USAGE: {0} USAGE: python {1} source_file_to_modernize Examples: SRC_BASE_DIR=~/MYSRC/Submodule for ext in ".h" ".cxx" ".cpp" ".hxx" ".hpp" ".txx"; do find ${{SRC_BASE_DIR}} -type f -name "*${{ext}}" -exec python Utilities/Maintenance/VCL_ModernizeNaming.py {{}} \; done """.format( sys.argv, sys.argv[0] ) print(usage) sys.exit(-1) # slight modification from grep command info_for_conversion = """ vcl_algorithm.h,vcl_adjacent_find,std::adjacent_find vcl_algorithm.h,vcl_and,std::and vcl_algorithm.h,vcl_binary,std::binary vcl_algorithm.h,vcl_binary_search,std::binary_search vcl_algorithm.h,vcl_copy,std::copy vcl_algorithm.h,vcl_copy_,std::copy_ vcl_algorithm.h,vcl_count,std::count vcl_algorithm.h,vcl_count_if,std::count_if vcl_algorithm.h,vcl_equal,std::equal vcl_algorithm.h,vcl_equal_range,std::equal_range vcl_algorithm.h,vcl_fill,std::fill vcl_algorithm.h,vcl_fill_n,std::fill_n vcl_algorithm.h,vcl_find,std::find vcl_algorithm.h,vcl_find_end,std::find_end vcl_algorithm.h,vcl_find_first_of,std::find_first_of vcl_algorithm.h,vcl_find_if,std::find_if vcl_algorithm.h,vcl_for_each,std::for_each vcl_algorithm.h,vcl_generate,std::generate vcl_algorithm.h,vcl_generate_n,std::generate_n vcl_algorithm.h,vcl_generators_,std::generators_ vcl_algorithm.h,vcl_heap,std::heap vcl_algorithm.h,vcl_includes,std::includes vcl_algorithm.h,vcl_inplace_merge,std::inplace_merge vcl_algorithm.h,vcl_iter_swap,std::iter_swap vcl_algorithm.h,vcl_lexicographical_compare,std::lexicographical_compare vcl_algorithm.h,vcl_lower_bound,std::lower_bound vcl_algorithm.h,vcl_make_heap,std::make_heap vcl_algorithm.h,vcl_max,std::max vcl_algorithm.h,vcl_max_element,std::max_element vcl_algorithm.h,vcl_merge,std::merge vcl_algorithm.h,vcl_merge_,std::merge_ vcl_algorithm.h,vcl_min,std::min vcl_algorithm.h,vcl_min_element,std::min_element vcl_algorithm.h,vcl_mismatch,std::mismatch vcl_algorithm.h,vcl_next_permutation,std::next_permutation vcl_algorithm.h,vcl_nth_element,std::nth_element vcl_algorithm.h,vcl_partial_sort,std::partial_sort vcl_algorithm.h,vcl_partial_sort_copy,std::partial_sort_copy vcl_algorithm.h,vcl_partition,std::partition vcl_algorithm.h,vcl_partitions_,std::partitions_ vcl_algorithm.h,vcl_pop_heap,std::pop_heap vcl_algorithm.h,vcl_prev_permutation,std::prev_permutation vcl_algorithm.h,vcl_push_heap,std::push_heap vcl_algorithm.h,vcl_random_shuffle,std::random_shuffle vcl_algorithm.h,vcl_remove,std::remove vcl_algorithm.h,vcl_remove_copy,std::remove_copy vcl_algorithm.h,vcl_remove_copy_if,std::remove_copy_if vcl_algorithm.h,vcl_remove_if,std::remove_if vcl_algorithm.h,vcl_replace,std::replace vcl_algorithm.h,vcl_replace_copy,std::replace_copy vcl_algorithm.h,vcl_replace_copy_if,std::replace_copy_if vcl_algorithm.h,vcl_replace_if,std::replace_if vcl_algorithm.h,vcl_reverse,std::reverse vcl_algorithm.h,vcl_reverse_copy,std::reverse_copy vcl_algorithm.h,vcl_rotate,std::rotate vcl_algorithm.h,vcl_rotate_copy,std::rotate_copy vcl_algorithm.h,vcl_search,std::search vcl_algorithm.h,vcl_search_n,std::search_n vcl_algorithm.h,vcl_set_difference,std::set_difference vcl_algorithm.h,vcl_set_intersection,std::set_intersection vcl_algorithm.h,vcl_set_symmetric_difference,std::set_symmetric_difference vcl_algorithm.h,vcl_set_union,std::set_union vcl_algorithm.h,vcl_sort,std::sort vcl_algorithm.h,vcl_sort_,std::sort_ vcl_algorithm.h,vcl_sort_heap,std::sort_heap vcl_algorithm.h,vcl_stable_partition,std::stable_partition vcl_algorithm.h,vcl_stable_sort,std::stable_sort vcl_algorithm.h,vcl_swap,std::swap vcl_algorithm.h,vcl_swap_,std::swap_ vcl_algorithm.h,vcl_swap_ranges,std::swap_ranges vcl_algorithm.h,vcl_transform,std::transform vcl_algorithm.h,vcl_unique,std::unique vcl_algorithm.h,vcl_unique_copy,std::unique_copy vcl_algorithm.h,vcl_upper_bound,std::upper_bound vcl_bitset.h,vcl_bitset,std::bitset vcl_cctype.h,vcl_isalnum,std::isalnum vcl_cctype.h,vcl_isalpha,std::isalpha vcl_cctype.h,vcl_iscntrl,std::iscntrl vcl_cctype.h,vcl_isdigit,std::isdigit vcl_cctype.h,vcl_isgraph,std::isgraph vcl_cctype.h,vcl_islower,std::islower vcl_cctype.h,vcl_isprint,std::isprint vcl_cctype.h,vcl_ispunct,std::ispunct vcl_cctype.h,vcl_isspace,std::isspace vcl_cctype.h,vcl_isupper,std::isupper vcl_cctype.h,vcl_isxdigit,std::isxdigit vcl_cctype.h,vcl_tolower,std::tolower vcl_cctype.h,vcl_toupper,std::toupper vcl_cmath.h,vcl_abs,std::abs vcl_cmath.h,vcl_acos,std::acos vcl_cmath.h,vcl_asin,std::asin vcl_cmath.h,vcl_atan,std::atan vcl_cmath.h,vcl_atan2,std::atan2 vcl_cmath.h,vcl_ceil,std::ceil vcl_cmath.h,vcl_cos,std::cos vcl_cmath.h,vcl_cosh,std::cosh vcl_cmath.h,vcl_exp,std::exp vcl_cmath.h,vcl_fabs,std::fabs vcl_cmath.h,vcl_floor,std::floor vcl_cmath.h,vcl_fmod,std::fmod vcl_cmath.h,vcl_frexp,std::frexp vcl_cmath.h,vcl_ldexp,std::ldexp vcl_cmath.h,vcl_log,std::log vcl_cmath.h,vcl_log10,std::log10 vcl_cmath.h,vcl_modf,std::modf vcl_cmath.h,vcl_pow,std::pow vcl_cmath.h,vcl_sin,std::sin vcl_cmath.h,vcl_sinh,std::sinh vcl_cmath.h,vcl_sqrt,std::sqrt vcl_cmath.h,vcl_tan,std::tan vcl_cmath.h,vcl_tanh,std::tanh vcl_complex_fwd.h,vcl_abs,std::abs vcl_complex.h,vcl_abs,std::abs vcl_complex.h,vcl_arg,std::arg vcl_complex.h,vcl_complex,std::complex vcl_complex.h,vcl_conj,std::conj vcl_complex.h,vcl_cos,std::cos vcl_complex.h,vcl_cosh,std::cosh vcl_complex.h,vcl_exp,std::exp vcl_complex.h,vcl_imag,std::imag vcl_complex.h,vcl_log,std::log vcl_complex.h,vcl_log10,std::log10 vcl_complex.h,vcl_norm,std::norm vcl_complex.h,vcl_polar,std::polar vcl_complex.h,vcl_pow,std::pow vcl_complex.h,vcl_real,std::real vcl_complex.h,vcl_sin,std::sin vcl_complex.h,vcl_sinh,std::sinh vcl_complex.h,vcl_sqrt,std::sqrt vcl_complex.h,vcl_tan,std::tan vcl_complex.h,vcl_tanh,std::tanh vcl_csetjmp.h,vcl_jmp_buf,std::jmp_buf vcl_csetjmp.h,vcl_longjmp,std::longjmp vcl_csignal.h,vcl_raise,std::raise vcl_csignal.h,vcl_sig_atomic_t,std::sig_atomic_t vcl_csignal.h,vcl_signal,std::signal vcl_cstdarg.h,vcl_va_list,std::va_list vcl_cstddef.h,vcl_ptrdiff_t,std::ptrdiff_t vcl_cstddef.h,vcl_size_t,std::size_t vcl_cstdio.h,vcl_FILE,std::FILE vcl_cstdio.h,vcl_clearerr,std::clearerr vcl_cstdio.h,vcl_fclose,std::fclose vcl_cstdio.h,vcl_feof,std::feof vcl_cstdio.h,vcl_ferror,std::ferror vcl_cstdio.h,vcl_fflush,std::fflush vcl_cstdio.h,vcl_fgetc,std::fgetc vcl_cstdio.h,vcl_fgetpos,std::fgetpos vcl_cstdio.h,vcl_fgets,std::fgets vcl_cstdio.h,vcl_fopen,std::fopen vcl_cstdio.h,vcl_fpos_t,std::fpos_t vcl_cstdio.h,vcl_fprintf,std::fprintf vcl_cstdio.h,vcl_fputc,std::fputc vcl_cstdio.h,vcl_fputs,std::fputs vcl_cstdio.h,vcl_fread,std::fread vcl_cstdio.h,vcl_freopen,std::freopen vcl_cstdio.h,vcl_fscanf,std::fscanf vcl_cstdio.h,vcl_fseek,std::fseek vcl_cstdio.h,vcl_fsetpos,std::fsetpos vcl_cstdio.h,vcl_ftell,std::ftell vcl_cstdio.h,vcl_fwrite,std::fwrite vcl_cstdio.h,vcl_getc,std::getc vcl_cstdio.h,vcl_getchar,std::getchar vcl_cstdio.h,vcl_gets,std::gets vcl_cstdio.h,vcl_perror,std::perror vcl_cstdio.h,vcl_printf,std::printf vcl_cstdio.h,vcl_putc,std::putc vcl_cstdio.h,vcl_putchar,std::putchar vcl_cstdio.h,vcl_puts,std::puts vcl_cstdio.h,vcl_remove,std::remove vcl_cstdio.h,vcl_rename,std::rename vcl_cstdio.h,vcl_rewind,std::rewind vcl_cstdio.h,vcl_scanf,std::scanf vcl_cstdio.h,vcl_setbuf,std::setbuf vcl_cstdio.h,vcl_setvbuf,std::setvbuf vcl_cstdio.h,vcl_snprintf,vcl_snprintf vcl_cstdio.h,vcl_sprintf,std::sprintf vcl_cstdio.h,vcl_sscanf,std::sscanf vcl_cstdio.h,vcl_tmpfile,std::tmpfile vcl_cstdio.h,vcl_tmpnam,std::tmpnam vcl_cstdio.h,vcl_ungetc,std::ungetc vcl_cstdio.h,vcl_vfprintf,std::vfprintf vcl_cstdio.h,vcl_vfscanf,std::vfscanf vcl_cstdio.h,vcl_vprintf,std::vprintf vcl_cstdio.h,vcl_vscanf,std::vscanf vcl_cstdio.h,vcl_vsprintf,std::vsprintf vcl_cstdio.h,vcl_vsscanf,std::vsscanf vcl_cstdlib.h,vcl_abort,std::abort vcl_cstdlib.h,vcl_abs,std::abs vcl_cstdlib.h,vcl_atexit,std::atexit vcl_cstdlib.h,vcl_atof,std::atof vcl_cstdlib.h,vcl_atoi,std::atoi vcl_cstdlib.h,vcl_atol,std::atol vcl_cstdlib.h,vcl_calloc,std::calloc vcl_cstdlib.h,vcl_div,std::div vcl_cstdlib.h,vcl_exit,std::exit vcl_cstdlib.h,vcl_free,std::free vcl_cstdlib.h,vcl_getenv,std::getenv vcl_cstdlib.h,vcl_labs,std::labs vcl_cstdlib.h,vcl_ldiv,std::ldiv vcl_cstdlib.h,vcl_malloc,std::malloc vcl_cstdlib.h,vcl_mblen,std::mblen vcl_cstdlib.h,vcl_mbstowcs,std::mbstowcs vcl_cstdlib.h,vcl_mbtowc,std::mbtowc vcl_cstdlib.h,vcl_qsort,std::qsort vcl_cstdlib.h,vcl_rand,std::rand vcl_cstdlib.h,vcl_realloc,std::realloc vcl_cstdlib.h,vcl_srand,std::srand vcl_cstdlib.h,vcl_strtod,std::strtod vcl_cstdlib.h,vcl_strtol,std::strtol vcl_cstdlib.h,vcl_strtoul,std::strtoul vcl_cstdlib.h,vcl_system,std::system vcl_cstdlib.h,vcl_wcstombs,std::wcstombs vcl_cstdlib.h,vcl_wctomb,std::wctomb vcl_cstring.h,vcl_memchr,std::memchr vcl_cstring.h,vcl_memcmp,std::memcmp vcl_cstring.h,vcl_memcpy,std::memcpy vcl_cstring.h,vcl_memmove,std::memmove vcl_cstring.h,vcl_memset,std::memset vcl_cstring.h,vcl_strcat,std::strcat vcl_cstring.h,vcl_strchr,std::strchr vcl_cstring.h,vcl_strcmp,std::strcmp vcl_cstring.h,vcl_strcoll,std::strcoll vcl_cstring.h,vcl_strcpy,std::strcpy vcl_cstring.h,vcl_strcspn,std::strcspn vcl_cstring.h,vcl_strerror,std::strerror vcl_cstring.h,vcl_strlen,std::strlen vcl_cstring.h,vcl_strncat,std::strncat vcl_cstring.h,vcl_strncmp,std::strncmp vcl_cstring.h,vcl_strncpy,std::strncpy vcl_cstring.h,vcl_strpbrk,std::strpbrk vcl_cstring.h,vcl_strrchr,std::strrchr vcl_cstring.h,vcl_strspn,std::strspn vcl_cstring.h,vcl_strstr,std::strstr vcl_cstring.h,vcl_strtok,std::strtok vcl_cstring.h,vcl_strxfrm,std::strxfrm vcl_ctime.h,vcl_asctime,std::asctime vcl_ctime.h,vcl_clock,std::clock vcl_ctime.h,vcl_clock_t,std::clock_t vcl_ctime.h,vcl_ctime,std::ctime vcl_ctime.h,vcl_difftime,std::difftime vcl_ctime.h,vcl_gmtime,std::gmtime vcl_ctime.h,vcl_localtime,std::localtime vcl_ctime.h,vcl_mktime,std::mktime vcl_ctime.h,vcl_strftime,std::strftime vcl_ctime.h,vcl_time,std::time vcl_ctime.h,vcl_time_t,std::time_t vcl_ctime.h,vcl_tm,std::tm vcl_cwchar.h,vcl_btowc,std::btowc vcl_cwchar.h,vcl_fgetwc,std::fgetwc vcl_cwchar.h,vcl_fgetws,std::fgetws vcl_cwchar.h,vcl_fputwc,std::fputwc vcl_cwchar.h,vcl_fputws,std::fputws vcl_cwchar.h,vcl_fwide,std::fwide vcl_cwchar.h,vcl_fwprintf,std::fwprintf vcl_cwchar.h,vcl_fwscanf,std::fwscanf vcl_cwchar.h,vcl_getwc,std::getwc vcl_cwchar.h,vcl_getwchar,std::getwchar vcl_cwchar.h,vcl_mbrlen,std::mbrlen vcl_cwchar.h,vcl_mbrtowc,std::mbrtowc vcl_cwchar.h,vcl_mbstate_t,std::mbstate_t vcl_cwchar.h,vcl_putwc,std::putwc vcl_cwchar.h,vcl_putwchar,std::putwchar vcl_cwchar.h,vcl_swprintf,std::swprintf vcl_cwchar.h,vcl_swscanf,std::swscanf vcl_cwchar.h,vcl_ungetwc,std::ungetwc vcl_cwchar.h,vcl_vfwprintf,std::vfwprintf vcl_cwchar.h,vcl_vswprintf,std::vswprintf vcl_cwchar.h,vcl_vwprintf,std::vwprintf vcl_cwchar.h,vcl_wcrtomb,std::wcrtomb vcl_cwchar.h,vcl_wcscat,std::wcscat vcl_cwchar.h,vcl_wcschr,std::wcschr vcl_cwchar.h,vcl_wcscmp,std::wcscmp vcl_cwchar.h,vcl_wcscoll,std::wcscoll vcl_cwchar.h,vcl_wcscpy,std::wcscpy vcl_cwchar.h,vcl_wcscspn,std::wcscspn vcl_cwchar.h,vcl_wcsftime,std::wcsftime vcl_cwchar.h,vcl_wcslen,std::wcslen vcl_cwchar.h,vcl_wcsncat,std::wcsncat vcl_cwchar.h,vcl_wcsncmp,std::wcsncmp vcl_cwchar.h,vcl_wcsncpy,std::wcsncpy vcl_cwchar.h,vcl_wcspbrk,std::wcspbrk vcl_cwchar.h,vcl_wcsrchr,std::wcsrchr vcl_cwchar.h,vcl_wcsrtombs,std::wcsrtombs vcl_cwchar.h,vcl_wcsspn,std::wcsspn vcl_cwchar.h,vcl_wcsstr,std::wcsstr vcl_cwchar.h,vcl_wcstod,std::wcstod vcl_cwchar.h,vcl_wcstok,std::wcstok vcl_cwchar.h,vcl_wcstol,std::wcstol vcl_cwchar.h,vcl_wcsxfrm,std::wcsxfrm vcl_cwchar.h,vcl_wctob,std::wctob vcl_cwchar.h,vcl_wctoul,std::wctoul vcl_cwchar.h,vcl_wint_t,std::wint_t vcl_cwchar.h,vcl_wmemchr,std::wmemchr vcl_cwchar.h,vcl_wmemcmp,std::wmemcmp vcl_cwchar.h,vcl_wmemcpy,std::wmemcpy vcl_cwchar.h,vcl_wmemmove,std::wmemmove vcl_cwchar.h,vcl_wmemset,std::wmemset vcl_cwchar.h,vcl_wprintf,std::wprintf vcl_cwchar.h,vcl_wscanf,std::wscanf vcl_cwctype.h,vcl_iswalnum,std::iswalnum vcl_cwctype.h,vcl_iswalpha,std::iswalpha vcl_cwctype.h,vcl_iswcntrl,std::iswcntrl vcl_cwctype.h,vcl_iswctrans,std::iswctrans vcl_cwctype.h,vcl_iswctype,std::iswctype vcl_cwctype.h,vcl_iswdigit,std::iswdigit vcl_cwctype.h,vcl_iswgraph,std::iswgraph vcl_cwctype.h,vcl_iswlower,std::iswlower vcl_cwctype.h,vcl_iswprint,std::iswprint vcl_cwctype.h,vcl_iswpunct,std::iswpunct vcl_cwctype.h,vcl_iswspace,std::iswspace vcl_cwctype.h,vcl_iswupper,std::iswupper vcl_cwctype.h,vcl_iswxdigit,std::iswxdigit vcl_cwctype.h,vcl_towctrans,std::towctrans vcl_cwctype.h,vcl_towlower,std::towlower vcl_cwctype.h,vcl_towupper,std::towupper vcl_cwctype.h,vcl_wctrans,std::wctrans vcl_cwctype.h,vcl_wctrans_t,std::wctrans_t vcl_cwctype.h,vcl_wctype,std::wctype vcl_cwctype.h,vcl_wctype_t,std::wctype_t vcl_cwctype.h,vcl_wint_t,std::wint_t vcl_deque.h,vcl_deque,std::deque vcl_deque.h,vcl_swap,std::swap vcl_exception.h,vcl_bad_exception,std::bad_exception vcl_exception.h,vcl_exception,std::exception vcl_fstream.h,vcl_filebuf,std::filebuf vcl_fstream.h,vcl_fstream,std::fstream vcl_fstream.h,vcl_ifstream,std::ifstream vcl_fstream.h,vcl_ofstream,std::ofstream vcl_functional.h,vcl_binary_function,std::binary_function vcl_functional.h,vcl_binary_negate,std::binary_negate vcl_functional.h,vcl_bind1st,std::bind1st vcl_functional.h,vcl_bind2nd,std::bind2nd vcl_functional.h,vcl_binder1st,std::binder1st vcl_functional.h,vcl_binder2nd,std::binder2nd vcl_functional.h,vcl_const_mem_fun,std::const_mem_fun vcl_functional.h,vcl_const_mem_fun1,std::const_mem_fun1 vcl_functional.h,vcl_const_mem_fun1_ref,std::const_mem_fun1_ref vcl_functional.h,vcl_const_mem_fun1_ref_t,std::const_mem_fun1_ref_t vcl_functional.h,vcl_const_mem_fun1_t,std::const_mem_fun1_t vcl_functional.h,vcl_const_mem_fun_ref,std::const_mem_fun_ref vcl_functional.h,vcl_const_mem_fun_ref_t,std::const_mem_fun_ref_t vcl_functional.h,vcl_const_mem_fun_t,std::const_mem_fun_t vcl_functional.h,vcl_divides,std::divides vcl_functional.h,vcl_equal_to,std::equal_to vcl_functional.h,vcl_greater,std::greater vcl_functional.h,vcl_greater_equal,std::greater_equal vcl_functional.h,vcl_less,std::less vcl_functional.h,vcl_less_equal,std::less_equal vcl_functional.h,vcl_logical_and,std::logical_and vcl_functional.h,vcl_logical_not,std::logical_not vcl_functional.h,vcl_logical_or,std::logical_or vcl_functional.h,vcl_mem_fun,std::mem_fun vcl_functional.h,vcl_mem_fun1,std::mem_fun1 vcl_functional.h,vcl_mem_fun1_ref,std::mem_fun1_ref vcl_functional.h,vcl_mem_fun1_ref_t,std::mem_fun1_ref_t vcl_functional.h,vcl_mem_fun1_t,std::mem_fun1_t vcl_functional.h,vcl_mem_fun_ref,std::mem_fun_ref vcl_functional.h,vcl_mem_fun_ref_t,std::mem_fun_ref_t vcl_functional.h,vcl_mem_fun_t,std::mem_fun_t vcl_functional.h,vcl_minus,std::minus vcl_functional.h,vcl_modulus,std::modulus vcl_functional.h,vcl_multiplies,std::multiplies vcl_functional.h,vcl_negate,std::negate vcl_functional.h,vcl_not1,std::not1 vcl_functional.h,vcl_not2,std::not2 vcl_functional.h,vcl_not_equal_to,std::not_equal_to vcl_functional.h,vcl_plus,std::plus vcl_functional.h,vcl_pointer_to_binary_function,std::pointer_to_binary_function vcl_functional.h,vcl_pointer_to_unary_function,std::pointer_to_unary_function vcl_functional.h,vcl_ptr_fun,std::ptr_fun vcl_functional.h,vcl_transform,std::transform vcl_functional.h,vcl_unary_function,std::unary_function vcl_functional.h,vcl_unary_negate,std::unary_negate vcl_iomanip.h,vcl_boolalpha,std::boolalpha vcl_iomanip.h,vcl_dec,std::dec vcl_iomanip.h,vcl_fixed,std::fixed vcl_iomanip.h,vcl_hex,std::hex vcl_iomanip.h,vcl_internal,std::internal vcl_iomanip.h,vcl_left,std::left vcl_iomanip.h,vcl_noboolalpha,std::noboolalpha vcl_iomanip.h,vcl_noshowbase,std::noshowbase vcl_iomanip.h,vcl_noshowpoint,std::noshowpoint vcl_iomanip.h,vcl_noshowpos,std::noshowpos vcl_iomanip.h,vcl_noskipws,std::noskipws vcl_iomanip.h,vcl_nouppercase,std::nouppercase vcl_iomanip.h,vcl_oct,std::oct vcl_iomanip.h,vcl_resetiosflags,std::resetiosflags vcl_iomanip.h,vcl_right,std::right vcl_iomanip.h,vcl_scientific,std::scientific vcl_iomanip.h,vcl_setbase,std::setbase vcl_iomanip.h,vcl_setfill,std::setfill vcl_iomanip.h,vcl_setiosflags,std::setiosflags vcl_iomanip.h,vcl_setprecision,std::setprecision vcl_iomanip.h,vcl_setw,std::setw vcl_iomanip.h,vcl_showbase,std::showbase vcl_iomanip.h,vcl_showpoint,std::showpoint vcl_iomanip.h,vcl_showpos,std::showpos vcl_iomanip.h,vcl_skipws,std::skipws vcl_iomanip.h,vcl_uppercase,std::uppercase vcl_ios.h,vcl_basic_ios,std::basic_ios vcl_ios.h,vcl_fpos,std::fpos vcl_ios.h,vcl_ios_adjustfield,std::ios::adjustfield vcl_ios.h,vcl_ios_base,std::ios_base vcl_ios.h,vcl_ios_basefield,std::ios::basefield vcl_ios.h,vcl_ios_beg,std::ios::beg vcl_ios.h,vcl_ios_boolalpha,std::ios::boolalpha vcl_ios.h,vcl_ios_cur,std::ios::cur vcl_ios.h,vcl_ios_dec,std::ios::dec vcl_ios.h,vcl_ios_end,std::ios::end vcl_ios.h,vcl_ios_fixed,std::ios::fixed vcl_ios.h,vcl_ios_floatfield,std::ios::floatfield vcl_ios.h,vcl_ios_fmtflags,std::ios::fmtflags vcl_ios.h,vcl_ios_hex,std::ios::hex vcl_ios.h,vcl_ios_internal,std::ios::internal vcl_ios.h,vcl_ios_left,std::ios::left vcl_ios.h,vcl_ios_noboolalpha,std::ios::noboolalpha vcl_ios.h,vcl_ios_noshowbase,std::ios::noshowbase vcl_ios.h,vcl_ios_noshowpoint,std::ios::noshowpoint vcl_ios.h,vcl_ios_noshowpos,std::ios::noshowpos vcl_ios.h,vcl_ios_noskipws,std::ios::noskipws vcl_ios.h,vcl_ios_nouppercase,std::ios::nouppercase vcl_ios.h,vcl_ios_oct,std::ios::oct vcl_ios.h,vcl_ios_right,std::ios::right vcl_ios.h,vcl_ios_scientific,std::ios::scientific vcl_ios.h,vcl_ios_seekdir,std::ios::seekdir vcl_ios.h,vcl_ios_showbase,std::ios::showbase vcl_ios.h,vcl_ios_showpoint,std::ios::showpoint vcl_ios.h,vcl_ios_showpos,std::ios::showpos vcl_ios.h,vcl_ios_skipws,std::ios::skipws vcl_ios.h,vcl_ios_uppercase,std::ios::uppercase vcl_ios.h,vcl_streamoff,std::streamoff vcl_ios.h,vcl_streamsize,std::streamsize vcl_iosfwd.h,vcl_allocator,std::allocator vcl_iosfwd.h,vcl_basic_filebuf,std::basic_filebuf vcl_iosfwd.h,vcl_basic_fstream,std::basic_fstream vcl_iosfwd.h,vcl_basic_ifstream,std::basic_ifstream vcl_iosfwd.h,vcl_basic_ios,std::basic_ios vcl_iosfwd.h,vcl_basic_iostream,std::basic_iostream vcl_iosfwd.h,vcl_basic_istream,std::basic_istream vcl_iosfwd.h,vcl_basic_istringstream,std::basic_istringstream vcl_iosfwd.h,vcl_basic_ofstream,std::basic_ofstream vcl_iosfwd.h,vcl_basic_ostream,std::basic_ostream vcl_iosfwd.h,vcl_basic_ostringstream,std::basic_ostringstream vcl_iosfwd.h,vcl_basic_streambuf,std::basic_streambuf vcl_iosfwd.h,vcl_char_traits,std::char_traits vcl_iosfwd.h,vcl_filebuf,std::filebuf vcl_iosfwd.h,vcl_fpos,std::fpos vcl_iosfwd.h,vcl_fstream,std::fstream vcl_iosfwd.h,vcl_ifstream,std::ifstream vcl_iosfwd.h,vcl_ios,std::ios vcl_iosfwd.h,vcl_iostream,std::iostream vcl_iosfwd.h,vcl_istream,std::istream vcl_iosfwd.h,vcl_istreambuf_iterator,std::istreambuf_iterator vcl_iosfwd.h,vcl_ofstream,std::ofstream vcl_iosfwd.h,vcl_ostream,std::ostream vcl_iosfwd.h,vcl_ostreambuf_iterator,std::ostreambuf_iterator vcl_iosfwd.h,vcl_streambuf,std::streambuf vcl_iosfwd.h,vcl_streamoff,std::streamoff vcl_iosfwd.h,vcl_streampos,std::streampos vcl_iosfwd.h,vcl_stringstream,std::stringstream vcl_iosfwd.h,vcl_wfilebuf,std::wfilebuf vcl_iosfwd.h,vcl_wfstream,std::wfstream vcl_iosfwd.h,vcl_wifstream,std::wifstream vcl_iosfwd.h,vcl_wios,std::wios vcl_iosfwd.h,vcl_wiostream,std::wiostream vcl_iosfwd.h,vcl_wistream,std::wistream vcl_iosfwd.h,vcl_wistringstream,std::wistringstream vcl_iosfwd.h,vcl_wofstream,std::wofstream vcl_iosfwd.h,vcl_wostream,std::wostream vcl_iosfwd.h,vcl_wostringstream,std::wostringstream vcl_iosfwd.h,vcl_wstreambuf,std::wstreambuf vcl_iosfwd.h,vcl_wstreampos,std::wstreampos vcl_iosfwd.h,vcl_wstringbuf,std::wstringbuf vcl_iosfwd.h,vcl_wstringstream,std::wstringstream vcl_iostream.h,vcl_cerr,std::cerr vcl_iostream.h,vcl_cin,std::cin vcl_iostream.h,vcl_clog,std::clog vcl_iostream.h,vcl_cout,std::cout vcl_iostream.h,vcl_dec,std::dec vcl_iostream.h,vcl_endl,std::endl vcl_iostream.h,vcl_ends,std::ends vcl_iostream.h,vcl_flush,std::flush vcl_iostream.h,vcl_hex,std::hex vcl_iostream.h,vcl_ios_app,std::ios::app vcl_iostream.h,vcl_ios_ate,std::ios::ate vcl_iostream.h,vcl_ios_binary,std::ios::binary vcl_iostream.h,vcl_ios_in,std::ios::in vcl_iostream.h,vcl_ios_openmode,std::ios::openmode vcl_iostream.h,vcl_ios_out,std::ios::out vcl_iostream.h,vcl_ios_trunc,std::ios::trunc vcl_iostream.h,vcl_oct,std::oct vcl_iostream.h,vcl_ostream,std::ostream vcl_iostream.h,vcl_streambuf,std::streambuf vcl_iostream.h,vcl_streampos,std::streampos vcl_iostream.h,vcl_wcout,std::wcout vcl_iostream.h,vcl_ws,std::ws vcl_istream.h,vcl_basic_iostream,std::basic_iostream vcl_istream.h,vcl_basic_istream,std::basic_istream vcl_istream.h,vcl_iostream,std::iostream vcl_istream.h,vcl_istream,std::istream vcl_istream.h,vcl_wiostream,std::wiostream vcl_istream.h,vcl_wistream,std::wistream vcl_iterator.h,vcl_advance,std::advance vcl_iterator.h,vcl_back_insert_iterator,std::back_insert_iterator vcl_iterator.h,vcl_back_inserter,std::back_inserter vcl_iterator.h,vcl_bidirectional_iterator_tag,std::bidirectional_iterator_tag vcl_iterator.h,vcl_distance,std::distance vcl_iterator.h,vcl_forward_iterator_tag,std::forward_iterator_tag vcl_iterator.h,vcl_front_insert_iterator,std::front_insert_iterator vcl_iterator.h,vcl_front_inserter,std::front_inserter vcl_iterator.h,vcl_input_iterator_tag,std::input_iterator_tag vcl_iterator.h,vcl_insert_iterator,std::insert_iterator vcl_iterator.h,vcl_inserter,std::inserter vcl_iterator.h,vcl_istream_iterator,std::istream_iterator vcl_iterator.h,vcl_istreambuf_iterator,std::istreambuf_iterator vcl_iterator.h,vcl_iterator,std::iterator vcl_iterator.h,vcl_iterator_traits,std::iterator_traits vcl_iterator.h,vcl_ostream_iterator,std::ostream_iterator vcl_iterator.h,vcl_ostreambuf_iterator,std::ostreambuf_iterator vcl_iterator.h,vcl_output_iterator_tag,std::output_iterator_tag vcl_iterator.h,vcl_random_access_iterator_tag,std::random_access_iterator_tag vcl_iterator.h,vcl_reverse_iterator,std::reverse_iterator vcl_limits.h,vcl_float_denorm_style,std::float_denorm_style vcl_limits.h,vcl_float_round_style,std::float_round_style vcl_limits.h,vcl_numeric_limits,std::numeric_limits vcl_limits.h,vcl_round_toward_neg_infinity,std::round_toward_neg_infinity vcl_limits.h,vcl_round_toward_zero,std::round_toward_zero vcl_list.h,vcl_list,std::list vcl_list.h,vcl_swap,std::swap vcl_locale.h,vcl_codecvt,std::codecvt vcl_locale.h,vcl_codecvt_base,std::codecvt_base vcl_locale.h,vcl_codecvt_byname,std::codecvt_byname vcl_locale.h,vcl_collate,std::collate vcl_locale.h,vcl_collate_byname,std::collate_byname vcl_locale.h,vcl_ctype,std::ctype vcl_locale.h,vcl_has_facet,std::has_facet vcl_locale.h,vcl_isalnum,std::isalnum vcl_locale.h,vcl_isalpha,std::isalpha vcl_locale.h,vcl_iscntrl,std::iscntrl vcl_locale.h,vcl_isdigit,std::isdigit vcl_locale.h,vcl_isgraph,std::isgraph vcl_locale.h,vcl_islower,std::islower vcl_locale.h,vcl_isprint,std::isprint vcl_locale.h,vcl_ispunct,std::ispunct vcl_locale.h,vcl_isspace,std::isspace vcl_locale.h,vcl_isupper,std::isupper vcl_locale.h,vcl_isxdigit,std::isxdigit vcl_locale.h,vcl_messages,std::messages vcl_locale.h,vcl_messages_byname,std::messages_byname vcl_locale.h,vcl_money_get,std::money_get vcl_locale.h,vcl_money_put,std::money_put vcl_locale.h,vcl_moneypunct,std::moneypunct vcl_locale.h,vcl_moneypunct_byname,std::moneypunct_byname vcl_locale.h,vcl_num_get,std::num_get vcl_locale.h,vcl_num_put,std::num_put vcl_locale.h,vcl_numpunct,std::numpunct vcl_locale.h,vcl_numpunct_byname,std::numpunct_byname vcl_locale.h,vcl_time_get,std::time_get vcl_locale.h,vcl_time_get_byname,std::time_get_byname vcl_locale.h,vcl_time_put,std::time_put vcl_locale.h,vcl_time_put_byname,std::time_put_byname vcl_locale.h,vcl_tolower,std::tolower vcl_locale.h,vcl_toupper,std::toupper vcl_locale.h,vcl_use_facet,std::use_facet vcl_map.h,vcl_map,std::map vcl_map.h,vcl_multimap,std::multimap vcl_map.h,vcl_swap,std::swap vcl_memory.h,vcl_allocator,std::allocator vcl_memory.h,vcl_auto_ptr,std::auto_ptr vcl_memory.h,vcl_get_temporary_buffer,std::get_temporary_buffer vcl_memory.h,vcl_raw_storage_iterator,std::raw_storage_iterator vcl_memory.h,vcl_return_temporary_buffer,std::return_temporary_buffer vcl_memory.h,vcl_uninitialized_copy,std::uninitialized_copy vcl_memory.h,vcl_uninitialized_fill,std::uninitialized_fill vcl_memory.h,vcl_uninitialized_fill_n,std::uninitialized_fill_n vcl_new.h,vcl_bad_alloc,std::bad_alloc vcl_new.h,vcl_set_new_handler,std::set_new_handler vcl_numeric.h,vcl_accumulate,std::accumulate vcl_numeric.h,vcl_adjacent_difference,std::adjacent_difference vcl_numeric.h,vcl_inner_product,std::inner_product vcl_numeric.h,vcl_partial_sum,std::partial_sum vcl_ostream.h,vcl_basic_ostream,std::basic_ostream vcl_ostream.h,vcl_endl,std::endl vcl_ostream.h,vcl_ends,std::ends vcl_ostream.h,vcl_flush,std::flush vcl_ostream.h,vcl_ostream,std::ostream vcl_ostream.h,vcl_wostream,std::wostream vcl_queue.h,vcl_priority_queue,std::priority_queue vcl_queue.h,vcl_queue,std::queue vcl_set.h,vcl_multiset,std::multiset vcl_set.h,vcl_set,std::set vcl_set.h,vcl_swap,std::swap vcl_sstream.h,vcl_basic_stringbuf,std::basic_stringbuf vcl_sstream.h,vcl_istringstream,std::istringstream vcl_sstream.h,vcl_ostringstream,std::ostringstream vcl_sstream.h,vcl_stringbuf,std::stringbuf vcl_sstream.h,vcl_stringstream,std::stringstream vcl_sstream.h,vcl_wstringbuf,std::wstringbuf vcl_stack.h,vcl_stack,std::stack vcl_stdexcept.h,vcl_domain_error,std::domain_error vcl_stdexcept.h,vcl_invalid_argument,std::invalid_argument vcl_stdexcept.h,vcl_length_error,std::length_error vcl_stdexcept.h,vcl_logic_error,std::logic_error vcl_stdexcept.h,vcl_out_of_range,std::out_of_range vcl_stdexcept.h,vcl_overflow_error,std::overflow_error vcl_stdexcept.h,vcl_range_error,std::range_error vcl_stdexcept.h,vcl_runtime_error,std::runtime_error vcl_stdexcept.h,vcl_underflow_error,std::underflow_error vcl_streambuf.h,vcl_basic_streambuf,std::basic_streambuf vcl_streambuf.h,vcl_streambuf,std::streambuf vcl_string.h,vcl_basic_string,std::basic_string vcl_string.h,vcl_char_traits,std::char_traits vcl_string.h,vcl_getline,std::getline vcl_string.h,vcl_string,std::string vcl_string.h,vcl_swap,std::swap vcl_string.h,vcl_wstring,std::wstring vcl_typeinfo.h,vcl_bad_cast,std::bad_cast vcl_typeinfo.h,vcl_bad_typeid,std::bad_typeid vcl_typeinfo.h,vcl_type_info,std::type_info vcl_utility.h,vcl_make_pair,std::make_pair vcl_utility.h,vcl_pair,std::pair vcl_valarray.h,vcl_abs,std::abs vcl_valarray.h,vcl_acos,std::acos vcl_valarray.h,vcl_asin,std::asin vcl_valarray.h,vcl_atan,std::atan vcl_valarray.h,vcl_atan2,std::atan2 vcl_valarray.h,vcl_cos,std::cos vcl_valarray.h,vcl_cosh,std::cosh vcl_valarray.h,vcl_exp,std::exp vcl_valarray.h,vcl_gslice,std::gslice vcl_valarray.h,vcl_gslice_array,std::gslice_array vcl_valarray.h,vcl_indirect_array,std::indirect_array vcl_valarray.h,vcl_log,std::log vcl_valarray.h,vcl_log10,std::log10 vcl_valarray.h,vcl_mask_array,std::mask_array vcl_valarray.h,vcl_pow,std::pow vcl_valarray.h,vcl_sin,std::sin vcl_valarray.h,vcl_sinh,std::sinh vcl_valarray.h,vcl_slice,std::slice vcl_valarray.h,vcl_slice_array,std::slice_array vcl_valarray.h,vcl_sqrt,std::sqrt vcl_valarray.h,vcl_tan,std::tan vcl_valarray.h,vcl_tanh,std::tanh vcl_valarray.h,vcl_valarray,std::valarray vcl_vector.h,vcl_swap,std::swap vcl_vector.h,vcl_vector,std::vector vcl_cerrno.h,vcl_cerr,std::cerr vcl_exception.h,vcl_throw,throw vcl_exception.h,vcl_try,try vcl_exception.h,vcl_catch_all,catch(...) vcl_exception.h,vcl_catch,catch vcl_ios.h,vcl_ios,std::ios """ vcl_replace_head_names = OrderedDict() vcl_replace_functionnames = OrderedDict() vcl_replace_manual = OrderedDict() for line in info_for_conversion.splitlines(): linevalues = line.split(",") if len(linevalues) != 3: # print("SKIPPING: " + str(linevalues)) continue fname = linevalues[0] new_name = fname.replace("vcl_", "").replace(".h", "") vcl_replace_head_names[f'#include "{fname}"'] = f'#include "{new_name}"' vcl_replace_head_names[f"#include <{fname}>"] = f"#include <{new_name}>" vcl_pat = linevalues[1] new_pat = linevalues[2] vcl_replace_functionnames[vcl_pat] = new_pat # Need to fix the fact that both std::ios is a base and a prefix if "std::ios::" in new_pat: vcl_replace_manual[new_pat.replace("std::ios::", "std::ios_")] = new_pat # print(vcl_replace_head_names) # print(vcl_replace_functionnames) cfile = sys.argv[1] file_as_string = "" with open(cfile) as rfp: file_as_string = rfp.read() orig_file = file_as_string if ( file_as_string.find("std::cout") or file_as_string.find("std::cerr") or file_as_string.find("std::cin") ): required_header = "#include \n#include \n" else: required_header = "#include \n" for searchval, replaceval in vcl_replace_head_names.items(): file_as_string_new = file_as_string.replace(searchval, required_header + replaceval) if file_as_string_new != file_as_string: required_header = "" file_as_string = file_as_string_new for searchval, replaceval in vcl_replace_functionnames.items(): file_as_string = file_as_string.replace(searchval, replaceval) for searchval, replaceval in vcl_replace_manual.items(): file_as_string = file_as_string.replace(searchval, replaceval) if orig_file != file_as_string: print("Processing: " + cfile) with open(cfile, "w") as wfp: wfp.write(file_as_string) else: print("NO CHANGES NEEDED: " + cfile)