Book a Demo

Author Topic: Problems with c++ 11 Features Reverse Engineering  (Read 5942 times)

informdata

  • EA Novice
  • *
  • Posts: 1
  • Karma: +0/-0
    • View Profile
Problems with c++ 11 Features Reverse Engineering
« on: January 16, 2017, 11:53:33 pm »
Hello i have follwing Problems with EA 13.0.1309:
- Forwarding enum Class with number type is unknown:
  enum class CommunicationEventEnum : unsigned int;
- final keyword is unknown:
   class MyImpl final :public IManageImpl
   {
   public:
      MyImpl(shared_ptr<string> myName);
      ~MyImpl() override;
        }
- The following statemant give a parse error:
   template <typename E>
    static constexpr auto to_underlying(E e) noexcept
    {
      return static_cast<std::underlying_type_t<E>>(e);
    }
- The following statemant give a parse error:
MyMsgBase& MyMsgBase::operator=(MyMsgBase&& other) noexcept
{
  m_maxExecutionTime = move(other.m_maxExecutionTime);
  m_nHandshakeNum = move(other.m_nHandshakeNum);
  m_Transaction = move(other.m_Transaction);
  m_nType = move(other.m_nType);
  return *this;
}

- The following statemant give a parse error:
MyTransaction& MyTransaction::operator=(MyTransaction&& other) noexcept
{
  m_transactionUUID = std::move(other.m_transactionUUID);
  m_DeviceTransactionID = std::move(other.m_DeviceTransactionID);
  return *this;
}

I hope you can help me to clear this Problems....

Chad

  • EA Novice
  • *
  • Posts: 4
  • Karma: +0/-0
    • View Profile
Re: Problems with c++ 11 Features Reverse Engineering
« Reply #1 on: May 03, 2018, 02:10:34 am »
Hopefully Enterprise Architect will add full support for C++11/14/17 soon as it does limit it's usefulness.  Just in case you haven't tried it, I have found I can extend it's ability to parse some newer constructs just by defining some of the new keywords as preprocessor macros in EA.  For example:
  • final
  • constexpr
  • noexcept

It won't fix everything though.