Back to home page

EIC code displayed by LXR

 
 

    


Warning, /include/opencascade/TCollection_HAsciiString.lxx is written in an unsupported language. File is not indexed.

0001 // Copyright (c) 1998-1999 Matra Datavision
0002 // Copyright (c) 1999-2014 OPEN CASCADE SAS
0003 //
0004 // This file is part of Open CASCADE Technology software library.
0005 //
0006 // This library is free software; you can redistribute it and/or modify it under
0007 // the terms of the GNU Lesser General Public License version 2.1 as published
0008 // by the Free Software Foundation, with special exception defined in the file
0009 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
0010 // distribution for complete text of the license and disclaimer of any warranty.
0011 //
0012 // Alternatively, this file may be used under the terms of Open CASCADE
0013 // commercial license or contractual agreement.
0014 
0015 // ---------------------------------------------------------------------------
0016 // AssignCat
0017 // ----------------------------------------------------------------------------
0018 inline void TCollection_HAsciiString::AssignCat(const Standard_CString other) 
0019 {myString.AssignCat(other);}
0020 
0021 // ---------------------------------------------------------------------------
0022 // AssignCat
0023 // ----------------------------------------------------------------------------
0024 inline void TCollection_HAsciiString::AssignCat
0025                       (const Handle(TCollection_HAsciiString)& other) 
0026 {myString.AssignCat(other->String());}
0027 
0028 
0029 // ----------------------------------------------------------------------------
0030 // Length
0031 // ----------------------------------------------------------------------------
0032 inline Standard_Integer TCollection_HAsciiString::Length() const
0033 {return myString.mylength;}
0034 
0035 // ----------------------------------------------------------------------------
0036 // String
0037 // ----------------------------------------------------------------------------
0038 inline const TCollection_AsciiString& TCollection_HAsciiString::String() const
0039 {return myString;}
0040 
0041 // ----------------------------------------------------------------------------
0042 inline Standard_CString TCollection_HAsciiString::ToCString() const
0043 { return myString.ToCString(); }
0044 
0045 namespace std
0046 {
0047   template <>
0048   struct hash<Handle(TCollection_HAsciiString)>
0049   {
0050     size_t operator()(const Handle(TCollection_HAsciiString)& theString) const
0051     {
0052       if (theString.IsNull()) return 0;
0053       return std::hash<TCollection_AsciiString>{}(theString->String());
0054     }
0055   };
0056 
0057   template<>
0058   struct equal_to<Handle(TCollection_HAsciiString)>
0059   {
0060     bool operator()(const Handle(TCollection_HAsciiString)& theString1,
0061       const Handle(TCollection_HAsciiString)& theString2) const
0062     {
0063       return theString1 == theString2 ||
0064         (!theString1.IsNull() && !theString2.IsNull() && theString1->String() == theString2->String());
0065     }
0066   };
0067 }