Changeset fd5d251 for libcfa/src
- Timestamp:
- Jan 20, 2025, 9:45:18 PM (7 weeks ago)
- Branches:
- master
- Children:
- 5dad25df, 5db17077
- Parents:
- df56e25
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified libcfa/src/iostream.cfa ¶
rdf56e25 rfd5d251 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sun Oct 13 10:53:09 202413 // Update Count : 20 4112 // Last Modified On : Mon Jan 20 18:45:43 2025 13 // Update Count : 2063 14 14 // 15 15 … … 795 795 char temp; 796 796 for () { 797 int args = fmt( is, "%c", &temp ); 797 int args = fmt( is, "%c", &temp ); // can be called with EOF on 798 798 if ( eof( is ) ) throwResume ExceptionInst( end_of_file ); 799 799 assert( args == 1 ); // if not EOF => a single character must be read … … 805 805 806 806 istype & ?|?( istype & is, signed char & sc ) { 807 if ( eof( is ) ) throwResume ExceptionInst( end_of_file );808 807 int args = fmt( is, "%hhi", &sc ); // can be multiple characters (100) 809 808 if ( ! eof( is ) && args != 1 ) throwResume ExceptionInst( missing_data ); 809 if ( eof( is ) && args != 1 ) throwResume ExceptionInst( end_of_file ); 810 810 return is; 811 811 } // ?|? 812 812 813 813 istype & ?|?( istype & is, unsigned char & usc ) { 814 if ( eof( is ) ) throwResume ExceptionInst( end_of_file );815 814 int args = fmt( is, "%hhi", &usc ); // can be multiple characters (-100) 816 815 if ( ! eof( is ) && args != 1 ) throwResume ExceptionInst( missing_data ); 816 if ( eof( is ) && args != 1 ) throwResume ExceptionInst( end_of_file ); 817 817 return is; 818 818 } // ?|? 819 819 820 820 istype & ?|?( istype & is, short int & si ) { 821 if ( eof( is ) ) throwResume ExceptionInst( end_of_file ); 822 int args = fmt( is, "%hi", &si ); 821 int args = fmt( is, "%hi", &si ); // can be called with EOF on 823 822 if ( ! eof( is ) && args != 1 ) throwResume ExceptionInst( missing_data ); 823 if ( eof( is ) && args != 1 ) throwResume ExceptionInst( end_of_file ); 824 824 return is; 825 825 } // ?|? 826 826 827 827 istype & ?|?( istype & is, unsigned short int & usi ) { 828 if ( eof( is ) ) throwResume ExceptionInst( end_of_file ); 829 int args = fmt( is, "%hi", &usi ); 828 int args = fmt( is, "%hi", &usi ); // can be called with EOF on 830 829 if ( ! eof( is ) && args != 1 ) throwResume ExceptionInst( missing_data ); 830 if ( eof( is ) && args != 1 ) throwResume ExceptionInst( end_of_file ); 831 831 return is; 832 832 } // ?|? 833 833 834 834 istype & ?|?( istype & is, int & i ) { 835 if ( eof( is ) ) throwResume ExceptionInst( end_of_file ); 836 int args = fmt( is, "%i", &i ); 835 int args = fmt( is, "%i", &i ); // can be called with EOF on 837 836 if ( ! eof( is ) && args != 1 ) throwResume ExceptionInst( missing_data ); 837 if ( eof( is ) && args != 1 ) throwResume ExceptionInst( end_of_file ); 838 838 return is; 839 839 } // ?|? 840 840 841 841 istype & ?|?( istype & is, unsigned int & ui ) { 842 if ( eof( is ) ) throwResume ExceptionInst( end_of_file ); 843 int args = fmt( is, "%i", &ui ); 842 int args = fmt( is, "%i", &ui ); // can be called with EOF on 844 843 if ( ! eof( is ) && args != 1 ) throwResume ExceptionInst( missing_data ); 844 if ( eof( is ) && args != 1 ) throwResume ExceptionInst( end_of_file ); 845 845 return is; 846 846 } // ?|? 847 847 848 848 istype & ?|?( istype & is, long int & li ) { 849 if ( eof( is ) ) throwResume ExceptionInst( end_of_file ); 850 int args = fmt( is, "%li", &li ); 849 int args = fmt( is, "%li", &li ); // can be called with EOF on 851 850 if ( ! eof( is ) && args != 1 ) throwResume ExceptionInst( missing_data ); 851 if ( eof( is ) && args != 1 ) throwResume ExceptionInst( end_of_file ); 852 852 return is; 853 853 } // ?|? 854 854 855 855 istype & ?|?( istype & is, unsigned long int & ulli ) { 856 if ( eof( is ) ) throwResume ExceptionInst( end_of_file ); 857 int args = fmt( is, "%li", &ulli ); 856 int args = fmt( is, "%li", &ulli ); // can be called with EOF on 858 857 if ( ! eof( is ) && args != 1 ) throwResume ExceptionInst( missing_data ); 858 if ( eof( is ) && args != 1 ) throwResume ExceptionInst( end_of_file ); 859 859 return is; 860 860 } // ?|? 861 861 862 862 istype & ?|?( istype & is, long long int & lli ) { 863 if ( eof( is ) ) throwResume ExceptionInst( end_of_file ); 864 int args = fmt( is, "%lli", &lli ); 863 int args = fmt( is, "%lli", &lli ); // can be called with EOF on 865 864 if ( ! eof( is ) && args != 1 ) throwResume ExceptionInst( missing_data ); 865 if ( eof( is ) && args != 1 ) throwResume ExceptionInst( end_of_file ); 866 866 return is; 867 867 } // ?|? 868 868 869 869 istype & ?|?( istype & is, unsigned long long int & ulli ) { 870 if ( eof( is ) ) throwResume ExceptionInst( end_of_file ); 871 int args = fmt( is, "%lli", &ulli ); 870 int args = fmt( is, "%lli", &ulli ); // can be called with EOF on 872 871 if ( ! eof( is ) && args != 1 ) throwResume ExceptionInst( missing_data ); 872 if ( eof( is ) && args != 1 ) throwResume ExceptionInst( end_of_file ); 873 873 return is; 874 874 } // ?|? … … 897 897 898 898 istype & ?|?( istype & is, float & f ) { 899 if ( eof( is ) ) throwResume ExceptionInst( end_of_file ); 900 int args = fmt( is, "%f", &f ); 899 int args = fmt( is, "%f", &f ); // can be called with EOF on 901 900 if ( ! eof( is ) && args != 1 ) throwResume ExceptionInst( missing_data ); 901 if ( eof( is ) && args != 1 ) throwResume ExceptionInst( end_of_file ); 902 902 return is; 903 903 } // ?|? 904 904 905 905 istype & ?|?( istype & is, double & d ) { 906 if ( eof( is ) ) throwResume ExceptionInst( end_of_file ); 907 int args = fmt( is, "%lf", &d ); 906 int args = fmt( is, "%lf", &d ); // can be called with EOF on 908 907 if ( ! eof( is ) && args != 1 ) throwResume ExceptionInst( missing_data ); 908 if ( eof( is ) && args != 1 ) throwResume ExceptionInst( end_of_file ); 909 909 return is; 910 910 } // ?|? 911 911 912 912 istype & ?|?( istype & is, long double & ld ) { 913 if ( eof( is ) ) throwResume ExceptionInst( end_of_file ); 914 int args = fmt( is, "%Lf", &ld ); 913 int args = fmt( is, "%Lf", &ld ); // can be called with EOF on 915 914 if ( ! eof( is ) && args != 1 ) throwResume ExceptionInst( missing_data ); 915 if ( eof( is ) && args != 1 ) throwResume ExceptionInst( end_of_file ); 916 916 return is; 917 917 } // ?|? 918 918 919 919 istype & ?|?( istype & is, float _Complex & fc ) { 920 if ( eof( is ) ) throwResume ExceptionInst( end_of_file );921 920 float re, im; 922 int args = fmt( is, "%f%fi", &re, &im ); 921 int args = fmt( is, "%f%fi", &re, &im ); // can be called with EOF on 923 922 if ( ! eof( is ) && args != 2 ) throwResume ExceptionInst( missing_data ); 923 if ( eof( is ) && args != 2 ) throwResume ExceptionInst( end_of_file ); 924 924 fc = re + im * _Complex_I; 925 925 return is; … … 927 927 928 928 istype & ?|?( istype & is, double _Complex & dc ) { 929 if ( eof( is ) ) throwResume ExceptionInst( end_of_file );930 929 double re, im; 931 int args = fmt( is, "%lf%lfi", &re, &im ); 930 int args = fmt( is, "%lf%lfi", &re, &im ); // can be called with EOF on 932 931 if ( ! eof( is ) && args != 2 ) throwResume ExceptionInst( missing_data ); 932 if ( eof( is ) && args != 2 ) throwResume ExceptionInst( end_of_file ); 933 933 dc = re + im * _Complex_I; 934 934 return is; … … 936 936 937 937 istype & ?|?( istype & is, long double _Complex & ldc ) { 938 if ( eof( is ) ) throwResume ExceptionInst( end_of_file );939 938 long double re, im; 940 int args = fmt( is, "%Lf%Lfi", &re, &im ); 939 int args = fmt( is, "%Lf%Lfi", &re, &im ); // can be called with EOF on 941 940 if ( ! eof( is ) && args != 2 ) throwResume ExceptionInst( missing_data ); 941 if ( eof( is ) && args != 2 ) throwResume ExceptionInst( end_of_file ); 942 942 ldc = re + im * _Complex_I; 943 943 return is; … … 945 945 946 946 istype & ?|?( istype & is, const char fmt[] ) { // match text 947 if ( eof( is ) ) throwResume ExceptionInst( end_of_file );948 947 size_t len = strlen( fmt ); 949 948 char fmtstr[len + 16]; … … 952 951 len = -1; 953 952 // scanf cursor does not move if no match 954 fmt( is, fmtstr, &len ); 955 if ( len == -1 ) throwResume ExceptionInst( missing_data ); 953 fmt( is, fmtstr, &len ); // can be called with EOF on 954 if ( ! eof( is ) && len == -1 ) throwResume ExceptionInst( missing_data ); 955 if ( eof( is ) && len == -1 ) throwResume ExceptionInst( end_of_file ); 956 956 return is; 957 957 } // ?|? … … 999 999 char ch; 1000 1000 for ( f.wd ) { // skip N characters 1001 int args = fmt( is, "%c", &ch ); 1001 int args = fmt( is, "%c", &ch ); // can be called with EOF on 1002 1002 if ( ! eof( is ) && args != 1 ) throwResume ExceptionInst( missing_data ); 1003 1003 } // for
Note: See TracChangeset
for help on using the changeset viewer.