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