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

          Line data    Source code
       1             : //  This header intentionally has no include guards.
       2             : //
       3             : //  Copyright (c) 2001-2009, 2012 Peter Dimov
       4             : //
       5             : //  Distributed under the Boost Software License, Version 1.0.
       6             : //  See accompanying file LICENSE_1_0.txt or copy at
       7             : //  http://www.boost.org/LICENSE_1_0.txt
       8             : 
       9             : #if !defined( BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS ) && !defined( BOOST_NO_CXX11_NULLPTR )\
      10             :     && !(defined(__SUNPRO_CC) && BOOST_WORKAROUND(__SUNPRO_CC, <= 0x5130))
      11             : 
      12           0 :     explicit operator bool () const BOOST_SP_NOEXCEPT
      13             :     {
      14             :         return px != 0;
      15             :     }
      16             : 
      17             : #elif ( defined(__SUNPRO_CC) && BOOST_WORKAROUND(__SUNPRO_CC, < 0x570) ) || defined(__CINT__)
      18             : 
      19             :     operator bool () const BOOST_SP_NOEXCEPT
      20             :     {
      21             :         return px != 0;
      22             :     }
      23             : 
      24             : #elif defined( _MANAGED )
      25             : 
      26             :     static void unspecified_bool( this_type*** )
      27             :     {
      28             :     }
      29             : 
      30             :     typedef void (*unspecified_bool_type)( this_type*** );
      31             : 
      32             :     operator unspecified_bool_type() const BOOST_SP_NOEXCEPT
      33             :     {
      34             :         return px == 0? 0: unspecified_bool;
      35             :     }
      36             : 
      37             : #elif \
      38             :     ( defined(__MWERKS__) && BOOST_WORKAROUND(__MWERKS__, < 0x3200) ) || \
      39             :     ( defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ < 304) ) || \
      40             :     ( defined(__SUNPRO_CC) && BOOST_WORKAROUND(__SUNPRO_CC, <= 0x590) )
      41             : 
      42             :     typedef element_type * (this_type::*unspecified_bool_type)() const;
      43             : 
      44             :     operator unspecified_bool_type() const BOOST_SP_NOEXCEPT
      45             :     {
      46             :         return px == 0? 0: &this_type::get;
      47             :     }
      48             : 
      49             : #else
      50             : 
      51             :     typedef element_type * this_type::*unspecified_bool_type;
      52             : 
      53             :     operator unspecified_bool_type() const BOOST_SP_NOEXCEPT
      54             :     {
      55             :         return px == 0? 0: &this_type::px;
      56             :     }
      57             : 
      58             : #endif
      59             : 
      60             :     // operator! is redundant, but some compilers need it
      61           0 :     bool operator! () const BOOST_SP_NOEXCEPT
      62             :     {
      63             :         return px == 0;
      64             :     }

Generated by: LCOV version 1.14