home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / vgserv45.zip / BASE / HPTWGS2 / include / fcwexpu.h < prev    next >
C/C++ Source or Header  |  2001-03-21  |  3KB  |  80 lines

  1. /*****************************************************************************/
  2. /*                                                                           */
  3. /*                           OCO SOURCE MATERIALS                            */
  4. /*                             IBM CONFIDENTIAL                              */
  5. /*                                    OR                                     */
  6. /*                        IBM CONFIDENTIAL RESTRICTED                        */
  7. /*            WHEN COMBINED WITH THE AGGREGATED OCO SOURCE MODULES           */
  8. /*                           FOR THIS PROGRAM PRODUCT                        */
  9. /*                                                                           */
  10. /*      VisualAge Generator Server for OS/2, AIX, HP-UX, and Windows NT      */
  11. /*                          Version 3.0  5697-C28                            */
  12. /*                    (C) COPYRIGHT IBM CORP. 1994,1997                      */
  13. /*                                                                           */
  14. /*  Type    Date     Userid   Description of problem                         */
  15. /*  ----  --------  --------  ---------------------------------------------  */
  16. /*  A1    08/07/99  Lui       Feature 11712: Unicode Support                 */
  17. /*  A2    08/02/00  mheitz    D14190: Missing standalone Unicode constructor */
  18. /*                                                                           */
  19. /*****************************************************************************/
  20. #ifndef FCWEXPU_H
  21. #define FCWEXPU_H
  22.  
  23. #include <fcwexp.h>
  24.  
  25. // ************************************************************************
  26. //                        Unicode data type                        @A1
  27. // ************************************************************************
  28.  
  29. class UNICODE : public ChaItem
  30. {
  31.   public:
  32.  
  33.     UNICODE (Parent&, Level, int, int, int, int);
  34.     UNICODE (const UNICODE&, int);
  35.     UNICODE (const UNICODE&, quadnum);
  36.     UNICODE (int, int);                                /*@A2*/
  37.     virtual ~UNICODE();
  38.  
  39.     UNICODE operator [] (quadnum) const;
  40.  
  41.     void SetEmpty () const;
  42.     Bool IsBlank();
  43.     virtual FCWString StringForm();
  44.  
  45.     // Interactions with other UNICODE objects
  46.     void operator =  (const UNICODE& v);
  47.     int  operator == (const UNICODE& v) const;
  48.     int  operator != (const UNICODE& v) const;
  49.     int  operator >  (const UNICODE& v) const;
  50.     int  operator <  (const UNICODE& v) const;
  51.     int  operator >= (const UNICODE& v) const;
  52.     int  operator <= (const UNICODE& v) const;
  53.  
  54.     int Contains( const UNICODE& v, const quadnum i );
  55.     int CompareUcsUcs( const char* s1, const char* s2, int l1, int l2 ) const;
  56.     char* getUCBlank() const;
  57.  
  58.     virtual int LengthWOTBlanks();
  59.  
  60.   private:
  61.     void*    pData;
  62. };
  63.  
  64.  
  65.  
  66. // *********************************************************************
  67. // Stream overloads
  68. // *********************************************************************
  69.  
  70. ostream& operator << (ostream&, const UNICODE&);               /*@A1*/
  71.  
  72. // *********************************************************************
  73. // Trace overloads
  74. // *********************************************************************
  75.  
  76. TraceFile& operator << (TraceFile&, const UNICODE&);          /*@A1*/
  77.  
  78.  
  79. #endif
  80.