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