Coin Logo http://www.sim.no/
http://www.coin3d.org/

SbName.h
1 #ifndef COIN_SBNAME_H
2 #define COIN_SBNAME_H
3 
4 /**************************************************************************\
5  *
6  * This file is part of the Coin 3D visualization library.
7  * Copyright (C) by Kongsberg Oil & Gas Technologies.
8  *
9  * This library is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU General Public License
11  * ("GPL") version 2 as published by the Free Software Foundation.
12  * See the file LICENSE.GPL at the root directory of this source
13  * distribution for additional information about the GNU GPL.
14  *
15  * For using Coin with software that can not be combined with the GNU
16  * GPL, and for taking advantage of the additional benefits of our
17  * support services, please contact Kongsberg Oil & Gas Technologies
18  * about acquiring a Coin Professional Edition License.
19  *
20  * See http://www.coin3d.org/ for more information.
21  *
22  * Kongsberg Oil & Gas Technologies, Bygdoy Alle 5, 0257 Oslo, NORWAY.
23  * http://www.sim.no/ sales@sim.no coin-support@coin3d.org
24  *
25 \**************************************************************************/
26 
27 #include <Inventor/SbBasic.h>
28 
29 class SbString;
30 
31 class COIN_DLL_API SbName {
32 public:
33  SbName(void);
34  SbName(const char * namestring);
35  SbName(const SbString & str);
36  SbName(const SbName & name);
37  ~SbName();
38 
39  const char * getString(void) const;
40  int getLength(void) const;
41 
42  int operator!(void) const;
43  friend COIN_DLL_API int operator==(const SbName & lhs, const char * rhs);
44  friend COIN_DLL_API int operator==(const char * lhs, const SbName & rhs);
45  friend COIN_DLL_API int operator==(const SbName & lhs, const SbName & rhs);
46  friend COIN_DLL_API int operator!=(const SbName & lhs, const char * rhs);
47  friend COIN_DLL_API int operator!=(const char * lhs, const SbName & rhs);
48  friend COIN_DLL_API int operator!=(const SbName & lhs, const SbName & rhs);
49 
50  operator const char * (void) const;
51 
52  // The following 4 functions shouldn't be in this class, they are
53  // related solely to .iv/.wrl file I/O (and so would likely be
54  // better placed in SoOutput). This is a design flaw, but we can't
55  // fix it without breaking API compatibility with the original SGI
56  // Inventor.
57  static SbBool isIdentStartChar(const char c);
58  static SbBool isIdentChar(const char c);
59  static SbBool isBaseNameStartChar(const char c);
60  static SbBool isBaseNameChar(const char c);
61 
62  static const SbName & empty(void);
63 
64 private:
65  const char * permaaddress;
66 };
67 
68 COIN_DLL_API int operator==(const SbName & lhs, const char * rhs);
69 COIN_DLL_API int operator==(const char * lhs, const SbName & rhs);
70 COIN_DLL_API int operator==(const SbName & lhs, const SbName & rhs);
71 COIN_DLL_API int operator!=(const SbName & lhs, const char * rhs);
72 COIN_DLL_API int operator!=(const char * lhs, const SbName & rhs);
73 COIN_DLL_API int operator!=(const SbName & lhs, const SbName & rhs);
74 
75 #endif // !COIN_SBNAME_H
int operator!=(const SbBox2d &b1, const SbBox2d &b2)
Definition: SbBox2d.h:92
int operator==(const SbBox2d &b1, const SbBox2d &b2)
Definition: SbBox2d.h:88
The SbString class is a string class with convenience functions for string operations.This is the class used for storing and working with character strings. It automatically takes care of supporting all the &quot;bookkeeping&quot; tasks usually associated with working with character strings, like memory allocation and deallocation etc.
Definition: SbString.h:42
The SbName class stores strings by reference.The class is used by Coin for storing keywords...
Definition: SbName.h:31

Copyright © 1998-2010 by Kongsberg Oil & Gas Technologies. All rights reserved.

Generated on Fri Sep 9 2016 for Coin by Doxygen 1.8.5.