MBDyn-1.7.3
Main Page
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
demangle.cc
Go to the documentation of this file.
1
/* $Header: /var/cvs/mbdyn/mbdyn/mbdyn-1.0/libraries/libmbutil/demangle.cc,v 1.8 2017/01/12 14:44:04 masarati Exp $ */
2
/*
3
* MBDyn (C) is a multibody analysis code.
4
* http://www.mbdyn.org
5
*
6
* Copyright (C) 1996-2017
7
*
8
* Pierangelo Masarati <masarati@aero.polimi.it>
9
* Paolo Mantegazza <mantegazza@aero.polimi.it>
10
*
11
* Dipartimento di Ingegneria Aerospaziale - Politecnico di Milano
12
* via La Masa, 34 - 20156 Milano, Italy
13
* http://www.aero.polimi.it
14
*
15
* Changing this copyright notice is forbidden.
16
*
17
* This program is free software; you can redistribute it and/or modify
18
* it under the terms of the GNU General Public License as published by
19
* the Free Software Foundation (version 2 of the License).
20
*
21
*
22
* This program is distributed in the hope that it will be useful,
23
* but WITHOUT ANY WARRANTY; without even the implied warranty of
24
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25
* GNU General Public License for more details.
26
*
27
* You should have received a copy of the GNU General Public License
28
* along with this program; if not, write to the Free Software
29
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
30
*/
31
32
#include "mbconfig.h"
33
34
#include "
demangle.h
"
35
36
#include <cstdlib>
37
#ifdef HAVE_CXXABI_H
38
#include <cxxabi.h>
39
#endif
40
41
std::string
42
mbdyn_demangle
(
const
char
*name)
43
{
44
std::string ret;
45
46
#ifdef HAVE_CXXABI_H
47
const
char
* demangled_name = name;
48
int
status = -1;
49
char
* res = abi::__cxa_demangle(name, NULL, NULL, &status);
50
if
(status == 0) {
51
demangled_name = res;
52
}
53
ret = demangled_name;
54
#else
55
ret = name;
56
#endif
57
58
return
ret;
59
}
60
61
std::string
62
mbdyn_demangle
(
const
std::type_info& t)
63
{
64
return
mbdyn_demangle
(t.name());
65
}
66
demangle.h
mbdyn_demangle
std::string mbdyn_demangle(const char *name)
Definition:
demangle.cc:42
libraries
libmbutil
demangle.cc
Generated on Fri Apr 13 2018 10:19:32 for MBDyn-1.7.3 by
1.8.7