1 /*! 2 * \file mfront/src/AbaqusException.cxx 3 * \brief 4 * 5 * \author Thomas Helfer 6 * \date 09 nov 2007 7 * \copyright Copyright (C) 2006-2018 CEA/DEN, EDF R&D. All rights 8 * reserved. 9 * This project is publicly released under either the GNU GPL Licence 10 * or the CECILL-A licence. A copy of thoses licences are delivered 11 * with the sources of TFEL. CEA or EDF may also distribute this 12 * project under specific licensing conditions. 13 */ 14 15 #include"MFront/Abaqus/AbaqusException.hxx" 16 17 // fixing a bug on current glibc++ cygwin versions (19/08/2015) 18 #if defined __CYGWIN__ && (!defined _GLIBCXX_USE_C99) 19 #include<sstream> 20 namespace std{ 21 template<typename T> to_string(const T & v)22 std::string to_string(const T& v){ 23 std::ostringstream s; 24 s << v; 25 return s.str(); 26 } 27 } 28 #endif /* defined __CYGWIN__ && (!defined _GLIBCXX_USE_C99) */ 29 30 namespace abaqus 31 { 32 AbaqusException(const std::string & s)33 AbaqusException::AbaqusException(const std::string& s) 34 : msg(s) 35 {} // end of AbaqusException::AbaqusException 36 37 AbaqusException::AbaqusException(AbaqusException&&) = default; 38 39 AbaqusException::AbaqusException(const AbaqusException&) = default; 40 41 const char* what() const42 AbaqusException::what () const noexcept 43 { 44 return msg.c_str(); 45 } // end of AbaqusException::what 46 47 std::string getMsg() const48 AbaqusException::getMsg() const noexcept 49 { 50 return msg; 51 } // end of AbaqusException::getMsg 52 53 AbaqusException::~AbaqusException() noexcept = default; 54 55 AbaqusInvalidModellingHypothesis::AbaqusInvalidModellingHypothesis(AbaqusInvalidModellingHypothesis&&) = default; 56 57 AbaqusInvalidModellingHypothesis::AbaqusInvalidModellingHypothesis(const AbaqusInvalidModellingHypothesis&) = default; 58 AbaqusInvalidModellingHypothesis(const char * b)59 AbaqusInvalidModellingHypothesis::AbaqusInvalidModellingHypothesis(const char* b) 60 : AbaqusException("current modelling hypothesis is not supported by behaviour '"+ 61 std::string(b)+"'") 62 {} 63 64 AbaqusInvalidModellingHypothesis::~AbaqusInvalidModellingHypothesis() noexcept = default; 65 AbaqusInvalidNTENSValue(const unsigned short N)66 AbaqusInvalidNTENSValue::AbaqusInvalidNTENSValue(const unsigned short N) 67 : AbaqusException("Invalid tensor size declared '"+ 68 std::to_string(static_cast<unsigned int>(N))+"'") 69 {} // end of AbaqusInvalidNTENSValue::AbaqusInvalidNTENSValue 70 71 AbaqusInvalidNTENSValue::AbaqusInvalidNTENSValue(AbaqusInvalidNTENSValue&&) = default; 72 73 AbaqusInvalidNTENSValue::AbaqusInvalidNTENSValue(const AbaqusInvalidNTENSValue&) = default; 74 75 AbaqusInvalidNTENSValue::~AbaqusInvalidNTENSValue() noexcept = default; 76 AbaqusInvalidDimension(const std::string & b,const unsigned short N)77 AbaqusInvalidDimension::AbaqusInvalidDimension(const std::string& b, 78 const unsigned short N) 79 : AbaqusException("''"+b+"' can't be used in "+ 80 std::to_string(static_cast<unsigned int>(N))+"D") 81 {} // end of AbaqusInvalidDimension::AbaqusInvalidDimension 82 83 AbaqusInvalidDimension::AbaqusInvalidDimension(const AbaqusInvalidDimension&) = default; 84 85 AbaqusInvalidDimension::AbaqusInvalidDimension(AbaqusInvalidDimension&&) = default; 86 87 88 AbaqusInvalidDimension::~AbaqusInvalidDimension() noexcept = default; 89 90 } // end of namespace abaqus 91 92