LCOV - code coverage report
Current view: top level - usr/include/boost/exception/detail - error_info_impl.hpp (source / functions) Hit Total Coverage
Test: ROSE Lines: 0 9 0.0 %
Date: 2022-12-08 13:48:47 Functions: 0 3 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : //Copyright (c) 2006-2010 Emil Dotchevski and Reverge Studios, Inc.
       2             : 
       3             : //Distributed under the Boost Software License, Version 1.0. (See accompanying
       4             : //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       5             : 
       6             : #ifndef UUID_CE6983AC753411DDA764247956D89593
       7             : #define UUID_CE6983AC753411DDA764247956D89593
       8             : 
       9             : #include <boost/config.hpp>
      10             : #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
      11             : #include <boost/type_traits/is_nothrow_move_constructible.hpp>
      12             : #endif
      13             : #include <utility>
      14             : #include <string>
      15             : 
      16             : #if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
      17             : #pragma GCC system_header
      18             : #endif
      19             : #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
      20             : #pragma warning(push,1)
      21             : #endif
      22             : 
      23             : namespace
      24             : boost
      25             :     {
      26             :     namespace
      27             :     exception_detail
      28             :         {
      29             :         class
      30           0 :         error_info_base
      31             :             {
      32             :             public:
      33             : 
      34             :             virtual std::string name_value_string() const = 0;
      35             :             virtual error_info_base * clone() const = 0;
      36             : 
      37             :             virtual
      38           0 :             ~error_info_base() BOOST_NOEXCEPT_OR_NOTHROW
      39             :                 {
      40             :                 }
      41             :             };
      42             :         }
      43             : 
      44             :     template <class Tag,class T>
      45             :     class
      46             :     error_info:
      47             :         public exception_detail::error_info_base
      48             :         {
      49             :         exception_detail::error_info_base *
      50           0 :         clone() const
      51             :             {
      52           0 :             return new error_info<Tag,T>(*this);
      53             :             }
      54             :         public:
      55             :         typedef T value_type;
      56             :         error_info( value_type const & v ):
      57             :             v_(v)
      58             :             {
      59             :             }
      60             : #if (__GNUC__*100+__GNUC_MINOR__!=406) //workaround for g++ bug
      61             : #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
      62           0 :         error_info( error_info const & x ):
      63           0 :             v_(x.v_)
      64             :             {
      65             :             }
      66             :         error_info( T && v ) BOOST_NOEXCEPT_IF(boost::is_nothrow_move_constructible<T>::value):
      67             :             v_(std::move(v))
      68             :             {
      69             :             }
      70             :         error_info( error_info && x ) BOOST_NOEXCEPT_IF(boost::is_nothrow_move_constructible<T>::value):
      71             :             v_(std::move(x.v_))
      72             :             {
      73             :             }
      74             : #endif
      75             : #endif
      76           0 :         ~error_info() BOOST_NOEXCEPT_OR_NOTHROW
      77             :             {
      78           0 :             }
      79             :         value_type const &
      80           0 :         value() const
      81             :             {
      82             :             return v_;
      83             :             }
      84             :         value_type &
      85             :         value()
      86             :             {
      87             :             return v_;
      88             :             }
      89             :         private:
      90             :         error_info & operator=( error_info const & );
      91             : #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
      92             :         error_info & operator=( error_info && x );
      93             : #endif
      94             :         std::string name_value_string() const;
      95             :         value_type v_;
      96             :         };
      97             :     }
      98             : 
      99             : #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
     100             : #pragma warning(pop)
     101             : #endif
     102             : #endif

Generated by: LCOV version 1.14