00001 #ifndef COIN_SBNAME_H
00002 #define COIN_SBNAME_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #include <Inventor/SbBasic.h>
00028
00029 class SbString;
00030
00031 class COIN_DLL_API SbName {
00032 public:
00033 SbName(void);
00034 SbName(const char * nameString);
00035 SbName(const SbString & str);
00036 SbName(const SbName & name);
00037 ~SbName(void);
00038
00039 const char * getString(void) const;
00040 int getLength(void) const;
00041 static SbBool isIdentStartChar(const char c);
00042 static SbBool isIdentChar(const char c);
00043 static SbBool isBaseNameStartChar(const char c);
00044 static SbBool isBaseNameChar(const char c);
00045
00046 int operator ! (void) const;
00047 friend COIN_DLL_API int operator == (const SbName & lhs, const char * rhs);
00048 friend COIN_DLL_API int operator == (const char * lhs, const SbName & rhs);
00049 friend COIN_DLL_API int operator == (const SbName & lhs, const SbName & rhs);
00050 friend COIN_DLL_API int operator != (const SbName & lhs, const char * rhs);
00051 friend COIN_DLL_API int operator != (const char * lhs, const SbName & rhs);
00052 friend COIN_DLL_API int operator != (const SbName & lhs, const SbName & rhs);
00053
00054 operator const char * (void) const;
00055
00056 private:
00057 const class SbNameEntry * entry;
00058 };
00059 COIN_DLL_API int operator == (const SbName & lhs, const char * rhs);
00060 COIN_DLL_API int operator == (const char * lhs, const SbName & rhs);
00061 COIN_DLL_API int operator == (const SbName & lhs, const SbName & rhs);
00062 COIN_DLL_API int operator != (const SbName & lhs, const char * rhs);
00063 COIN_DLL_API int operator != (const char * lhs, const SbName & rhs);
00064 COIN_DLL_API int operator != (const SbName & lhs, const SbName & rhs);
00065
00066 #endif // !COIN_SBNAME_H