SALOME - SMESH
SMESH_Comment.hxx
Go to the documentation of this file.
1 // Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE
2 //
3 // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5 //
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License.
10 //
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Lesser General Public License for more details.
15 //
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 //
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 //
22 // SMESH SMESH : implementaion of SMESH idl descriptions
23 // File : SMESH_Comment.hxx
24 // Created : Wed Mar 14 18:28:45 2007
25 // Author : Edward AGAPOV (eap)
26 // Module : SMESH
27 // $Header:
28 //
29 #ifndef SMESH_Comment_HeaderFile
30 #define SMESH_Comment_HeaderFile
31 
32 # include <string>
33 # include <sstream>
34 
35 
39 class SMESH_Comment : public std::string
40 {
41  std::ostringstream _s ;
42 
43 public :
44 
45  SMESH_Comment():std::string("") {}
46 
47  SMESH_Comment(const SMESH_Comment& c):std::string() {
48  _s << c.c_str() ;
49  this->std::string::operator=( _s.str() );
50  }
51 
52  template <class T>
53  SMESH_Comment( const T &anything ) {
54  _s << anything ;
55  this->std::string::operator=( _s.str() );
56  }
57 
58  template <class T>
59  SMESH_Comment & operator<<( const T &anything ) {
60  _s << anything ;
61  this->std::string::operator=( _s.str() );
62  return *this ;
63  }
64 
65  operator char*() const {
66  return (char*)c_str();
67  }
68 };
69 
70 
71 #endif
std::ostringstream _s
SMESH_Comment & operator<<(const T &anything)
STL namespace.
SMESH_Comment(const SMESH_Comment &c)
SMESH_Comment(const T &anything)
Class to generate string from any type.