00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef TAO_PSDL_STRING_H
00014 #define TAO_PSDL_STRING_H
00015 #include "ace/pre.h"
00016
00017 #include "psdl_export.h"
00018
00019 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00020 # pragma once
00021 #endif
00022
00023 #include "PSDL_Datastore.h"
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 class ACE_Allocator;
00035
00036 class TAO_PSDL_Export TAO_PSDL_String
00037 {
00038 public:
00039
00040
00041 TAO_PSDL_String (void);
00042
00043
00044 TAO_PSDL_String (ACE_Allocator *persistent_allocator);
00045
00046
00047 TAO_PSDL_String (const TAO_PSDL_String & rhs);
00048
00049
00050 ~TAO_PSDL_String (void);
00051
00052
00053 void operator= (const TAO_PSDL_String & rhs);
00054
00055
00056 void operator= (const ACE_CString & rhs);
00057
00058
00059 bool operator== (const TAO_PSDL_String &rhs) const;
00060
00061
00062 bool operator!= (const TAO_PSDL_String &rhs) const;
00063
00064
00065 u_long hash (void) const;
00066
00067
00068
00069 operator ACE_CString *() const;
00070
00071 operator ACE_CString *();
00072
00073
00074 ACE_Allocator * allocator_;
00075
00076
00077 const char * buffer_;
00078
00079
00080 CORBA::ULong length_;
00081 };
00082
00083
00084 #include "ace/post.h"
00085 #endif