0024530: TKMesh - remove unused package IntPoly
[occt.git] / src / Standard / Standard_CString.hxx
CommitLineData
b311480e 1// Copyright (c) 1998-1999 Matra Datavision
973c2be1 2// Copyright (c) 1999-2014 OPEN CASCADE SAS
b311480e 3//
973c2be1 4// This file is part of Open CASCADE Technology software library.
b311480e 5//
973c2be1 6// This library is free software; you can redistribute it and / or modify it
7// under the terms of the GNU Lesser General Public version 2.1 as published
8// by the Free Software Foundation, with special exception defined in the file
9// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
10// distribution for complete text of the license and disclaimer of any warranty.
b311480e 11//
973c2be1 12// Alternatively, this file may be used under the terms of Open CASCADE
13// commercial license or contractual agreement.
b311480e 14
7fd59977 15//============================================================================
16//==== Titre: Standard_CString.hxx
17//==== Role : The headr file of primitve type "CString" from package "Standard"
91322f44 18//====
7fd59977 19//==== Implementation: This is a primitive type implementadef with typedef
20//==== typedef char* Standard_CString;
21//============================================================================
22
23#ifndef _Standard_CString_HeaderFile
24# define _Standard_CString_HeaderFile
25
26# ifndef _Standard_TypeDef_HeaderFile
27# include <Standard_TypeDef.hxx>
28# endif
29
91322f44 30# ifdef _MSC_VER
7fd59977 31# define strcasecmp _stricmp
32# endif
33
34# include <string.h>
91322f44 35# include <stdio.h>
7fd59977 36
37# ifndef _Standard_Integer_HeaderFile
38# include <Standard_Integer.hxx>
39# endif
40
41
42class Handle_Standard_Type;
43
44
34781c33 45__Standard_API const Handle_Standard_Type& Standard_CString_Type_();
7fd59977 46
47inline Standard_Integer Abs (const Standard_Integer);
48inline Standard_CString ShallowCopy (const Standard_CString Value);
49inline Standard_Boolean IsSimilar(const Standard_CString One
50 ,const Standard_CString Two);
7fd59977 51__Standard_API Standard_Integer HashCode (const Standard_CString,
52 const Standard_Integer);
53inline Standard_Integer HashCode (const Standard_CString,
54 const Standard_Integer,
55 const Standard_Integer);
56inline Standard_Integer HashCode (const Standard_CString,
57 const Standard_Integer ,
58 const Standard_Integer ,
59 Standard_Integer& );
60Standard_Integer HashCodes (const Standard_CString ,
61 const Standard_Integer );
7fd59977 62
91322f44 63//! Equivalents of functions from standard C library that use always C locale
64__Standard_API double Atof (const char* theStr);
65__Standard_API double Strtod (const char* theStr, char** theNextPtr);
66__Standard_API int Printf (const char* theFormat, ...);
67__Standard_API int Fprintf (FILE* theFile, const char* theFormat, ...);
68__Standard_API int Sprintf (char* theBuffer, const char* theFormat, ...);
69
7fd59977 70//============================================================================
71//==== ShallowCopy: Returns a CString
72//============================================================================
73inline Standard_CString ShallowCopy (const Standard_CString Value)
74{
75 return Value;
76}
77
78//============================================================================
79//==== IsSimilar : Returns Standard_True if two booleans have the same value
80//============================================================================
81inline Standard_Boolean IsSimilar(const Standard_CString One
82 ,const Standard_CString Two)
91322f44 83{
7fd59977 84 return (strcmp(One,Two) == 0);
85}
86
7fd59977 87//============================================================================
88//==== HashCode of CString. Returns the HashCode itself and
89//==== the HashCode % Upper
90//============================================================================
91inline Standard_Integer HashCode (const Standard_CString Value,
91322f44 92 const Standard_Integer Len ,
7fd59977 93 const Standard_Integer Upper ,
94 Standard_Integer& aHashCode )
95{
96 aHashCode = HashCodes( Value , Len );
97// return (Abs( aHashCode ) % Upper ) + 1 ;
98 return HashCode( (Standard_Integer)aHashCode , Upper ) ;
99}
100
101//============================================================================
102//==== HashCode of CString. Returns the HashCode itself and
103//==== the HashCode % Upper
104//============================================================================
105inline Standard_Integer HashCode (const Standard_CString Value,
106 const Standard_Integer Len ,
107 const Standard_Integer Upper )
108{
109// return (Abs( HashCodes( Value , Len ) ) % Upper ) + 1 ;
110 return HashCode( (Standard_Integer) HashCodes( Value , Len ) , Upper ) ;
111}
112
7fd59977 113#endif