// // Copyright (C) Glen Ditchfield 1994, 1999 // // prelude.cf -- Standard Cforall Preample for C99 // // Author : Glen Ditchfield // Created On : Sat Nov 29 07:23:41 2014 // Last Modified By : Peter A. Buhr // Last Modified On : Sun Apr 22 13:21:47 2018 // Update Count : 103 // # 2 "prelude.cf" // needed for error messages from this file // Section numbers from: http://plg.uwaterloo.ca/~cforall/refrat.pdf // ------------------------------------------------------------ // // Section 6.7.11 Trait Declarations // Note: the sized trait is used in declarations later in this // file, so it must be out of order. // // ------------------------------------------------------------ trait sized(dtype T) {}; // ------------------------------------------------------------ // // Section 4.1 Primary Expressions // // ------------------------------------------------------------ //We have none // ------------------------------------------------------------ // // Section 4.2 Postfix Operators // // ------------------------------------------------------------ signed short ?++( signed short & ), ?++( volatile signed short & ); signed short ?--( signed short & ), ?--( volatile signed short & ); unsigned short ?++( unsigned short & ), ?++( volatile unsigned short & ); unsigned short ?--( unsigned short & ), ?--( volatile unsigned short & ); signed int ?++( signed int & ), ?++( volatile signed int & ); signed int ?--( signed int & ), ?--( volatile signed int & ); unsigned int ?++( unsigned int & ), ?++( volatile unsigned int & ); unsigned int ?--( unsigned int & ), ?--( volatile unsigned int & ); signed long int ?++( signed long int & ), ?++( volatile signed long int & ); signed long int ?--( signed long int & ), ?--( volatile signed long int & ); unsigned long int ?++( unsigned long int & ), ?++( volatile unsigned long int & ); unsigned long int ?--( unsigned long int & ), ?--( volatile unsigned long int & ); signed long long int ?++( signed long long int & ), ?++( volatile signed long long int & ); signed long long int ?--( signed long long int & ), ?--( volatile signed long long int & ); unsigned long long int ?++( unsigned long long int & ), ?++( volatile unsigned long long int & ); unsigned long long int ?--( unsigned long long int & ), ?--( volatile unsigned long long int & ); float ?++( float & ), ?++( volatile float & ); float ?--( float & ), ?--( volatile float & ); double ?++( double & ), ?++( volatile double & ); double ?--( double & ), ?--( volatile double & ); long double ?++( long double & ), ?++( volatile long double & ); long double ?--( long double & ), ?--( volatile long double & ); float _Complex ?++( float _Complex & ), ?++( volatile float _Complex & ); float _Complex ?--( float _Complex & ), ?--( volatile float _Complex & ); double _Complex ?++( double _Complex & ), ?++( volatile double _Complex & ); double _Complex ?--( double _Complex & ), ?--( volatile double _Complex & ); long double _Complex ?++( long double _Complex & ), ?++( volatile long double _Complex & ); long double _Complex ?--( long double _Complex & ), ?--( volatile long double _Complex & ); forall( dtype T | sized(T) ) T * ?++( T *& ); forall( dtype T | sized(T) ) const T * ?++( const T *& ); forall( dtype T | sized(T) ) volatile T * ?++( volatile T *& ); forall( dtype T | sized(T) ) const volatile T * ?++( const volatile T *& ); forall( dtype T | sized(T) ) T * ?--( T *& ); forall( dtype T | sized(T) ) const T * ?--( const T *& ); forall( dtype T | sized(T) ) volatile T * ?--( volatile T *& ); forall( dtype T | sized(T) ) const volatile T * ?--( const volatile T *& ); forall( dtype T | sized(T) ) T & ?[?]( T *, ptrdiff_t ); forall( dtype T | sized(T) ) const T & ?[?]( const T *, ptrdiff_t ); forall( dtype T | sized(T) ) volatile T & ?[?]( volatile T *, ptrdiff_t ); forall( dtype T | sized(T) ) const volatile T & ?[?]( const volatile T *, ptrdiff_t ); forall( dtype T | sized(T) ) T & ?[?]( ptrdiff_t, T * ); forall( dtype T | sized(T) ) const T & ?[?]( ptrdiff_t, const T * ); forall( dtype T | sized(T) ) volatile T & ?[?]( ptrdiff_t, volatile T * ); forall( dtype T | sized(T) ) const volatile T & ?[?]( ptrdiff_t, const volatile T * ); // ------------------------------------------------------------ // // Section 4.3 Unary Operators // // ------------------------------------------------------------ signed short ++?( signed short & ), --?( signed short & ); signed int ++?( signed int & ), --?( signed int & ); unsigned short ++?( unsigned int & ), --?( unsigned int & ); unsigned int ++?( unsigned short & ), --?( unsigned short & ); signed long int ++?( signed long int & ), --?( signed long int & ); unsigned long int ++?( unsigned long int & ), --?( unsigned long int & ); signed long long int ++?( signed long long int & ), --?( signed long long int & ); unsigned long long int ++?( unsigned long long int & ), --?( unsigned long long int & ); float ++?( float & ), --?( float & ); double ++?( double & ), --?( double & ); long double ++?( long double & ), --?( long double & ); float _Complex ++?( float _Complex & ), --?( float _Complex & ); double _Complex ++?( double _Complex & ), --?( double _Complex & ); long double _Complex ++?( long double _Complex & ), --?( long double _Complex & ); forall( dtype T | sized(T) ) T * ++?( T *& ); forall( dtype T | sized(T) ) const T * ++?( const T *& ); forall( dtype T | sized(T) ) volatile T * ++?( volatile T *& ); forall( dtype T | sized(T) ) const volatile T * ++?( const volatile T *& ); forall( dtype T | sized(T) ) T * --?( T *& ); forall( dtype T | sized(T) ) const T * --?( const T *& ); forall( dtype T | sized(T) ) volatile T * --?( volatile T *& ); forall( dtype T | sized(T) ) const volatile T * --?( const volatile T *& ); forall( dtype T | sized(T) ) T & *?( T * ); forall( dtype T | sized(T) ) const T & *?( const T * ); forall( dtype T | sized(T) ) volatile T & *?( volatile T * ); forall( dtype T | sized(T) ) const volatile T & *?( const volatile T * ); forall( ftype FT ) FT & *?( FT * ); _Bool +?( _Bool ), -?( _Bool ); signed int +?( signed int ), -?( signed int ), ~?( signed int ); unsigned int +?( unsigned int ), -?( unsigned int ), ~?( unsigned int ); signed long int +?( signed long int ), -?( signed long int ), ~?( signed long int ); unsigned long int +?( unsigned long int ), -?( unsigned long int ), ~?( unsigned long int ); signed long long int +?( signed long long int ), -?( signed long long int ), ~?( signed long long int ); unsigned long long int +?( unsigned long long int ), -?( unsigned long long int ), ~?( unsigned long long int ); float +?( float ), -?( float ); double +?( double ), -?( double ); long double +?( long double ), -?( long double ); float _Complex +?( float _Complex ), -?( float _Complex ); double _Complex +?( double _Complex ), -?( double _Complex ); long double _Complex +?( long double _Complex ), -?( long double _Complex ); signed int !?( signed int ), !?( unsigned int ), !?( long int ), !?( unsigned long int ), !?( long long int ), !?( unsigned long long int ), !?( float ), !?( double ), !?( long double ), !?( float _Complex ), !?( double _Complex ), !?( long double _Complex ); forall( dtype DT ) int !?( DT * ); forall( dtype DT ) int !?( const DT * ); forall( dtype DT ) int !?( volatile DT * ); forall( dtype DT ) int !?( const volatile DT * ); forall( ftype FT ) int !?( FT * ); // ------------------------------------------------------------ // // Section 4.5 Multiplicative Operators // // ------------------------------------------------------------ signed int ?*?( signed int, signed int ), ?/?( signed int, signed int ), ?%?( signed int, signed int ); unsigned int ?*?( unsigned int, unsigned int ), ?/?( unsigned int, unsigned int ), ?%?( unsigned int, unsigned int ); signed long int ?*?( signed long int, signed long int ), ?/?( signed long int, signed long int ), ?%?( signed long int, signed long int ); unsigned long int ?*?( unsigned long int, unsigned long int ), ?/?( unsigned long int, unsigned long int ), ?%?( unsigned long int, unsigned long int ); signed long long int ?*?( signed long long int, signed long long int ), ?/?( signed long long int, signed long long int ), ?%?( signed long long int, signed long long int ); unsigned long long int ?*?( unsigned long long int, unsigned long long int ), ?/?( unsigned long long int, unsigned long long int ), ?%?( unsigned long long int, unsigned long long int ); float ?*?( float, float ), ?/?( float, float ); double ?*?( double, double ), ?/?( double, double ); long double ?*?( long double, long double ), ?/?( long double, long double ); // gcc does not support _Imaginary //float _Imaginary ?*?( float _Imaginary, float _Imaginary), ?/?( float _Imaginary, float _Imaginary ); //double _Imaginary ?*?( double _Imaginary, double _Imaginary), ?/?( double _Imaginary, double _Imaginary ); //long double _Imaginary ?*?( long double _Imaginary, long double _Imaginary), ?/?( long double _Imaginary, long double _Imaginary ); float _Complex ?*?( float _Complex, float _Complex ), ?/?( float _Complex, float _Complex ); double _Complex ?*?( double _Complex, double _Complex ), ?/?( double _Complex, double _Complex ); long double _Complex ?*?( long double _Complex, long double _Complex ), ?/?( long double _Complex, long double _Complex ); // ------------------------------------------------------------ // // Section 4.6 Additive Operators // // ------------------------------------------------------------ _Bool ?+?( _Bool, _Bool ), ?-?( _Bool, _Bool ); signed int ?+?( signed int, signed int ), ?-?( signed int, signed int ); unsigned int ?+?( unsigned int, unsigned int ), ?-?( unsigned int, unsigned int ); signed long int ?+?( signed long int, signed long int ), ?-?( signed long int, signed long int ); unsigned long int ?+?( unsigned long int, unsigned long int ), ?-?( unsigned long int, unsigned long int ); signed long long int ?+?( signed long long int, long long int signed), ?-?( signed long long int, signed long long int ); unsigned long long int ?+?( unsigned long long int, unsigned long long int ), ?-?( unsigned long long int, unsigned long long int ); float ?+?( float, float ), ?-?( float, float ); double ?+?( double, double ), ?-?( double, double ); long double ?+?( long double, long double ), ?-?( long double, long double ); float _Complex ?+?( float _Complex, float _Complex ), ?-?( float _Complex, float _Complex ); double _Complex ?+?( double _Complex, double _Complex ), ?-?( double _Complex, double _Complex ); long double _Complex ?+?( long double _Complex, long double _Complex ), ?-?( long double _Complex, long double _Complex ); forall( dtype T | sized(T) ) T * ?+?( T *, ptrdiff_t ); forall( dtype T | sized(T) ) T * ?+?( ptrdiff_t, T * ); forall( dtype T | sized(T) ) const T * ?+?( const T *, ptrdiff_t ); forall( dtype T | sized(T) ) const T * ?+?( ptrdiff_t, const T * ); forall( dtype T | sized(T) ) volatile T * ?+?( volatile T *, ptrdiff_t ); forall( dtype T | sized(T) ) volatile T * ?+?( ptrdiff_t, volatile T * ); forall( dtype T | sized(T) ) const volatile T * ?+?( const volatile T *, ptrdiff_t ); forall( dtype T | sized(T) ) const volatile T * ?+?( ptrdiff_t, const volatile T * ); forall( dtype T | sized(T) ) T * ?-?( T *, ptrdiff_t ); forall( dtype T | sized(T) ) const T * ?-?( const T *, ptrdiff_t ); forall( dtype T | sized(T) ) volatile T * ?-?( volatile T *, ptrdiff_t ); forall( dtype T | sized(T) ) const volatile T * ?-?( const volatile T *, ptrdiff_t ); forall( dtype T | sized(T) ) ptrdiff_t ?-?( const volatile T *, const volatile T * ); // ------------------------------------------------------------ // // Section 4.7 Bitwise Shift Operators // // ------------------------------------------------------------ signed int ?<>?( signed int, signed int ); unsigned int ?<>?( unsigned int, unsigned int ); signed long int ?<>?( signed long int, signed long int ); unsigned long int ?<>?( unsigned long int, unsigned long int ); signed long long int ?<>?( signed long long int, signed long long int ); unsigned long long int ?<>?( unsigned long long int, unsigned long long int ); // ------------------------------------------------------------ // // Section 4.8 Relational Operators // // ------------------------------------------------------------ signed int ??( _Bool, _Bool ), ?>=?( _Bool, _Bool ); signed int ??( char, char ), ?>=?( char, char ); signed int ??( signed char, signed char ), ?>=?( signed char, signed char ); signed int ??( unsigned char, unsigned char ), ?>=?( unsigned char, unsigned char ); signed int ??( signed short, signed short ), ?>=?( signed short, signed short ); signed int ??( unsigned short, unsigned short ), ?>=?( unsigned short, unsigned short ); signed int ??( signed int, signed int ), ?>=?( signed int, signed int ); signed int ??( unsigned int, unsigned int ), ?>=?( unsigned int, unsigned int ); signed int ??( signed long int, signed long int ), ?>=?( signed long int, signed long int ); signed int ??( unsigned long int, unsigned long int ), ?>=?( unsigned long int, unsigned long int ); signed int ??( signed long long int, signed long long int ), ?>=?( signed long long int, signed long long int ); signed int ??( unsigned long long int, unsigned long long int ), ?>=?( unsigned long long int, unsigned long long int ); signed int ??( float, float ), ?>=?( float, float ); signed int ??( double, double ), ?>=?( double, double ); signed int ??( long double, long double ), ?>=?( long double, long double ); forall( dtype DT ) signed int ??( DT *, DT * ); forall( dtype DT ) signed int ?>?( const DT *, const DT * ); forall( dtype DT ) signed int ?>?( volatile DT *, volatile DT * ); forall( dtype DT ) signed int ?>?( const volatile DT *, const volatile DT * ); forall( dtype DT ) signed int ?<=?( DT *, DT * ); forall( dtype DT ) signed int ?<=?( const DT *, const DT * ); forall( dtype DT ) signed int ?<=?( volatile DT *, volatile DT * ); forall( dtype DT ) signed int ?<=?( const volatile DT *, const volatile DT * ); forall( dtype DT ) signed int ?>=?( DT *, DT * ); forall( dtype DT ) signed int ?>=?( const DT *, const DT * ); forall( dtype DT ) signed int ?>=?( volatile DT *, volatile DT * ); forall( dtype DT ) signed int ?>=?( const volatile DT *, const volatile DT * ); // ------------------------------------------------------------ // // Section 4.9 Equality Operators // // ------------------------------------------------------------ signed int ?==?( _Bool, _Bool ), ?!=?( _Bool, _Bool ); signed int ?==?( char, char ), ?!=?( char, char ); signed int ?==?( signed char, signed char ), ?!=?( signed char, signed char ); signed int ?==?( unsigned char, unsigned char ), ?!=?( unsigned char, unsigned char ); signed int ?==?( signed short, signed short ), ?!=?( signed short, signed short ); signed int ?==?( unsigned short, unsigned short ), ?!=?( unsigned short, unsigned short ); signed int ?==?( signed int, signed int ), ?!=?( signed int, signed int ); signed int ?==?( unsigned int, unsigned int ), ?!=?( unsigned int, unsigned int ); signed int ?==?( signed long int, signed long int ), ?!=?( signed long int, signed long int ); signed int ?==?( unsigned long int, unsigned long int ), ?!=?( unsigned long int, unsigned long int ); signed int ?==?( signed long long int, long long int signed), ?!=?( signed long long int, signed long long int ); signed int ?==?( unsigned long long int, unsigned long long int ), ?!=?( unsigned long long int, unsigned long long int ); signed int ?==?( float, float ), ?!=?( float, float ); signed int ?==?( double, double ), ?!=?( double, double ); signed int ?==?( long double, long double ), ?!=?( long double, long double ); signed int ?==?( float _Complex, float _Complex ), ?!=?( float _Complex, float _Complex ); signed int ?==?( double _Complex, double _Complex ), ?!=?( double _Complex, double _Complex ); signed int ?==?( long double _Complex, long double _Complex ), ?!=?( long double _Complex, long double _Complex ); signed int ?==?( zero_t, zero_t ), ?!=?( zero_t, zero_t ); signed int ?==?( one_t, one_t ), ?!=?( one_t, one_t ); forall( dtype DT ) signed int ?==?( DT *, DT * ); forall( dtype DT ) signed int ?==?( const DT *, const DT * ); forall( dtype DT ) signed int ?==?( volatile DT *, volatile DT * ); forall( dtype DT ) signed int ?==?( const volatile DT *, const volatile DT * ); forall( ftype FT ) signed int ?==?( FT *, FT * ); forall( dtype DT ) signed int ?!=?( DT *, DT * ); forall( dtype DT ) signed int ?!=?( const DT *, const DT * ); forall( dtype DT ) signed int ?!=?( volatile DT *, volatile DT * ); forall( dtype DT ) signed int ?!=?( const volatile DT *, const volatile DT * ); forall( ftype FT ) signed int ?!=?( FT *, FT * ); // forall( dtype DT ) signed int ?==?( const volatile DT *, const volatile void * ); // forall( dtype DT ) signed int ?==?( const volatile void *, const volatile DT * ); // forall( dtype DT ) signed int ?!=?( const volatile DT *, const volatile void * ); // forall( dtype DT ) signed int ?!=?( const volatile void *, const volatile DT * ); // forall( dtype DT ) signed int ?==?( const volatile DT *, zero_t ); // forall( dtype DT ) signed int ?==?( zero_t, const volatile DT * ); // forall( ftype FT ) signed int ?==?( FT *, zero_t ); // forall( ftype FT ) signed int ?==?( zero_t, FT * ); // forall( dtype DT ) signed int ?!=?( const volatile DT *, zero_t ); // forall( dtype DT ) signed int ?!=?( zero_t, const volatile DT * ); // forall( ftype FT ) signed int ?!=?( FT *, zero_t ); // forall( ftype FT ) signed int ?!=?( zero_t, FT * ); // ------------------------------------------------------------ // // Section 4.10 Bitwise AND Operators // // ------------------------------------------------------------ _Bool ?&?( _Bool, _Bool ); signed int ?&?( signed int, signed int ); unsigned int ?&?( unsigned int, unsigned int ); signed long int ?&?( signed long int, signed long int ); unsigned long int ?&?( unsigned long int, unsigned long int ); signed long long int ?&?( signed long long int, signed long long int ); unsigned long long int ?&?( unsigned long long int, unsigned long long int ); // ------------------------------------------------------------ // // Section 4.11 Bitwise XOR Operators // // ------------------------------------------------------------ _Bool ?^?( _Bool, _Bool ); signed int ?^?( signed int, signed int ); unsigned int ?^?( unsigned int, unsigned int ); signed long int ?^?( signed long int, signed long int ); unsigned long int ?^?( unsigned long int, unsigned long int ); signed long long int ?^?( signed long long int, signed long long int ); unsigned long long int ?^?( unsigned long long int, unsigned long long int ); // ------------------------------------------------------------ // // Section 4.12 Bitwise OR Operators // // ------------------------------------------------------------ _Bool ?|?( _Bool, _Bool ); signed int ?|?( signed int, signed int ); unsigned int ?|?( unsigned int, unsigned int ); signed long int ?|?( signed long int, signed long int ); unsigned long int ?|?( unsigned long int, unsigned long int ); signed long long int ?|?( signed long long int, signed long long int ); unsigned long long int ?|?( unsigned long long int, unsigned long long int ); // ------------------------------------------------------------ // // Section 4.16 Assignment Operator // // ------------------------------------------------------------ forall( ftype FT ) FT * ?=?( FT *&, FT * ); forall( ftype FT ) FT * ?=?( FT * volatile &, FT * ); forall( dtype DT ) DT * ?=?( DT * &, DT * ); forall( dtype DT ) DT * ?=?( DT * volatile &, DT * ); forall( dtype DT ) const DT * ?=?( const DT * &, DT * ); forall( dtype DT ) const DT * ?=?( const DT * volatile &, DT * ); forall( dtype DT ) const DT * ?=?( const DT * &, const DT * ); forall( dtype DT ) const DT * ?=?( const DT * volatile &, const DT * ); forall( dtype DT ) volatile DT * ?=?( volatile DT * &, DT * ); forall( dtype DT ) volatile DT * ?=?( volatile DT * volatile &, DT * ); forall( dtype DT ) volatile DT * ?=?( volatile DT * &, volatile DT * ); forall( dtype DT ) volatile DT * ?=?( volatile DT * volatile &, volatile DT * ); forall( dtype DT ) const volatile DT * ?=?( const volatile DT * &, DT * ); forall( dtype DT ) const volatile DT * ?=?( const volatile DT * volatile &, DT * ); forall( dtype DT ) const volatile DT * ?=?( const volatile DT * &, const DT * ); forall( dtype DT ) const volatile DT * ?=?( const volatile DT * volatile &, const DT * ); forall( dtype DT ) const volatile DT * ?=?( const volatile DT * &, volatile DT * ); forall( dtype DT ) const volatile DT * ?=?( const volatile DT * volatile &, volatile DT * ); forall( dtype DT ) const volatile DT * ?=?( const volatile DT * &, const volatile DT * ); forall( dtype DT ) const volatile DT * ?=?( const volatile DT * volatile &, const volatile DT * ); forall( dtype DT ) void * ?=?( void * &, DT * ); forall( dtype DT ) void * ?=?( void * volatile &, DT * ); forall( dtype DT ) const void * ?=?( const void * &, DT * ); forall( dtype DT ) const void * ?=?( const void * volatile &, DT * ); forall( dtype DT ) const void * ?=?( const void * &, const DT * ); forall( dtype DT ) const void * ?=?( const void * volatile &, const DT * ); forall( dtype DT ) volatile void * ?=?( volatile void * &, DT * ); forall( dtype DT ) volatile void * ?=?( volatile void * volatile &, DT * ); forall( dtype DT ) volatile void * ?=?( volatile void * &, volatile DT * ); forall( dtype DT ) volatile void * ?=?( volatile void * volatile &, volatile DT * ); forall( dtype DT ) const volatile void * ?=?( const volatile void * &, DT * ); forall( dtype DT ) const volatile void * ?=?( const volatile void * volatile &, DT * ); forall( dtype DT ) const volatile void * ?=?( const volatile void * &, const DT * ); forall( dtype DT ) const volatile void * ?=?( const volatile void * volatile &, const DT * ); forall( dtype DT ) const volatile void * ?=?( const volatile void * &, volatile DT * ); forall( dtype DT ) const volatile void * ?=?( const volatile void * volatile &, volatile DT * ); forall( dtype DT ) const volatile void * ?=?( const volatile void * &, const volatile DT * ); forall( dtype DT ) const volatile void * ?=?( const volatile void * volatile &, const volatile DT * ); //forall( dtype DT ) DT * ?=?( DT * &, zero_t ); //forall( dtype DT ) DT * ?=?( DT * volatile &, zero_t ); forall( dtype DT ) const DT * ?=?( const DT * &, zero_t ); forall( dtype DT ) const DT * ?=?( const DT * volatile &, zero_t ); //forall( dtype DT ) volatile DT * ?=?( volatile DT * &, zero_t ); //forall( dtype DT ) volatile DT * ?=?( volatile DT * volatile &, zero_t ); forall( dtype DT ) const volatile DT * ?=?( const volatile DT * &, zero_t ); forall( dtype DT ) const volatile DT * ?=?( const volatile DT * volatile &, zero_t ); forall( ftype FT ) FT * ?=?( FT * &, zero_t ); forall( ftype FT ) FT * ?=?( FT * volatile &, zero_t ); forall( dtype T | sized(T) ) T * ?+=?( T * &, ptrdiff_t ); forall( dtype T | sized(T) ) T * ?+=?( T * volatile &, ptrdiff_t ); forall( dtype T | sized(T) ) const T * ?+=?( const T * &, ptrdiff_t ); forall( dtype T | sized(T) ) const T * ?+=?( const T * volatile &, ptrdiff_t ); forall( dtype T | sized(T) ) volatile T * ?+=?( volatile T * &, ptrdiff_t ); forall( dtype T | sized(T) ) volatile T * ?+=?( volatile T * volatile &, ptrdiff_t ); forall( dtype T | sized(T) ) const volatile T * ?+=?( const volatile T * &, ptrdiff_t ); forall( dtype T | sized(T) ) const volatile T * ?+=?( const volatile T * volatile &, ptrdiff_t ); forall( dtype T | sized(T) ) T * ?-=?( T * &, ptrdiff_t ); forall( dtype T | sized(T) ) T * ?-=?( T * volatile &, ptrdiff_t ); forall( dtype T | sized(T) ) const T * ?-=?( const T * &, ptrdiff_t ); forall( dtype T | sized(T) ) const T * ?-=?( const T * volatile &, ptrdiff_t ); forall( dtype T | sized(T) ) volatile T * ?-=?( volatile T * &, ptrdiff_t ); forall( dtype T | sized(T) ) volatile T * ?-=?( volatile T * volatile &, ptrdiff_t ); forall( dtype T | sized(T) ) const volatile T * ?-=?( const volatile T * &, ptrdiff_t ); forall( dtype T | sized(T) ) const volatile T * ?-=?( const volatile T * volatile &, ptrdiff_t ); _Bool ?=?( _Bool &, _Bool ), ?=?( volatile _Bool &, _Bool ); char ?=?( char &, char ), ?=?( volatile char &, char ); char signed ?=?( char signed &, char signed ), ?=?( volatile char signed &, char signed ); char unsigned ?=?( char unsigned &, char unsigned ), ?=?( volatile char unsigned &, char unsigned ); int short ?=?( int short &, int short ), ?=?( volatile int short &, int short ); int short unsigned ?=?( int short unsigned &, int short unsigned ), ?=?( volatile int short unsigned &, int short unsigned ); signed int ?=?( signed int &, signed int ), ?=?( volatile signed int &, signed int ); unsigned int ?=?( unsigned &, unsigned ), ?=?( volatile unsigned &, unsigned ); signed long int ?=?( signed long int &, signed long int ), ?=?( volatile signed long int &, signed long int ); unsigned long int ?=?( unsigned long int &, unsigned long int ), ?=?( volatile unsigned long int &, unsigned long int ); signed long long int ?=?( signed long long int &, signed long long int ), ?=?( volatile signed long long int &, signed long long int ); unsigned long long int ?=?( unsigned long long int &, unsigned long long int ), ?=?( volatile unsigned long long int &, unsigned long long int ); zero_t ?=?( zero_t &, zero_t ); one_t ?=?( one_t &, one_t ); char ?*=?( char &, char ), ?*=?( volatile char &, char ); char signed ?*=?( char signed &, char signed ), ?*=?( volatile char signed &, char signed ); char unsigned ?*=?( char unsigned &, char unsigned ), ?*=?( volatile char unsigned &, char unsigned ); int short ?*=?( int short &, int short ), ?*=?( volatile int short &, int short ); int short unsigned ?*=?( int short unsigned &, int short unsigned ), ?*=?( volatile int short unsigned &, int short unsigned ); signed int ?*=?( signed int &, signed int ), ?*=?( volatile signed int &, signed int ); unsigned int ?*=?( unsigned &, unsigned ), ?*=?( volatile unsigned &, unsigned ); signed long int ?*=?( signed long int &, signed long int ), ?*=?( volatile signed long int &, signed long int ); unsigned long int ?*=?( unsigned long int &, unsigned long int ), ?*=?( volatile unsigned long int &, unsigned long int ); signed long long int ?*=?( signed long long int &, signed long long int ), ?*=?( volatile signed long long int &, signed long long int ); unsigned long long int ?*=?( unsigned long long int &, unsigned long long int ), ?*=?( volatile unsigned long long int &, unsigned long long int ); _Bool ?/=?( _Bool &, _Bool ), ?/=?( volatile _Bool &, _Bool ); char ?/=?( char &, char ), ?/=?( volatile char &, char ); char signed ?/=?( char signed &, char signed ), ?/=?( volatile char signed &, char signed ); char unsigned ?/=?( char unsigned &, char unsigned ), ?/=?( volatile char unsigned &, char unsigned ); int short ?/=?( int short &, int short ), ?/=?( volatile int short &, int short ); int short unsigned ?/=?( int short unsigned &, int short unsigned ), ?/=?( volatile int short unsigned &, int short unsigned ); signed int ?/=?( signed int &, signed int ), ?/=?( volatile signed int &, signed int ); unsigned int ?/=?( unsigned &, unsigned ), ?/=?( volatile unsigned &, unsigned ); signed long int ?/=?( signed long int &, signed long int ), ?/=?( volatile signed long int &, signed long int ); unsigned long int ?/=?( unsigned long int &, unsigned long int ), ?/=?( volatile unsigned long int &, unsigned long int ); signed long long int ?/=?( signed long long int &, signed long long int ), ?/=?( volatile signed long long int &, signed long long int ); unsigned long long int ?/=?( unsigned long long int &, unsigned long long int ), ?/=?( volatile unsigned long long int &, unsigned long long int ); _Bool ?%=?( _Bool &, _Bool ), ?%=?( volatile _Bool &, _Bool ); char ?%=?( char &, char ), ?%=?( volatile char &, char ); char signed ?%=?( char signed &, char signed ), ?%=?( volatile char signed &, char signed ); char unsigned ?%=?( char unsigned &, char unsigned ), ?%=?( volatile char unsigned &, char unsigned ); int short ?%=?( int short &, int short ), ?%=?( volatile int short &, int short ); int short unsigned ?%=?( int short unsigned &, int short unsigned ), ?%=?( volatile int short unsigned &, int short unsigned ); signed int ?%=?( signed int &, signed int ), ?%=?( volatile signed int &, signed int ); unsigned int ?%=?( unsigned &, unsigned ), ?%=?( volatile unsigned &, unsigned ); signed long int ?%=?( signed long int &, signed long int ), ?%=?( volatile signed long int &, signed long int ); unsigned long int ?%=?( unsigned long int &, unsigned long int ), ?%=?( volatile unsigned long int &, unsigned long int ); signed long long int ?%=?( signed long long int &, signed long long int ), ?%=?( volatile signed long long int &, signed long long int ); unsigned long long int ?%=?( unsigned long long int &, unsigned long long int ), ?%=?( volatile unsigned long long int &, unsigned long long int ); _Bool ?+=?( _Bool &, _Bool ), ?+=?( volatile _Bool &, _Bool ); char ?+=?( char &, char ), ?+=?( volatile char &, char ); char signed ?+=?( char signed &, char signed ), ?+=?( volatile char signed &, char signed ); char unsigned ?+=?( char unsigned &, char unsigned ), ?+=?( volatile char unsigned &, char unsigned ); int short ?+=?( int short &, int short ), ?+=?( volatile int short &, int short ); int short unsigned ?+=?( int short unsigned &, int short unsigned ), ?+=?( volatile int short unsigned &, int short unsigned ); signed int ?+=?( signed int &, signed int ), ?+=?( volatile signed int &, signed int ); unsigned int ?+=?( unsigned &, unsigned ), ?+=?( volatile unsigned &, unsigned ); signed long int ?+=?( signed long int &, signed long int ), ?+=?( volatile signed long int &, signed long int ); unsigned long int ?+=?( unsigned long int &, unsigned long int ), ?+=?( volatile unsigned long int &, unsigned long int ); signed long long int ?+=?( signed long long int &, signed long long int ), ?+=?( volatile signed long long int &, signed long long int ); unsigned long long int ?+=?( unsigned long long int &, unsigned long long int ), ?+=?( volatile unsigned long long int &, unsigned long long int ); //signed int128 ?+=?( signed int128 &, signed int128 ), ?+=?( volatile signed int128 &, signed int128 ); //unsigned int128 ?+=?( unsigned int128 &, unsigned int128 ), ?+=?( volatile unsigned int128 &, unsigned int128 ); _Bool ?-=?( _Bool &, _Bool ), ?-=?( volatile _Bool &, _Bool ); char ?-=?( char &, char ), ?-=?( volatile char &, char ); char signed ?-=?( char signed &, char signed ), ?-=?( volatile char signed &, char signed ); char unsigned ?-=?( char unsigned &, char unsigned ), ?-=?( volatile char unsigned &, char unsigned ); int short ?-=?( int short &, int short ), ?-=?( volatile int short &, int short ); int short unsigned ?-=?( int short unsigned &, int short unsigned ), ?-=?( volatile int short unsigned &, int short unsigned ); signed int ?-=?( signed int &, signed int ), ?-=?( volatile signed int &, signed int ); unsigned int ?-=?( unsigned &, unsigned ), ?-=?( volatile unsigned &, unsigned ); signed long int ?-=?( signed long int &, signed long int ), ?-=?( volatile signed long int &, signed long int ); unsigned long int ?-=?( unsigned long int &, unsigned long int ), ?-=?( volatile unsigned long int &, unsigned long int ); signed long long int ?-=?( signed long long int &, signed long long int ), ?-=?( volatile signed long long int &, signed long long int ); unsigned long long int ?-=?( unsigned long long int &, unsigned long long int ), ?-=?( volatile unsigned long long int &, unsigned long long int ); char ?<<=?( char &, char ), ?<<=?( volatile char &, char ); char signed ?<<=?( char signed &, char signed ), ?<<=?( volatile char signed &, char signed ); char unsigned ?<<=?( char unsigned &, char unsigned ), ?<<=?( volatile char unsigned &, char unsigned ); int short ?<<=?( int short &, int short ), ?<<=?( volatile int short &, int short ); int short unsigned ?<<=?( int short unsigned &, int short unsigned ), ?<<=?( volatile int short unsigned &, int short unsigned ); signed int ?<<=?( signed int &, signed int ), ?<<=?( volatile signed int &, signed int ); unsigned int ?<<=?( unsigned &, unsigned ), ?<<=?( volatile unsigned &, unsigned ); signed long int ?<<=?( signed long int &, signed long int ), ?<<=?( volatile signed long int &, signed long int ); unsigned long int ?<<=?( unsigned long int &, unsigned long int ), ?<<=?( volatile unsigned long int &, unsigned long int ); signed long long int ?<<=?( signed long long int &, signed long long int ), ?<<=?( volatile signed long long int &, signed long long int ); unsigned long long int ?<<=?( unsigned long long int &, unsigned long long int ), ?<<=?( volatile unsigned long long int &, unsigned long long int ); char ?>>=?( char &, char ), ?>>=?( volatile char &, char ); char signed ?>>=?( char signed &, char signed ), ?>>=?( volatile char signed &, char signed ); char unsigned ?>>=?( char unsigned &, char unsigned ), ?>>=?( volatile char unsigned &, char unsigned ); int short ?>>=?( int short &, int short ), ?>>=?( volatile int short &, int short ); int short unsigned ?>>=?( int short unsigned &, int short unsigned ), ?>>=?( volatile int short unsigned &, int short unsigned ); signed int ?>>=?( signed int &, signed int ), ?>>=?( volatile signed int &, signed int ); unsigned int ?>>=?( unsigned &, unsigned ), ?>>=?( volatile unsigned &, unsigned ); signed long int ?>>=?( signed long int &, signed long int ), ?>>=?( volatile signed long int &, signed long int ); unsigned long int ?>>=?( unsigned long int &, unsigned long int ), ?>>=?( volatile unsigned long int &, unsigned long int ); signed long long int ?>>=?( signed long long int &, signed long long int ), ?>>=?( volatile signed long long int &, signed long long int ); unsigned long long int ?>>=?( unsigned long long int &, unsigned long long int ), ?>>=?( volatile unsigned long long int &, unsigned long long int ); _Bool ?&=?( _Bool &, _Bool ), ?&=?( volatile _Bool &, _Bool ); char ?&=?( char &, char ), ?&=?( volatile char &, char ); char signed ?&=?( char signed &, char signed ), ?&=?( volatile char signed &, char signed ); char unsigned ?&=?( char unsigned &, char unsigned ), ?&=?( volatile char unsigned &, char unsigned ); int short ?&=?( int short &, int short ), ?&=?( volatile int short &, int short ); int short unsigned ?&=?( int short unsigned &, int short unsigned ), ?&=?( volatile int short unsigned &, int short unsigned ); signed int ?&=?( signed int &, signed int ), ?&=?( volatile signed int &, signed int ); unsigned int ?&=?( unsigned &, unsigned ), ?&=?( volatile unsigned &, unsigned ); signed long int ?&=?( signed long int &, signed long int ), ?&=?( volatile signed long int &, signed long int ); unsigned long int ?&=?( unsigned long int &, unsigned long int ), ?&=?( volatile unsigned long int &, unsigned long int ); signed long long int ?&=?( signed long long int &, signed long long int ), ?&=?( volatile signed long long int &, signed long long int ); unsigned long long int ?&=?( unsigned long long int &, unsigned long long int ), ?&=?( volatile unsigned long long int &, unsigned long long int ); _Bool ?|=?( _Bool &, _Bool ), ?|=?( volatile _Bool &, _Bool ); char ?|=?( char &, char ), ?|=?( volatile char &, char ); char signed ?|=?( char signed &, char signed ), ?|=?( volatile char signed &, char signed ); char unsigned ?|=?( char unsigned &, char unsigned ), ?|=?( volatile char unsigned &, char unsigned ); int short ?|=?( int short &, int short ), ?|=?( volatile int short &, int short ); int short unsigned ?|=?( int short unsigned &, int short unsigned ), ?|=?( volatile int short unsigned &, int short unsigned ); signed int ?|=?( signed int &, signed int ), ?|=?( volatile signed int &, signed int ); unsigned int ?|=?( unsigned &, unsigned ), ?|=?( volatile unsigned &, unsigned ); signed long int ?|=?( signed long int &, signed long int ), ?|=?( volatile signed long int &, signed long int ); unsigned long int ?|=?( unsigned long int &, unsigned long int ), ?|=?( volatile unsigned long int &, unsigned long int ); signed long long int ?|=?( signed long long int &, signed long long int ), ?|=?( volatile signed long long int &, signed long long int ); unsigned long long int ?|=?( unsigned long long int &, unsigned long long int ), ?|=?( volatile unsigned long long int &, unsigned long long int ); _Bool ?^=?( _Bool &, _Bool ), ?^=?( volatile _Bool &, _Bool ); char ?^=?( char &, char ), ?^=?( volatile char &, char ); char signed ?^=?( char signed &, char signed ), ?^=?( volatile char signed &, char signed ); char unsigned ?^=?( char unsigned &, char unsigned ), ?^=?( volatile char unsigned &, char unsigned ); int short ?^=?( int short &, int short ), ?^=?( volatile int short &, int short ); int short unsigned ?^=?( int short unsigned &, int short unsigned ), ?^=?( volatile int short unsigned &, int short unsigned ); signed int ?^=?( signed int &, signed int ), ?^=?( volatile signed int &, signed int ); unsigned int ?^=?( unsigned &, unsigned ), ?^=?( volatile unsigned &, unsigned ); signed long int ?^=?( signed long int &, signed long int ), ?^=?( volatile signed long int &, signed long int ); unsigned long int ?^=?( unsigned long int &, unsigned long int ), ?^=?( volatile unsigned long int &, unsigned long int ); signed long long int ?^=?( signed long long int &, signed long long int ), ?^=?( volatile signed long long int &, signed long long int ); unsigned long long int ?^=?( unsigned long long int &, unsigned long long int ), ?^=?( volatile unsigned long long int &, unsigned long long int ); float ?=?( float &, float ), ?=?( volatile float &, float ), ?*=?( float &, float ), ?*=?( volatile float &, float ), ?/=?( float &, float ), ?/=?( volatile float &, float ), ?+=?( float &, float ), ?+=?( volatile float &, float ), ?-=?( float &, float ), ?-=?( volatile float &, float ); double ?=?( double &, double ), ?=?( volatile double &, double ), ?*=?( double &, double ), ?*=?( volatile double &, double ), ?/=?( double &, double ), ?/=?( volatile double &, double ), ?+=?( double &, double ), ?+=?( volatile double &, double ), ?-=?( double &, double ), ?-=?( volatile double &, double ); long double ?=?( long double &, long double ), ?=?( volatile long double &, long double ), ?*=?( long double &, long double ), ?*=?( volatile long double &, long double ), ?/=?( long double &, long double ), ?/=?( volatile long double &, long double ), ?+=?( long double &, long double ), ?+=?( volatile long double &, long double ), ?-=?( long double &, long double ), ?-=?( volatile long double &, long double ); float _Complex ?=?( float _Complex &, float _Complex ), ?=?( volatile float _Complex &, float _Complex ), ?*=?( float _Complex &, float _Complex ), ?*=?( volatile float _Complex &, float _Complex ), ?/=?( float _Complex &, float _Complex ), ?/=?( volatile float _Complex &, float _Complex ), ?+=?( float _Complex &, float _Complex ), ?+=?( volatile float _Complex &, float _Complex ), ?-=?( float _Complex &, float _Complex ), ?-=?( volatile float _Complex &, float _Complex ); double _Complex ?=?( double _Complex &, double _Complex ), ?=?( volatile double _Complex &, double _Complex ), ?*=?( double _Complex &, double _Complex ), ?*=?( volatile double _Complex &, double _Complex ), ?/=?( double _Complex &, double _Complex ), ?/=?( volatile double _Complex &, double _Complex ), ?+=?( double _Complex &, double _Complex ), ?+=?( volatile double _Complex &, double _Complex ), ?-=?( double _Complex &, double _Complex ), ?-=?( volatile double _Complex &, double _Complex ); long double _Complex ?=?( long double _Complex &, long double _Complex ), ?=?( volatile long double _Complex &, long double _Complex ), ?*=?( long double _Complex &, long double _Complex ), ?*=?( volatile long double _Complex &, long double _Complex ), ?/=?( long double _Complex &, long double _Complex ), ?/=?( volatile long double _Complex &, long double _Complex ), ?+=?( long double _Complex &, long double _Complex ), ?+=?( volatile long double _Complex &, long double _Complex ), ?-=?( long double _Complex &, long double _Complex ), ?-=?( volatile long double _Complex &, long double _Complex ); // ------------------------------------------------------------ // // Section ??? Constructors and Destructors // // ------------------------------------------------------------ // default ctor void ?{}( _Bool & ); void ?{}( char & ); void ?{}( unsigned char & ); void ?{}( char signed & ); void ?{}( int short & ); void ?{}( int short unsigned & ); void ?{}( signed int & ); void ?{}( unsigned int & ); void ?{}( signed long int & ); void ?{}( unsigned long int & ); void ?{}( signed long long int & ); void ?{}( unsigned long long int & ); void ?{}( float & ); void ?{}( double & ); void ?{}( long double & ); void ?{}( float _Complex & ); void ?{}( double _Complex & ); void ?{}( long double _Complex & ); void ?{}( zero_t & ); void ?{}( one_t & ); // copy ctor void ?{}( _Bool &, _Bool ); void ?{}( char &, char ); void ?{}( unsigned char &, unsigned char ); void ?{}( char signed &, char signed ); void ?{}( int short &, int short ); void ?{}( int short unsigned &, int short unsigned ); void ?{}( signed int &, signed int); void ?{}( unsigned int &, unsigned int); void ?{}( signed long int &, signed long int); void ?{}( unsigned long int &, unsigned long int); void ?{}( signed long long int &, signed long long int); void ?{}( unsigned long long int &, unsigned long long int); void ?{}( float &, float); void ?{}( double &, double); void ?{}( long double &, long double); void ?{}( float _Complex &, float _Complex); void ?{}( double _Complex &, double _Complex); void ?{}( long double _Complex &, long double _Complex); void ?{}( zero_t &, zero_t ); void ?{}( one_t &, one_t ); // dtor void ^?{}( _Bool & ); void ^?{}( char & ); void ^?{}( char unsigned & ); void ^?{}( char signed & ); void ^?{}( int short & ); void ^?{}( int short unsigned & ); void ^?{}( signed int & ); void ^?{}( unsigned int & ); void ^?{}( signed long int & ); void ^?{}( unsigned long int & ); void ^?{}( signed long long int & ); void ^?{}( unsigned long long int & ); void ^?{}( float & ); void ^?{}( double & ); void ^?{}( long double & ); void ^?{}( float _Complex & ); void ^?{}( double _Complex & ); void ^?{}( long double _Complex & ); void ^?{}( zero_t & ); void ^?{}( one_t & ); // // default ctor // forall( dtype DT ) void ?{}( DT ** ); // forall( dtype DT ) void ?{}( const DT ** ); // forall( dtype DT ) void ?{}( volatile DT ** ); // forall( dtype DT ) void ?{}( const volatile DT ** ); // // copy ctor // forall( dtype DT ) void ?{}( DT **, DT* ); // forall( dtype DT ) void ?{}( const DT **, DT* ); // forall( dtype DT ) void ?{}( volatile DT **, DT* ); // forall( dtype DT ) void ?{}( const volatile DT **, DT* ); // // dtor // forall( dtype DT ) void ^?{}( DT ** ); // forall( dtype DT ) void ^?{}( const DT ** ); // forall( dtype DT ) void ^?{}( volatile DT ** ); // forall( dtype DT ) void ^?{}( const volatile DT ** ); // copied from assignment section // copy constructors forall( ftype FT ) void ?{}( FT *&, FT * ); forall( ftype FT ) void ?{}( FT * volatile &, FT * ); forall( dtype DT ) void ?{}( DT * &, DT * ); forall( dtype DT ) void ?{}( const DT * &, DT * ); forall( dtype DT ) void ?{}( const DT * &, const DT * ); forall( dtype DT ) void ?{}( volatile DT * &, DT * ); forall( dtype DT ) void ?{}( volatile DT * &, volatile DT * ); forall( dtype DT ) void ?{}( const volatile DT * &, DT * ); forall( dtype DT ) void ?{}( const volatile DT * &, const DT * ); forall( dtype DT ) void ?{}( const volatile DT * &, volatile DT * ); forall( dtype DT ) void ?{}( const volatile DT * &, const volatile DT * ); forall( dtype DT ) void ?{}( void * &, DT * ); forall( dtype DT ) void ?{}( const void * &, DT * ); forall( dtype DT ) void ?{}( const void * &, const DT * ); forall( dtype DT ) void ?{}( volatile void * &, DT * ); forall( dtype DT ) void ?{}( volatile void * &, volatile DT * ); forall( dtype DT ) void ?{}( const volatile void * &, DT * ); forall( dtype DT ) void ?{}( const volatile void * &, const DT * ); forall( dtype DT ) void ?{}( const volatile void * &, volatile DT * ); forall( dtype DT ) void ?{}( const volatile void * &, const volatile DT * ); //forall( dtype DT ) void ?{}( DT * &, zero_t ); //forall( dtype DT ) void ?{}( DT * volatile &, zero_t ); forall( dtype DT ) void ?{}( const DT * &, zero_t ); //forall( dtype DT ) void ?{}( volatile DT * &, zero_t ); //forall( dtype DT ) void ?{}( volatile DT * volatile &, zero_t ); forall( dtype DT ) void ?{}( const volatile DT * &, zero_t ); forall( ftype FT ) void ?{}( FT * &, zero_t ); // default ctors forall( ftype FT ) void ?{}( FT * & ); forall( dtype DT ) void ?{}( DT * &); forall( dtype DT ) void ?{}( const DT * &); forall( dtype DT ) void ?{}( volatile DT * &); forall( dtype DT ) void ?{}( const volatile DT * &); void ?{}( void * &); void ?{}( const void * &); void ?{}( volatile void * &); void ?{}( const volatile void * &); // dtors forall( ftype FT ) void ^?{}( FT * & ); forall( dtype DT ) void ^?{}( DT * &); forall( dtype DT ) void ^?{}( const DT * &); forall( dtype DT ) void ^?{}( volatile DT * &); forall( dtype DT ) void ^?{}( const volatile DT * &); void ^?{}( void * &); void ^?{}( const void * &); void ^?{}( volatile void * &); void ^?{}( const volatile void * &); // Local Variables: // // mode: c // // tab-width: 8 // // End: //