(file) Return to Char16.h CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Common

 1 karl  1.25 //%2006////////////////////////////////////////////////////////////////////////
 2 mike  1.11 //
 3 karl  1.20 // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
 4            // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
 5            // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
 6 karl  1.18 // IBM Corp.; EMC Corporation, The Open Group.
 7 karl  1.20 // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
 8            // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
 9 karl  1.21 // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
10            // EMC Corporation; VERITAS Software Corporation; The Open Group.
11 karl  1.25 // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
12            // EMC Corporation; Symantec Corporation; The Open Group.
13 mike  1.11 //
14            // Permission is hereby granted, free of charge, to any person obtaining a copy
15 kumpf 1.12 // of this software and associated documentation files (the "Software"), to
16            // deal in the Software without restriction, including without limitation the
17            // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
18 mike  1.11 // sell copies of the Software, and to permit persons to whom the Software is
19            // furnished to do so, subject to the following conditions:
20 karl  1.25 // 
21 kumpf 1.12 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
22 mike  1.11 // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
23            // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
24 kumpf 1.12 // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
25            // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
26            // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
27 mike  1.11 // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
28            // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
29            //
30            //==============================================================================
31            //
32            //%/////////////////////////////////////////////////////////////////////////////
33            
34            #ifndef Pegasus_Char16_h
35            #define Pegasus_Char16_h
36            
37            #include <Pegasus/Common/Config.h>
38 kumpf 1.13 #include <Pegasus/Common/Linkage.h>
39 mike  1.11 
40            PEGASUS_NAMESPACE_BEGIN
41            
42            /** The Char16 class represents a CIM sixteen bit character (char16).
43                This class is a trivial wrapper for a sixteen bit integer. It is used
44                as the element type in the String class (used to represent the CIM
45                string type). Ordinarily Uint16 could be used; however, a distinguishable
46                type was needed for the purposes of function overloaded which occurs in
47                the CIMValue class.
48            */
49 david.dillard 1.22 class PEGASUS_COMMON_LINKAGE Char16
50 mike          1.11 {
51                    public:
52                    
53 kumpf         1.17     /// Constructor.
54 kumpf         1.14     Char16();
55 mike          1.11 
56 kumpf         1.17     /// Constructor.
57 kumpf         1.14     Char16(Uint16 x);
58 mike          1.11 
59 kumpf         1.17     /// Constructor.
60 kumpf         1.14     Char16(const Char16& x);
61 mike          1.11 
62 kumpf         1.17     /// Destructor.
63 kumpf         1.14     ~Char16();
64 mike          1.11 
65 kumpf         1.17     /// Assignment operator.
66 kumpf         1.14     Char16& operator=(Uint16 x);
67 mike          1.11 
68 kumpf         1.17     /// Assignment operator.
69 kumpf         1.14     Char16& operator=(const Char16& x);
70 mike          1.11 
71                        /// Implicit converter from Char16 to Uint16
72 kumpf         1.14     operator Uint16() const;
73 mike          1.11 
74                    private:
75                        Uint16 _code;
76                    };
77                    
78 kumpf         1.14 PEGASUS_COMMON_LINKAGE Boolean operator==(const Char16& x, const Char16& y);
79                    PEGASUS_COMMON_LINKAGE Boolean operator==(const Char16& x, char y);
80                    PEGASUS_COMMON_LINKAGE Boolean operator==(char x, const Char16& y);
81                    PEGASUS_COMMON_LINKAGE Boolean operator!=(const Char16& x, const Char16& y);
82                    PEGASUS_COMMON_LINKAGE Boolean operator!=(const Char16& x, char y);
83                    PEGASUS_COMMON_LINKAGE Boolean operator!=(char x, const Char16& y);
84 mike          1.11 
85                    PEGASUS_NAMESPACE_END
86                    
87 mike          1.24 #if defined(PEGASUS_INTERNALONLY) && !defined(PEGASUS_DISABLE_INTERNAL_INLINES)
88                    # include "Char16Inline.h"
89                    #endif
90                    
91 mike          1.11 #endif /* Pegasus_Char16_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2