_ZN5boost3anyC2ImEEOT_PNSt3__19enable_ifIXntsr3std7is_sameIRS0_S2_EE5valueEvE4typeEPNS5_IXntsr8is_constIS2_EE5valueEvE4typeE:
   96|  3.73k|          : content(new holder< typename std::decay<ValueType>::type >(std::forward<ValueType>(value)))
   97|  3.73k|        {
   98|  3.73k|            static_assert(
   99|  3.73k|                !anys::detail::is_basic_any<typename std::decay<ValueType>::type>::value,
  100|  3.73k|                "boost::any shall not be constructed from boost::anys::basic_any"
  101|  3.73k|            );
  102|  3.73k|        }
_ZN5boost3any6holderImEC2EOm:
  222|  3.73k|              : held(static_cast< ValueType&& >(value))
  223|  3.73k|            {
  224|  3.73k|            }
_ZNK5boost3any6holderImE4typeEv:
  229|  8.19k|            {
  230|  8.19k|                return boost::typeindex::type_id<ValueType>().type_info();
  231|  8.19k|            }
_ZNK5boost3any6holderImE5cloneEv:
  234|  8.19k|            {
  235|  8.19k|                return new holder(held);
  236|  8.19k|            }
_ZN5boost3any6holderImEC2ERKm:
  217|  16.2k|              : held(value)
  218|  16.2k|            {
  219|  16.2k|            }
_ZN5boost8any_castImEET_RNS_3anyE:
  308|  8.19k|    {
  309|  8.19k|        using nonref = typename std::remove_reference<ValueType>::type;
  310|       |
  311|  8.19k|        nonref * result = boost::any_cast<nonref>(std::addressof(operand));
  312|  8.19k|        if(!result)
  ------------------
  |  Branch (312:12): [True: 0, False: 8.19k]
  ------------------
  313|      0|            boost::throw_exception(bad_any_cast());
  314|       |
  315|       |        // Attempt to avoid construction of a temporary object in cases when
  316|       |        // `ValueType` is not a reference. Example:
  317|       |        // `static_cast<std::string>(*result);`
  318|       |        // which is equal to `std::string(*result);`
  319|  8.19k|        typedef typename std::conditional<
  320|  8.19k|            std::is_reference<ValueType>::value,
  321|  8.19k|            ValueType,
  322|  8.19k|            typename std::add_lvalue_reference<ValueType>::type
  323|  8.19k|        >::type ref_type;
  324|       |
  325|       |#ifdef BOOST_MSVC
  326|       |#   pragma warning(push)
  327|       |#   pragma warning(disable: 4172) // "returning address of local variable or temporary" but *result is not local!
  328|       |#endif
  329|  8.19k|        return static_cast<ref_type>(*result);
  330|       |#ifdef BOOST_MSVC
  331|       |#   pragma warning(pop)
  332|       |#endif
  333|  8.19k|    }
_ZN5boost8any_castImEEPT_PNS_3anyE:
  289|  8.19k|    {
  290|  8.19k|        return operand && operand->type() == boost::typeindex::type_id<ValueType>()
  ------------------
  |  Branch (290:16): [True: 8.19k, False: 0]
  |  Branch (290:27): [True: 8.19k, False: 0]
  ------------------
  291|  8.19k|            ? boost::unsafe_any_cast<typename std::remove_cv<ValueType>::type>(operand)
  292|  8.19k|            : 0;
  293|  8.19k|    }
_ZNK5boost3any4typeEv:
  198|  8.19k|        {
  199|  8.19k|            return content ? content->type() : boost::typeindex::type_id<void>().type_info();
  ------------------
  |  Branch (199:20): [True: 8.19k, False: 0]
  ------------------
  200|  8.19k|        }
_ZN5boost15unsafe_any_castImEEPT_PNS_3anyE:
  272|  8.19k|    {
  273|  8.19k|        return std::addressof(
  274|  8.19k|            static_cast<any::holder<ValueType> *>(operand->content)->held
  275|  8.19k|        );
  276|  8.19k|    }
_ZN5boost3anyD2Ev:
  108|  65.2k|        {
  109|  65.2k|            delete content;
  110|  65.2k|        }
_ZN5boost3anyC2IPNS_14adjacency_listINS_4vecSES3_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEENS_11no_propertyEEENS5_INS_13edge_weight_tEdSE_EESE_NS_5listSEEEEERKT_:
   52|  12.9k|          : content(new holder<
   53|  12.9k|                typename std::remove_cv<typename std::decay<const ValueType>::type>::type
   54|  12.9k|            >(value))
   55|  12.9k|        {
   56|  12.9k|            static_assert(
   57|  12.9k|                !anys::detail::is_basic_any<ValueType>::value,
   58|  12.9k|                "boost::any shall not be constructed from boost::anys::basic_any"
   59|  12.9k|            );
   60|  12.9k|        }
_ZN5boost3any6holderIPNS_14adjacency_listINS_4vecSES3_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEENS_11no_propertyEEENS5_INS_13edge_weight_tEdSE_EESE_NS_5listSEEEEC2ERKSK_:
  217|  12.9k|              : held(value)
  218|  12.9k|            {
  219|  12.9k|            }
_ZN5boost3anyC2IbEERKT_:
   52|  6.74k|          : content(new holder<
   53|  6.74k|                typename std::remove_cv<typename std::decay<const ValueType>::type>::type
   54|  6.74k|            >(value))
   55|  6.74k|        {
   56|  6.74k|            static_assert(
   57|  6.74k|                !anys::detail::is_basic_any<ValueType>::value,
   58|  6.74k|                "boost::any shall not be constructed from boost::anys::basic_any"
   59|  6.74k|            );
   60|  6.74k|        }
_ZN5boost3any6holderIbEC2ERKb:
  217|  6.74k|              : held(value)
  218|  6.74k|            {
  219|  6.74k|            }
_ZN5boost3anyC2IiEERKT_:
   52|  2.42k|          : content(new holder<
   53|  2.42k|                typename std::remove_cv<typename std::decay<const ValueType>::type>::type
   54|  2.42k|            >(value))
   55|  2.42k|        {
   56|  2.42k|            static_assert(
   57|  2.42k|                !anys::detail::is_basic_any<ValueType>::value,
   58|  2.42k|                "boost::any shall not be constructed from boost::anys::basic_any"
   59|  2.42k|            );
   60|  2.42k|        }
_ZN5boost3any6holderIiEC2ERKi:
  217|  2.42k|              : held(value)
  218|  2.42k|            {
  219|  2.42k|            }
_ZN5boost3anyC2IlEERKT_:
   52|  2.64k|          : content(new holder<
   53|  2.64k|                typename std::remove_cv<typename std::decay<const ValueType>::type>::type
   54|  2.64k|            >(value))
   55|  2.64k|        {
   56|  2.64k|            static_assert(
   57|  2.64k|                !anys::detail::is_basic_any<ValueType>::value,
   58|  2.64k|                "boost::any shall not be constructed from boost::anys::basic_any"
   59|  2.64k|            );
   60|  2.64k|        }
_ZN5boost3any6holderIlEC2ERKl:
  217|  2.64k|              : held(value)
  218|  2.64k|            {
  219|  2.64k|            }
_ZN5boost3anyC2IfEERKT_:
   52|  4.49k|          : content(new holder<
   53|  4.49k|                typename std::remove_cv<typename std::decay<const ValueType>::type>::type
   54|  4.49k|            >(value))
   55|  4.49k|        {
   56|  4.49k|            static_assert(
   57|  4.49k|                !anys::detail::is_basic_any<ValueType>::value,
   58|  4.49k|                "boost::any shall not be constructed from boost::anys::basic_any"
   59|  4.49k|            );
   60|  4.49k|        }
_ZN5boost3any6holderIfEC2ERKf:
  217|  4.49k|              : held(value)
  218|  4.49k|            {
  219|  4.49k|            }
_ZN5boost3anyC2IdEERKT_:
   52|  3.37k|          : content(new holder<
   53|  3.37k|                typename std::remove_cv<typename std::decay<const ValueType>::type>::type
   54|  3.37k|            >(value))
   55|  3.37k|        {
   56|  3.37k|            static_assert(
   57|  3.37k|                !anys::detail::is_basic_any<ValueType>::value,
   58|  3.37k|                "boost::any shall not be constructed from boost::anys::basic_any"
   59|  3.37k|            );
   60|  3.37k|        }
_ZN5boost3any6holderIdEC2ERKd:
  217|  3.37k|              : held(value)
  218|  3.37k|            {
  219|  3.37k|            }
_ZN5boost3anyC2INSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEEERKT_:
   52|  1.31k|          : content(new holder<
   53|  1.31k|                typename std::remove_cv<typename std::decay<const ValueType>::type>::type
   54|  1.31k|            >(value))
   55|  1.31k|        {
   56|  1.31k|            static_assert(
   57|  1.31k|                !anys::detail::is_basic_any<ValueType>::value,
   58|  1.31k|                "boost::any shall not be constructed from boost::anys::basic_any"
   59|  1.31k|            );
   60|  1.31k|        }
_ZN5boost3any6holderINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEEC2ERKS8_:
  217|  1.31k|              : held(value)
  218|  1.31k|            {
  219|  1.31k|            }
_ZN5boost3anyC2ImEERKT_:
   52|  8.00k|          : content(new holder<
   53|  8.00k|                typename std::remove_cv<typename std::decay<const ValueType>::type>::type
   54|  8.00k|            >(value))
   55|  8.00k|        {
   56|  8.00k|            static_assert(
   57|  8.00k|                !anys::detail::is_basic_any<ValueType>::value,
   58|  8.00k|                "boost::any shall not be constructed from boost::anys::basic_any"
   59|  8.00k|            );
   60|  8.00k|        }
_ZN5boost3anyC2Ev:
   40|  7.47k|          : content(0)
   41|  7.47k|        {
   42|  7.47k|        }
_ZN5boost3anyC2ERKS0_:
   71|  10.1k|          : content(other.content ? other.content->clone() : 0)
  ------------------
  |  Branch (71:21): [True: 10.1k, False: 0]
  ------------------
   72|  10.1k|        {
   73|  10.1k|        }
_ZN5boost3any4swapERS0_:
  119|  7.47k|        {
  120|  7.47k|            placeholder* tmp = content;
  121|  7.47k|            content = rhs.content;
  122|  7.47k|            rhs.content = tmp;
  123|  7.47k|            return *this;
  124|  7.47k|        }
_ZN5boost3anyaSEOS0_:
  150|  3.73k|        {
  151|  3.73k|            rhs.swap(*this);
  152|  3.73k|            any().swap(rhs);
  153|  3.73k|            return *this;
  154|  3.73k|        }
_ZN5boost3anyC2INS_13property_tree11string_pathINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS2_13id_translatorISA_EEEEEERKT_:
   52|  1.90k|          : content(new holder<
   53|  1.90k|                typename std::remove_cv<typename std::decay<const ValueType>::type>::type
   54|  1.90k|            >(value))
   55|  1.90k|        {
   56|  1.90k|            static_assert(
   57|  1.90k|                !anys::detail::is_basic_any<ValueType>::value,
   58|  1.90k|                "boost::any shall not be constructed from boost::anys::basic_any"
   59|  1.90k|            );
   60|  1.90k|        }
_ZN5boost3any6holderINS_13property_tree11string_pathINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS2_13id_translatorISA_EEEEEC2ERKSD_:
  217|  3.81k|              : held(value)
  218|  3.81k|            {
  219|  3.81k|            }
_ZNK5boost3any6holderINS_13property_tree11string_pathINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS2_13id_translatorISA_EEEEE5cloneEv:
  234|  1.90k|            {
  235|  1.90k|                return new holder(held);
  236|  1.90k|            }

_ZN5boost4anys6detail11placeholderD2Ev:
   24|  57.7k|    virtual ~placeholder() {}

_ZNK5boost15source_location9file_nameEv:
   52|  5.44k|    {
   53|  5.44k|        return file_;
   54|  5.44k|    }
_ZNK5boost15source_location4lineEv:
   62|  5.44k|    {
   63|  5.44k|        return line_;
   64|  5.44k|    }
_ZNK5boost15source_location13function_nameEv:
   57|  5.44k|    {
   58|  5.44k|        return function_;
   59|  5.44k|    }
_ZNK5boost15source_location6columnEv:
   67|  5.44k|    {
   68|  5.44k|        return column_;
   69|  5.44k|    }
_ZN5boost15source_locationC2EPKcjS2_j:
   39|  5.44k|    BOOST_CONSTEXPR source_location( char const * file, boost::uint_least32_t ln, char const * function, boost::uint_least32_t col = 0 ) BOOST_NOEXCEPT: file_( file ), function_( function ), line_( ln ), column_( col )
   40|  5.44k|    {
   41|  5.44k|    }

_ZN5boost9addressofINSt3__14pairIKNS1_12basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEENS_13property_tree11basic_ptreeIS8_S8_NS1_4lessIS8_EEEEEEEEPT_RSG_:
   39|  27.2M|{
   40|  27.2M|    return __builtin_addressof(o);
   41|  27.2M|}
_ZN5boost9addressofIKNSt3__14pairIKNS1_12basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEENS_13property_tree11basic_ptreeIS8_S8_NS1_4lessIS8_EEEEEEEEPT_RSH_:
   39|   149k|{
   40|   149k|    return __builtin_addressof(o);
   41|   149k|}
_ZN5boost9addressofINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEES9_NS3_4lessIS9_EEEEEEPT_RSD_:
   39|  35.5k|{
   40|  35.5k|    return __builtin_addressof(o);
   41|  35.5k|}
_ZN5boost9addressofINSt3__16vectorIPKNS_13property_tree11basic_ptreeINS1_12basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEESA_NS1_4lessISA_EEEENS8_ISF_EEEEEEPT_RSI_:
   39|  4.20k|{
   40|  4.20k|    return __builtin_addressof(o);
   41|  4.20k|}
_ZN5boost9addressofIKNS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEES9_NS3_4lessIS9_EEEEEEPT_RSE_:
   39|  23.0k|{
   40|  23.0k|    return __builtin_addressof(o);
   41|  23.0k|}

_ZN5boost14checked_deleteINS_11no_propertyEEEvPT_:
   32|  6.25k|{
   33|  6.25k|#if defined(__cpp_static_assert) && __cpp_static_assert >= 200410L
   34|       |
   35|  6.25k|    static_assert( sizeof(T) != 0, "Type must be complete" );
   36|       |
   37|       |#else
   38|       |
   39|       |    typedef char type_must_be_complete[ sizeof(T) ];
   40|       |    (void) sizeof(type_must_be_complete);
   41|       |
   42|       |#endif
   43|       |
   44|  6.25k|    delete x;
   45|  6.25k|}

_ZN5boost4core8copysignIfEET_S2_S2_:
  286|    263|{
  287|    263|    return boost::core::detail::copysign_impl( x, y );
  288|    263|}
_ZN5boost4core6detail13copysign_implEff:
  269|    263|{
  270|    263|    return __builtin_copysignf( x, y );
  271|    263|}
_ZN5boost4core8copysignIdEET_S2_S2_:
  286|     86|{
  287|     86|    return boost::core::detail::copysign_impl( x, y );
  288|     86|}
_ZN5boost4core6detail13copysign_implEdd:
  274|     86|{
  275|     86|    return __builtin_copysign( x, y );
  276|     86|}

_ZN5boost4core11invoke_swapINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEEENS_11enable_if_cIXntgssr15boost_swap_impl8is_constIT_EE5valueEvE4typeERSA_SD_:
   84|  3.90k|{
   85|  3.90k|    ::boost_swap_impl::invoke_swap_impl(left, right);
   86|  3.90k|}
_ZN15boost_swap_impl16invoke_swap_implINSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEEEvRT_S9_:
   59|  3.90k|{
   60|  3.90k|    swap(left, right);
   61|  3.90k|}

_ZN5boost4core7launderIKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEEEPT_SB_:
   46|  48.9k|{
   47|  48.9k|    return __builtin_launder( p );
   48|  48.9k|}
_ZN5boost4core7launderINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEEEPT_SA_:
   46|   502k|{
   47|   502k|    return __builtin_launder( p );
   48|   502k|}

_ZN5boost6detail16basic_pointerbufIcNSt3__115basic_streambufIcNS2_11char_traitsIcEEEEEC2Ev:
   43|  4.40k|   basic_pointerbuf() : base_type() { this_type::setbuf(0, 0); }
_ZN5boost6detail16basic_pointerbufIcNSt3__115basic_streambufIcNS2_11char_traitsIcEEEEE6setbufEPcl:
   66|  8.81k|{
   67|  8.81k|   this->setg(s, s, s + n);
   68|  8.81k|   return this;
   69|  8.81k|}

_ZN5boost6detail19lcast_set_precisionIfEEvRNSt3__18ios_baseEPT_:
   68|  3.02k|{
   69|  3.02k|    stream.precision(lcast_precision<T>::value);
   70|  3.02k|}
_ZN5boost6detail19lcast_set_precisionIdEEvRNSt3__18ios_baseEPT_:
   68|  1.38k|{
   69|  1.38k|    stream.precision(lcast_precision<T>::value);
   70|  1.38k|}

_ZN5boost15foreach_detail_7containINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEEEEENS0_8auto_anyIPT_EERSF_PN4mpl_5bool_ILb0EEE:
  644|  3.21k|{
  645|       |    // Cannot seem to get sunpro to handle addressof() with array types.
  646|       |    #if BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x570))
  647|       |    return auto_any<T *>(&t);
  648|       |    #else
  649|  3.21k|    return auto_any<T *>(boost::addressof(t));
  650|  3.21k|    #endif
  651|  3.21k|}
_ZN5boost15foreach_detail_8auto_anyIPNS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEEEEC2ERKSE_:
  263|  3.21k|      : item(t)
  264|  3.21k|    {
  265|  3.21k|    }
_ZNK5boost15foreach_detail_13auto_any_basecvbEv:
  254|  91.4k|    {
  255|  91.4k|        return false;
  256|  91.4k|    }
_ZN5boost15foreach_detail_5beginINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISJ_SK_EEPSG_:
  676|  3.21k|{
  677|  3.21k|    typedef BOOST_DEDUCED_TYPENAME type2type<T, C>::type type;
  678|  3.21k|    typedef BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type iterator;
  679|  3.21k|    return auto_any<BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type>(
  680|  3.21k|        iterator(boost::begin(BOOST_FOREACH_DEREFOF((auto_any_cast<type *, boost::mpl::false_>(col))))));
  ------------------
  |  |  464|  3.21k|# define BOOST_FOREACH_DEREFOF(T) (*T)
  ------------------
  681|  3.21k|}
_ZN5boost15foreach_detail_13auto_any_castIPNS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEEEN4mpl_5bool_ILb0EEEEERNS_3mpl3if_IT0_KT_SL_E4typeERKNS0_13auto_any_baseE:
  277|  6.43k|{
  278|  6.43k|    return static_cast<auto_any<T> const &>(a).item;
  279|  6.43k|}
_ZN5boost15foreach_detail_8auto_anyINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEE8iteratorEEC2ERKSE_:
  263|  6.43k|      : item(t)
  264|  6.43k|    {
  265|  6.43k|    }
_ZN5boost15foreach_detail_3endINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISJ_SK_EEPSG_:
  716|  3.21k|{
  717|  3.21k|    typedef BOOST_DEDUCED_TYPENAME type2type<T, C>::type type;
  718|  3.21k|    typedef BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type iterator;
  719|  3.21k|    return auto_any<BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type>(
  720|  3.21k|        iterator(boost::end(BOOST_FOREACH_DEREFOF((auto_any_cast<type *, boost::mpl::false_>(col))))));
  ------------------
  |  |  464|  3.21k|# define BOOST_FOREACH_DEREFOF(T) (*T)
  ------------------
  721|  3.21k|}
_ZN5boost15foreach_detail_4doneINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEEEN4mpl_5bool_ILb0EEEEEbRKNS0_13auto_any_baseESJ_PNS0_9type2typeIT_T0_EE:
  747|  1.75M|{
  748|  1.75M|    typedef BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type iter_t;
  749|  1.75M|    return auto_any_cast<iter_t, boost::mpl::false_>(cur) == auto_any_cast<iter_t, boost::mpl::false_>(end);
  750|  1.75M|}
_ZN5boost15foreach_detail_13auto_any_castINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEE8iteratorEN4mpl_5bool_ILb0EEEEERNS_3mpl3if_IT0_KT_SL_E4typeERKNS0_13auto_any_baseE:
  277|  7.00M|{
  278|  7.00M|    return static_cast<auto_any<T> const &>(a).item;
  279|  7.00M|}
_ZN5boost15foreach_detail_9set_falseERb:
  423|  3.66M|{
  424|  3.66M|    b = false;
  425|  3.66M|    return false;
  426|  3.66M|}
_ZN5boost15foreach_detail_5derefINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEEEN4mpl_5bool_ILb0EEEEENS0_17foreach_referenceIT_T0_E4typeERKNS0_13auto_any_baseEPNS0_9type2typeISI_SJ_EE:
  776|  1.75M|{
  777|  1.75M|    typedef BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type iter_t;
  778|  1.75M|    return *auto_any_cast<iter_t, boost::mpl::false_>(cur);
  779|  1.75M|}
_ZN5boost15foreach_detail_4nextINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEEEN4mpl_5bool_ILb0EEEEEvRKNS0_13auto_any_baseEPNS0_9type2typeIT_T0_EE:
  765|  1.75M|{
  766|  1.75M|    typedef BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type iter_t;
  767|  1.75M|    ++auto_any_cast<iter_t, boost::mpl::false_>(cur);
  768|  1.75M|}
_ZN5boost15foreach_detail_7containINSt3__16vectorIPKNS_13property_tree11basic_ptreeINS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_NS2_4lessISB_EEEENS9_ISG_EEEEEENS0_8auto_anyIPT_EERSK_PN4mpl_5bool_ILb0EEE:
  644|  4.20k|{
  645|       |    // Cannot seem to get sunpro to handle addressof() with array types.
  646|       |    #if BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x570))
  647|       |    return auto_any<T *>(&t);
  648|       |    #else
  649|  4.20k|    return auto_any<T *>(boost::addressof(t));
  650|  4.20k|    #endif
  651|  4.20k|}
_ZN5boost15foreach_detail_8auto_anyIPNSt3__16vectorIPKNS_13property_tree11basic_ptreeINS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_NS2_4lessISB_EEEENS9_ISG_EEEEEC2ERKSJ_:
  263|  4.20k|      : item(t)
  264|  4.20k|    {
  265|  4.20k|    }
_ZN5boost15foreach_detail_5beginINSt3__16vectorIPKNS_13property_tree11basic_ptreeINS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_NS2_4lessISB_EEEENS9_ISG_EEEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISO_SP_EEPSL_:
  676|  4.20k|{
  677|  4.20k|    typedef BOOST_DEDUCED_TYPENAME type2type<T, C>::type type;
  678|  4.20k|    typedef BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type iterator;
  679|  4.20k|    return auto_any<BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type>(
  680|  4.20k|        iterator(boost::begin(BOOST_FOREACH_DEREFOF((auto_any_cast<type *, boost::mpl::false_>(col))))));
  ------------------
  |  |  464|  4.20k|# define BOOST_FOREACH_DEREFOF(T) (*T)
  ------------------
  681|  4.20k|}
_ZN5boost15foreach_detail_13auto_any_castIPNSt3__16vectorIPKNS_13property_tree11basic_ptreeINS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_NS2_4lessISB_EEEENS9_ISG_EEEEN4mpl_5bool_ILb0EEEEERNS_3mpl3if_IT0_KT_SQ_E4typeERKNS0_13auto_any_baseE:
  277|  8.40k|{
  278|  8.40k|    return static_cast<auto_any<T> const &>(a).item;
  279|  8.40k|}
_ZN5boost15foreach_detail_8auto_anyINSt3__111__wrap_iterIPPKNS_13property_tree11basic_ptreeINS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_NS2_4lessISB_EEEEEEEC2ERKSI_:
  263|  8.40k|      : item(t)
  264|  8.40k|    {
  265|  8.40k|    }
_ZN5boost15foreach_detail_3endINSt3__16vectorIPKNS_13property_tree11basic_ptreeINS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_NS2_4lessISB_EEEENS9_ISG_EEEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISO_SP_EEPSL_:
  716|  4.20k|{
  717|  4.20k|    typedef BOOST_DEDUCED_TYPENAME type2type<T, C>::type type;
  718|  4.20k|    typedef BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type iterator;
  719|  4.20k|    return auto_any<BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type>(
  720|  4.20k|        iterator(boost::end(BOOST_FOREACH_DEREFOF((auto_any_cast<type *, boost::mpl::false_>(col))))));
  ------------------
  |  |  464|  4.20k|# define BOOST_FOREACH_DEREFOF(T) (*T)
  ------------------
  721|  4.20k|}
_ZN5boost15foreach_detail_4doneINSt3__16vectorIPKNS_13property_tree11basic_ptreeINS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_NS2_4lessISB_EEEENS9_ISG_EEEEN4mpl_5bool_ILb0EEEEEbRKNS0_13auto_any_baseESO_PNS0_9type2typeIT_T0_EE:
  747|  10.5k|{
  748|  10.5k|    typedef BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type iter_t;
  749|  10.5k|    return auto_any_cast<iter_t, boost::mpl::false_>(cur) == auto_any_cast<iter_t, boost::mpl::false_>(end);
  750|  10.5k|}
_ZN5boost15foreach_detail_13auto_any_castINSt3__111__wrap_iterIPPKNS_13property_tree11basic_ptreeINS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_NS2_4lessISB_EEEEEEN4mpl_5bool_ILb0EEEEERNS_3mpl3if_IT0_KT_SP_E4typeERKNS0_13auto_any_baseE:
  277|  35.0k|{
  278|  35.0k|    return static_cast<auto_any<T> const &>(a).item;
  279|  35.0k|}
_ZN5boost15foreach_detail_5derefINSt3__16vectorIPKNS_13property_tree11basic_ptreeINS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_NS2_4lessISB_EEEENS9_ISG_EEEEN4mpl_5bool_ILb0EEEEENS0_17foreach_referenceIT_T0_E4typeERKNS0_13auto_any_baseEPNS0_9type2typeISN_SO_EE:
  776|  7.71k|{
  777|  7.71k|    typedef BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type iter_t;
  778|  7.71k|    return *auto_any_cast<iter_t, boost::mpl::false_>(cur);
  779|  7.71k|}
_ZN5boost15foreach_detail_7containIKNS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEEEEENS0_8auto_anyIPT_EERSG_PN4mpl_5bool_ILb0EEE:
  644|  23.0k|{
  645|       |    // Cannot seem to get sunpro to handle addressof() with array types.
  646|       |    #if BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x570))
  647|       |    return auto_any<T *>(&t);
  648|       |    #else
  649|  23.0k|    return auto_any<T *>(boost::addressof(t));
  650|  23.0k|    #endif
  651|  23.0k|}
_ZN5boost15foreach_detail_8auto_anyIPKNS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEEEEC2ERKSF_:
  263|  23.0k|      : item(t)
  264|  23.0k|    {
  265|  23.0k|    }
_ZN5boost15foreach_detail_5beginINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEEEN4mpl_5bool_ILb1EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISJ_SK_EEPNSF_ILb0EEE:
  676|  23.0k|{
  677|  23.0k|    typedef BOOST_DEDUCED_TYPENAME type2type<T, C>::type type;
  678|  23.0k|    typedef BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type iterator;
  679|  23.0k|    return auto_any<BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type>(
  680|  23.0k|        iterator(boost::begin(BOOST_FOREACH_DEREFOF((auto_any_cast<type *, boost::mpl::false_>(col))))));
  ------------------
  |  |  464|  23.0k|# define BOOST_FOREACH_DEREFOF(T) (*T)
  ------------------
  681|  23.0k|}
_ZN5boost15foreach_detail_13auto_any_castIPKNS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEEEN4mpl_5bool_ILb0EEEEERNS_3mpl3if_IT0_KT_SM_E4typeERKNS0_13auto_any_baseE:
  277|  46.1k|{
  278|  46.1k|    return static_cast<auto_any<T> const &>(a).item;
  279|  46.1k|}
_ZN5boost15foreach_detail_8auto_anyINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEE14const_iteratorEEC2ERKSE_:
  263|  46.1k|      : item(t)
  264|  46.1k|    {
  265|  46.1k|    }
_ZN5boost15foreach_detail_3endINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEEEN4mpl_5bool_ILb1EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISJ_SK_EEPNSF_ILb0EEE:
  716|  23.0k|{
  717|  23.0k|    typedef BOOST_DEDUCED_TYPENAME type2type<T, C>::type type;
  718|  23.0k|    typedef BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type iterator;
  719|  23.0k|    return auto_any<BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type>(
  720|  23.0k|        iterator(boost::end(BOOST_FOREACH_DEREFOF((auto_any_cast<type *, boost::mpl::false_>(col))))));
  ------------------
  |  |  464|  23.0k|# define BOOST_FOREACH_DEREFOF(T) (*T)
  ------------------
  721|  23.0k|}
_ZN5boost15foreach_detail_4doneINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEEEN4mpl_5bool_ILb1EEEEEbRKNS0_13auto_any_baseESJ_PNS0_9type2typeIT_T0_EE:
  747|  1.92M|{
  748|  1.92M|    typedef BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type iter_t;
  749|  1.92M|    return auto_any_cast<iter_t, boost::mpl::false_>(cur) == auto_any_cast<iter_t, boost::mpl::false_>(end);
  750|  1.92M|}
_ZN5boost15foreach_detail_13auto_any_castINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEE14const_iteratorEN4mpl_5bool_ILb0EEEEERNS_3mpl3if_IT0_KT_SL_E4typeERKNS0_13auto_any_baseE:
  277|  7.64M|{
  278|  7.64M|    return static_cast<auto_any<T> const &>(a).item;
  279|  7.64M|}
_ZN5boost15foreach_detail_5derefINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEEEN4mpl_5bool_ILb1EEEEENS0_17foreach_referenceIT_T0_E4typeERKNS0_13auto_any_baseEPNS0_9type2typeISI_SJ_EE:
  776|  1.90M|{
  777|  1.90M|    typedef BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type iter_t;
  778|  1.90M|    return *auto_any_cast<iter_t, boost::mpl::false_>(cur);
  779|  1.90M|}
_ZN5boost15foreach_detail_4nextINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEEEN4mpl_5bool_ILb1EEEEEvRKNS0_13auto_any_baseEPNS0_9type2typeIT_T0_EE:
  765|  1.89M|{
  766|  1.89M|    typedef BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type iter_t;
  767|  1.89M|    ++auto_any_cast<iter_t, boost::mpl::false_>(cur);
  768|  1.89M|}
_ZN5boost15foreach_detail_4nextINSt3__16vectorIPKNS_13property_tree11basic_ptreeINS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_NS2_4lessISB_EEEENS9_ISG_EEEEN4mpl_5bool_ILb0EEEEEvRKNS0_13auto_any_baseEPNS0_9type2typeIT_T0_EE:
  765|  6.31k|{
  766|  6.31k|    typedef BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type iter_t;
  767|  6.31k|    ++auto_any_cast<iter_t, boost::mpl::false_>(cur);
  768|  6.31k|}

_ZN5boost13function_baseC2Ev:
  497|  12.5k|  function_base() : vtable(0) { }
_ZNK5boost13function_base5emptyEv:
  500|  48.2k|  bool empty() const { return !vtable; }
_ZNK5boost13function_base28has_trivial_copy_and_destroyEv:
  574|  18.7k|  bool has_trivial_copy_and_destroy() const {
  575|  18.7k|    return reinterpret_cast<std::size_t>(vtable) & 0x01;
  576|  18.7k|  }
_ZN5boost6detail8function15functor_managerIPFNS_10shared_ptrINS_20dynamic_property_mapEEERKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEERKNS_3anyESH_EE6manageERKNS1_15function_bufferERSL_NS1_30functor_manager_operation_typeE:
  363|  6.25k|        {
  364|  6.25k|          typedef typename get_function_tag<functor_type>::type tag_type;
  365|  6.25k|          if (op == get_functor_type_tag) {
  ------------------
  |  Branch (365:15): [True: 0, False: 6.25k]
  ------------------
  366|      0|            out_buffer.members.type.type = &BOOST_CORE_TYPEID(functor_type);
  ------------------
  |  |  163|      0|#define BOOST_CORE_TYPEID(T) typeid(T)
  ------------------
  367|      0|            out_buffer.members.type.const_qualified = false;
  368|      0|            out_buffer.members.type.volatile_qualified = false;
  369|  6.25k|          } else {
  370|  6.25k|            manager(in_buffer, out_buffer, op, tag_type());
  371|  6.25k|          }
  372|  6.25k|        }
_ZN5boost6detail8function15functor_managerIPFNS_10shared_ptrINS_20dynamic_property_mapEEERKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEERKNS_3anyESH_EE7managerERKNS1_15function_bufferERSL_NS1_30functor_manager_operation_typeENS1_16function_ptr_tagE:
  290|  6.25k|        {
  291|  6.25k|          functor_manager_common<Functor>::manage_ptr(in_buffer,out_buffer,op);
  292|  6.25k|        }
_ZN5boost6detail8function22functor_manager_commonIPFNS_10shared_ptrINS_20dynamic_property_mapEEERKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEERKNS_3anyESH_EE10manage_ptrERKNS1_15function_bufferERSL_NS1_30functor_manager_operation_typeE:
  228|  6.25k|        {
  229|  6.25k|          if (op == clone_functor_tag)
  ------------------
  |  Branch (229:15): [True: 0, False: 6.25k]
  ------------------
  230|      0|            out_buffer.members.func_ptr = in_buffer.members.func_ptr;
  231|  6.25k|          else if (op == move_functor_tag) {
  ------------------
  |  Branch (231:20): [True: 0, False: 6.25k]
  ------------------
  232|      0|            out_buffer.members.func_ptr = in_buffer.members.func_ptr;
  233|      0|            in_buffer.members.func_ptr = 0;
  234|  6.25k|          } else if (op == destroy_functor_tag)
  ------------------
  |  Branch (234:22): [True: 6.25k, False: 0]
  ------------------
  235|  6.25k|            out_buffer.members.func_ptr = 0;
  236|      0|          else if (op == check_functor_type_tag) {
  ------------------
  |  Branch (236:20): [True: 0, False: 0]
  ------------------
  237|      0|            if (*out_buffer.members.type.type == BOOST_CORE_TYPEID(Functor))
  ------------------
  |  |  163|      0|#define BOOST_CORE_TYPEID(T) typeid(T)
  ------------------
  |  Branch (237:17): [True: 0, False: 0]
  ------------------
  238|      0|              out_buffer.members.obj_ptr = &in_buffer.members.func_ptr;
  239|      0|            else
  240|      0|              out_buffer.members.obj_ptr = 0;
  241|      0|          } else /* op == get_functor_type_tag */ {
  242|      0|            out_buffer.members.type.type = &BOOST_CORE_TYPEID(Functor);
  ------------------
  |  |  163|      0|#define BOOST_CORE_TYPEID(T) typeid(T)
  ------------------
  243|      0|            out_buffer.members.type.const_qualified = false;
  244|      0|            out_buffer.members.type.volatile_qualified = false;
  245|      0|          }
  246|  6.25k|        }

_ZN5boost10function_nINS_10shared_ptrINS_20dynamic_property_mapEEEJRKNSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEERKNS_3anyESF_EEC2ERKSG_:
  772|  6.25k|    function_n(const function_n& f) : function_base()
  773|  6.25k|    {
  774|  6.25k|      this->assign_to_own(f);
  775|  6.25k|    }
_ZN5boost10function_nINS_10shared_ptrINS_20dynamic_property_mapEEEJRKNSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEERKNS_3anyESF_EE13assign_to_ownERKSG_:
  892|  6.25k|    {
  893|  6.25k|      if (!f.empty()) {
  ------------------
  |  Branch (893:11): [True: 6.25k, False: 0]
  ------------------
  894|  6.25k|        this->vtable = f.vtable;
  895|  6.25k|        if (this->has_trivial_copy_and_destroy()) {
  ------------------
  |  Branch (895:13): [True: 6.25k, False: 0]
  ------------------
  896|       |          // Don't operate on storage directly since union type doesn't relax
  897|       |          // strict aliasing rules, despite of having member char type.
  898|       |#         if defined(BOOST_GCC) && (BOOST_GCC >= 40700)
  899|       |#           pragma GCC diagnostic push
  900|       |            // This warning is technically correct, but we don't want to pay the price for initializing
  901|       |            // just to silence a warning: https://github.com/boostorg/function/issues/27
  902|       |#           pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
  903|       |#           if (BOOST_GCC >= 110000)
  904|       |              // GCC 11.3, 12 emit a different warning: https://github.com/boostorg/function/issues/42
  905|       |#             pragma GCC diagnostic ignored "-Wuninitialized"
  906|       |#           endif
  907|       |#         endif
  908|  6.25k|          std::memcpy(this->functor.data, f.functor.data, sizeof(boost::detail::function::function_buffer));
  909|       |#         if defined(BOOST_GCC) && (BOOST_GCC >= 40700)
  910|       |#           pragma GCC diagnostic pop
  911|       |#         endif
  912|  6.25k|        } else
  913|      0|          get_vtable()->base.manager(f.functor, this->functor,
  914|      0|                                     boost::detail::function::clone_functor_tag);
  915|  6.25k|      }
  916|  6.25k|    }
_ZNK5boost10function_nINS_10shared_ptrINS_20dynamic_property_mapEEEJRKNSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEERKNS_3anyESF_EE10get_vtableEv:
  726|  20.9k|    vtable_type* get_vtable() const {
  727|  20.9k|      return reinterpret_cast<vtable_type*>(
  728|  20.9k|               reinterpret_cast<std::size_t>(vtable) & ~static_cast<std::size_t>(0x01));
  729|  20.9k|    }
_ZN5boost10function_nINS_10shared_ptrINS_20dynamic_property_mapEEEJRKNSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEERKNS_3anyESF_EED2Ev:
  782|  12.5k|    ~function_n() { clear(); }
_ZN5boost10function_nINS_10shared_ptrINS_20dynamic_property_mapEEEJRKNSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEERKNS_3anyESF_EE5clearEv:
  880|  12.5k|    {
  881|  12.5k|      if (vtable) {
  ------------------
  |  Branch (881:11): [True: 12.5k, False: 0]
  ------------------
  882|  12.5k|        if (!this->has_trivial_copy_and_destroy())
  ------------------
  |  Branch (882:13): [True: 0, False: 12.5k]
  ------------------
  883|      0|          get_vtable()->clear(this->functor);
  884|  12.5k|        vtable = 0;
  885|  12.5k|      }
  886|  12.5k|    }
_ZNK5boost6detail8function12basic_vtableINS_10shared_ptrINS_20dynamic_property_mapEEEJRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEERKNS_3anyESH_EE5clearERNS1_15function_bufferE:
  435|  6.25k|        {
  436|       |#if defined(BOOST_GCC) && (__GNUC__ >= 11)
  437|       |# pragma GCC diagnostic push
  438|       |// False positive in GCC 11/12 for empty function objects
  439|       |# pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
  440|       |#endif
  441|  6.25k|          if (base.manager)
  ------------------
  |  Branch (441:15): [True: 6.25k, False: 0]
  ------------------
  442|  6.25k|            base.manager(functor, functor, destroy_functor_tag);
  443|       |#if defined(BOOST_GCC) && (__GNUC__ >= 11)
  444|       |# pragma GCC diagnostic pop
  445|       |#endif
  446|  6.25k|        }
_ZN5boost10function_nINS_10shared_ptrINS_20dynamic_property_mapEEEJRKNSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEERKNS_3anyESF_EEC2IPFS3_SC_SF_SF_EEET_NS4_9enable_ifIXntsr11is_integralISK_EE5valueEiE4typeE:
  755|  6.25k|      function_base()
  756|  6.25k|    {
  757|  6.25k|      this->assign_to(std::move(f));
  758|  6.25k|    }
_ZN5boost10function_nINS_10shared_ptrINS_20dynamic_property_mapEEEJRKNSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEERKNS_3anyESF_EE9assign_toIPFS3_SC_SF_SF_EEEvT_:
  920|  6.25k|    {
  921|  6.25k|      using boost::detail::function::vtable_base;
  922|       |
  923|  6.25k|      typedef typename boost::detail::function::get_function_tag<Functor>::type tag;
  924|  6.25k|      typedef boost::detail::function::get_invoker<tag> get_invoker;
  925|  6.25k|      typedef typename get_invoker::
  926|  6.25k|                         template apply_<Functor, R,
  927|  6.25k|                        T...>
  928|  6.25k|        handler_type;
  929|       |
  930|  6.25k|      typedef typename handler_type::invoker_type invoker_type;
  931|  6.25k|      typedef typename handler_type::manager_type manager_type;
  932|       |
  933|       |      // Note: it is extremely important that this initialization use
  934|       |      // static initialization. Otherwise, we will have a race
  935|       |      // condition here in multi-threaded code. See
  936|       |      // http://thread.gmane.org/gmane.comp.lib.boost.devel/164902/.
  937|  6.25k|      static const vtable_type stored_vtable =
  938|  6.25k|        { { &manager_type::manage }, &invoker_type::invoke };
  939|       |
  940|  6.25k|      if (stored_vtable.assign_to(std::move(f), functor)) {
  ------------------
  |  Branch (940:11): [True: 6.25k, False: 0]
  ------------------
  941|  6.25k|        std::size_t value = reinterpret_cast<std::size_t>(&stored_vtable.base);
  942|       |        // coverity[pointless_expression]: suppress coverity warnings on apparant if(const).
  943|  6.25k|        if (boost::detail::function::is_trivially_copyable<Functor>::value &&
  ------------------
  |  Branch (943:13): [Folded - Ignored]
  ------------------
  944|  6.25k|            boost::detail::function::function_allows_small_object_optimization<Functor>::value)
  ------------------
  |  Branch (944:13): [Folded - Ignored]
  ------------------
  945|  6.25k|          value |= static_cast<std::size_t>(0x01);
  946|  6.25k|        vtable = reinterpret_cast<boost::detail::function::vtable_base *>(value);
  947|  6.25k|      } else
  948|      0|        vtable = 0;
  949|  6.25k|    }
_ZN5boost6detail8function16function_invokerIPFNS_10shared_ptrINS_20dynamic_property_mapEEERKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEERKNS_3anyESH_ES5_JSE_SH_SH_EE6invokeERNS1_15function_bufferESE_SH_SH_:
   40|  20.9k|        {
   41|  20.9k|          FunctionPtr f = reinterpret_cast<FunctionPtr>(function_ptr.members.func_ptr);
   42|  20.9k|          return f(static_cast<T&&>(a)...);
   43|  20.9k|        }
_ZNK5boost6detail8function12basic_vtableINS_10shared_ptrINS_20dynamic_property_mapEEEJRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEERKNS_3anyESH_EE9assign_toIPFS5_SE_SH_SH_EEEbT_RNS1_15function_bufferE:
  423|  6.25k|        {
  424|  6.25k|          typedef typename get_function_tag<F>::type tag;
  425|  6.25k|          return assign_to(std::move(f), functor, tag());
  426|  6.25k|        }
_ZNK5boost6detail8function12basic_vtableINS_10shared_ptrINS_20dynamic_property_mapEEEJRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEERKNS_3anyESH_EE9assign_toIPFS5_SE_SH_SH_EEEbT_RNS1_15function_bufferENS1_16function_ptr_tagE:
  453|  6.25k|        {
  454|  6.25k|          this->clear(functor);
  455|  6.25k|          if (f) {
  ------------------
  |  Branch (455:15): [True: 6.25k, False: 0]
  ------------------
  456|  6.25k|            functor.members.func_ptr = reinterpret_cast<void (*)()>(f);
  457|  6.25k|            return true;
  458|  6.25k|          } else {
  459|      0|            return false;
  460|      0|          }
  461|  6.25k|        }
_ZNK5boost10function_nINS_10shared_ptrINS_20dynamic_property_mapEEEJRKNSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEERKNS_3anyESF_EEcvbEv:
  888|  20.9k|    explicit operator bool () const { return !this->empty(); }
_ZNK5boost10function_nINS_10shared_ptrINS_20dynamic_property_mapEEEJRKNSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEERKNS_3anyESF_EEclESC_SF_SF_:
  785|  20.9k|    {
  786|  20.9k|      if (this->empty())
  ------------------
  |  Branch (786:11): [True: 0, False: 20.9k]
  ------------------
  787|      0|        boost::throw_exception(bad_function_call());
  788|       |
  789|  20.9k|      return get_vtable()->invoker
  790|  20.9k|               (this->functor, static_cast<T&&>(a)...);
  791|  20.9k|    }

_ZN5boost14adjacency_listINS_4vecSES1_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS_11no_propertyEEENS3_INS_13edge_weight_tEdSC_EESC_NS_5listSEEC2ERKSC_:
  316|  6.25k|    : m_property(new graph_property_type(p))
  317|  6.25k|    {
  318|  6.25k|    }

_ZN5boost17vec_adj_list_implINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS_11no_propertyEEENS4_INS_13edge_weight_tEdSD_EESD_NS_5listSEEENS_6detail12adj_list_genISI_S2_S2_S3_SE_SG_SD_SH_E6configENS_21directed_graph_helperISM_EEEC2Ev:
 2121|  6.25k|    inline vec_adj_list_impl() {}
_ZN5boost10add_vertexINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS_11no_propertyEEENS4_INS_13edge_weight_tEdSD_EESD_NS_5listSEEENS_6detail12adj_list_genISI_S2_S2_S3_SE_SG_SD_SH_E6configENS_21directed_graph_helperISM_EEEENT0_17vertex_descriptorERNS_17vec_adj_list_implIT_SP_T1_EE:
 2229|  3.73k|{
 2230|  3.73k|    Graph& g = static_cast< Graph& >(g_);
 2231|  3.73k|    g.m_vertices.resize(g.m_vertices.size() + 1);
 2232|  3.73k|    g.added_vertex(g.m_vertices.size() - 1);
 2233|  3.73k|    return g.m_vertices.size() - 1;
 2234|  3.73k|}
_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEENS_11no_propertyEEENS5_INS_13edge_weight_tEdSE_EESE_NS_5listSEEES3_S3_S4_SF_SH_SE_SI_E6config13stored_vertexC2Ev:
 2473|  3.73k|                stored_vertex() {}
_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEENS_11no_propertyEEENS5_INS_13edge_weight_tEdSE_EESE_NS_5listSEEES3_S3_S4_SF_SH_SE_SI_E6config18rand_stored_vertexC2Ev:
 2450|  3.73k|                rand_stored_vertex() {}
_ZNK5boost17vec_adj_list_implINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS_11no_propertyEEENS4_INS_13edge_weight_tEdSD_EESD_NS_5listSEEENS_6detail12adj_list_genISI_S2_S2_S3_SE_SG_SD_SH_E6configENS_21directed_graph_helperISM_EEE10vertex_setEv:
 2169|  1.63k|    {
 2170|  1.63k|        return boost::integer_range< vertex_descriptor >(0, m_vertices.size());
 2171|  1.63k|    }
_ZN5boost8verticesINS_6detail12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS8_11char_traitsIcEENS8_9allocatorIcEEEENS_11no_propertyEEENS6_INS_13edge_weight_tEdSF_EESF_NS_5listSEEES4_S4_S5_SG_SI_SF_SJ_E6configENS_21directed_graph_helperISM_EEEENS8_4pairINT_15vertex_iteratorESR_EERKNS_15adj_list_helperISQ_T0_EE:
 1617|    815|{
 1618|    815|    typedef typename Config::graph_type AdjList;
 1619|    815|    const AdjList& cg = static_cast< const AdjList& >(g_);
 1620|    815|    AdjList& g = const_cast< AdjList& >(cg);
 1621|    815|    return std::make_pair(g.vertex_set().begin(), g.vertex_set().end());
 1622|    815|}

_ZN5boost12read_graphmlINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS_11no_propertyEEENS4_INS_13edge_weight_tEdSD_EESD_NS_5listSEEEEEvRNS6_13basic_istreamIcS9_EERT_RNS_18dynamic_propertiesEm:
  231|  6.25k|{
  232|  6.25k|    mutate_graph_impl< MutableGraph > mg(g, dp);
  233|  6.25k|    read_graphml(in, mg, desired_idx);
  234|  6.25k|}
_ZN5boost17mutate_graph_implINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS_11no_propertyEEENS4_INS_13edge_weight_tEdSD_EESD_NS_5listSEEEEC2ERSI_RNS_18dynamic_propertiesE:
   87|  6.25k|    : m_g(g), m_dp(dp)
   88|  6.25k|    {
   89|  6.25k|    }
_ZN5boost12mutate_graphD2Ev:
   57|  6.25k|    virtual ~mutate_graph() {}
_ZN5boost17mutate_graph_implINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS_11no_propertyEEENS4_INS_13edge_weight_tEdSD_EESD_NS_5listSEEEE13do_add_vertexEv:
   98|  3.73k|    any do_add_vertex() BOOST_OVERRIDE { return any(add_vertex(m_g)); }
_ZN5boost17mutate_graph_implINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS_11no_propertyEEENS4_INS_13edge_weight_tEdSD_EESD_NS_5listSEEEE18set_graph_propertyERKSC_SL_SL_:
  110|  13.6k|    {
  111|  13.6k|        bool type_found = false;
  112|  13.6k|        try
  113|  13.6k|        {
  114|  13.6k|            mpl::for_each< value_types >(
  115|  13.6k|                put_property< MutableGraph*, value_types >(name, m_dp, &m_g,
  116|  13.6k|                    value, value_type, m_type_names, type_found));
  117|  13.6k|        }
  118|  13.6k|        catch (const bad_lexical_cast&)
  119|  13.6k|        {
  120|    488|            BOOST_THROW_EXCEPTION(parse_error("invalid value \"" + value
  ------------------
  |  |  182|    488|#define BOOST_THROW_EXCEPTION(x) ::boost::throw_exception(x, BOOST_CURRENT_LOCATION)
  |  |  ------------------
  |  |  |  |  175|    488|# define BOOST_CURRENT_LOCATION ::boost::source_location(__builtin_FILE(), __builtin_LINE(), __builtin_FUNCTION(), __builtin_COLUMN())
  |  |  ------------------
  ------------------
  121|    488|                + "\" for key " + name + " of type " + value_type));
  122|    488|        }
  123|  13.1k|        if (!type_found)
  ------------------
  |  Branch (123:13): [True: 147, False: 12.9k]
  ------------------
  124|    147|        {
  125|    147|            BOOST_THROW_EXCEPTION(parse_error(
  ------------------
  |  |  182|    147|#define BOOST_THROW_EXCEPTION(x) ::boost::throw_exception(x, BOOST_CURRENT_LOCATION)
  |  |  ------------------
  |  |  |  |  175|    147|# define BOOST_CURRENT_LOCATION ::boost::source_location(__builtin_FILE(), __builtin_LINE(), __builtin_FUNCTION(), __builtin_COLUMN())
  |  |  ------------------
  ------------------
  126|    147|                "unrecognized type \"" + value_type + "\" for key " + name));
  127|    147|        }
  128|  13.1k|    }
_ZN5boost17mutate_graph_implINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS_11no_propertyEEENS4_INS_13edge_weight_tEdSD_EESD_NS_5listSEEEE12put_propertyIPSI_NS_3mpl6vectorIbilfdSC_N4mpl_2naESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EEEclIbEEvT_:
  193|  13.6k|        {
  194|  13.6k|            if (m_value_type
  ------------------
  |  Branch (194:17): [True: 2.56k, False: 11.0k]
  ------------------
  195|  13.6k|                == m_type_names[mpl::find< ValueVector,
  196|  13.6k|                    Value >::type::pos::value])
  197|  2.56k|            {
  198|  2.56k|                put(m_name, m_dp, m_key, lexical_cast< Value >(m_value));
  199|  2.56k|                m_type_found = true;
  200|  2.56k|            }
  201|  13.6k|        }
_ZN5boost17mutate_graph_implINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS_11no_propertyEEENS4_INS_13edge_weight_tEdSD_EESD_NS_5listSEEEE12put_propertyIPSI_NS_3mpl6vectorIbilfdSC_N4mpl_2naESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EEEclIiEEvT_:
  193|  13.5k|        {
  194|  13.5k|            if (m_value_type
  ------------------
  |  Branch (194:17): [True: 1.80k, False: 11.7k]
  ------------------
  195|  13.5k|                == m_type_names[mpl::find< ValueVector,
  196|  13.5k|                    Value >::type::pos::value])
  197|  1.80k|            {
  198|  1.80k|                put(m_name, m_dp, m_key, lexical_cast< Value >(m_value));
  199|  1.80k|                m_type_found = true;
  200|  1.80k|            }
  201|  13.5k|        }
_ZN5boost17mutate_graph_implINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS_11no_propertyEEENS4_INS_13edge_weight_tEdSD_EESD_NS_5listSEEEE12put_propertyIPSI_NS_3mpl6vectorIbilfdSC_N4mpl_2naESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EEEclIlEEvT_:
  193|  13.4k|        {
  194|  13.4k|            if (m_value_type
  ------------------
  |  Branch (194:17): [True: 1.84k, False: 11.6k]
  ------------------
  195|  13.4k|                == m_type_names[mpl::find< ValueVector,
  196|  13.4k|                    Value >::type::pos::value])
  197|  1.84k|            {
  198|  1.84k|                put(m_name, m_dp, m_key, lexical_cast< Value >(m_value));
  199|  1.84k|                m_type_found = true;
  200|  1.84k|            }
  201|  13.4k|        }
_ZN5boost17mutate_graph_implINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS_11no_propertyEEENS4_INS_13edge_weight_tEdSD_EESD_NS_5listSEEEE12put_propertyIPSI_NS_3mpl6vectorIbilfdSC_N4mpl_2naESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EEEclIfEEvT_:
  193|  13.3k|        {
  194|  13.3k|            if (m_value_type
  ------------------
  |  Branch (194:17): [True: 3.72k, False: 9.61k]
  ------------------
  195|  13.3k|                == m_type_names[mpl::find< ValueVector,
  196|  13.3k|                    Value >::type::pos::value])
  197|  3.72k|            {
  198|  3.72k|                put(m_name, m_dp, m_key, lexical_cast< Value >(m_value));
  199|  3.72k|                m_type_found = true;
  200|  3.72k|            }
  201|  13.3k|        }
_ZN5boost17mutate_graph_implINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS_11no_propertyEEENS4_INS_13edge_weight_tEdSD_EESD_NS_5listSEEEE12put_propertyIPSI_NS_3mpl6vectorIbilfdSC_N4mpl_2naESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EEEclIdEEvT_:
  193|  13.2k|        {
  194|  13.2k|            if (m_value_type
  ------------------
  |  Branch (194:17): [True: 2.81k, False: 10.4k]
  ------------------
  195|  13.2k|                == m_type_names[mpl::find< ValueVector,
  196|  13.2k|                    Value >::type::pos::value])
  197|  2.81k|            {
  198|  2.81k|                put(m_name, m_dp, m_key, lexical_cast< Value >(m_value));
  199|  2.81k|                m_type_found = true;
  200|  2.81k|            }
  201|  13.2k|        }
_ZN5boost17mutate_graph_implINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS_11no_propertyEEENS4_INS_13edge_weight_tEdSD_EESD_NS_5listSEEEE12put_propertyIPSI_NS_3mpl6vectorIbilfdSC_N4mpl_2naESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EEEclISC_EEvT_:
  193|  13.1k|        {
  194|  13.1k|            if (m_value_type
  ------------------
  |  Branch (194:17): [True: 715, False: 12.4k]
  ------------------
  195|  13.1k|                == m_type_names[mpl::find< ValueVector,
  196|  13.1k|                    Value >::type::pos::value])
  197|    715|            {
  198|    715|                put(m_name, m_dp, m_key, lexical_cast< Value >(m_value));
  199|    715|                m_type_found = true;
  200|    715|            }
  201|  13.1k|        }
_ZN5boost17mutate_graph_implINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS_11no_propertyEEENS4_INS_13edge_weight_tEdSD_EESD_NS_5listSEEEE12put_propertyIPSI_NS_3mpl6vectorIbilfdSC_N4mpl_2naESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EEEC2ERKSC_RNS_18dynamic_propertiesERKSL_ST_ST_PPKcRb:
  183|  13.6k|        : m_name(name)
  184|  13.6k|        , m_dp(dp)
  185|  13.6k|        , m_key(key)
  186|  13.6k|        , m_value(value)
  187|  13.6k|        , m_value_type(value_type)
  188|  13.6k|        , m_type_names(type_names)
  189|  13.6k|        , m_type_found(type_found)
  190|  13.6k|        {
  191|  13.6k|        }
_ZN5boost11parse_errorD2Ev:
   48|  2.36k|    ~parse_error() throw() BOOST_OVERRIDE {}
_ZN5boost11parse_errorC2ERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEE:
   44|  1.18k|    {
   45|  1.18k|        error = err;
   46|  1.18k|        statement = "parse error: " + error;
   47|  1.18k|    }
_ZN5boost17mutate_graph_implINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS_11no_propertyEEENS4_INS_13edge_weight_tEdSD_EESD_NS_5listSEEEE19set_vertex_propertyERKSC_NS_3anyESL_SL_:
  132|  8.19k|    {
  133|  8.19k|        bool type_found = false;
  134|  8.19k|        try
  135|  8.19k|        {
  136|  8.19k|            mpl::for_each< value_types >(
  137|  8.19k|                put_property< vertex_descriptor, value_types >(name, m_dp,
  138|  8.19k|                    any_cast< vertex_descriptor >(vertex), value, value_type,
  139|  8.19k|                    m_type_names, type_found));
  140|  8.19k|        }
  141|  8.19k|        catch (const bad_lexical_cast&)
  142|  8.19k|        {
  143|     82|            BOOST_THROW_EXCEPTION(parse_error("invalid value \"" + value
  ------------------
  |  |  182|     82|#define BOOST_THROW_EXCEPTION(x) ::boost::throw_exception(x, BOOST_CURRENT_LOCATION)
  |  |  ------------------
  |  |  |  |  175|     82|# define BOOST_CURRENT_LOCATION ::boost::source_location(__builtin_FILE(), __builtin_LINE(), __builtin_FUNCTION(), __builtin_COLUMN())
  |  |  ------------------
  ------------------
  144|     82|                + "\" for key " + name + " of type " + value_type));
  145|     82|        }
  146|  8.11k|        if (!type_found)
  ------------------
  |  Branch (146:13): [True: 110, False: 8.00k]
  ------------------
  147|    110|        {
  148|    110|            BOOST_THROW_EXCEPTION(parse_error(
  ------------------
  |  |  182|    110|#define BOOST_THROW_EXCEPTION(x) ::boost::throw_exception(x, BOOST_CURRENT_LOCATION)
  |  |  ------------------
  |  |  |  |  175|    110|# define BOOST_CURRENT_LOCATION ::boost::source_location(__builtin_FILE(), __builtin_LINE(), __builtin_FUNCTION(), __builtin_COLUMN())
  |  |  ------------------
  ------------------
  149|    110|                "unrecognized type \"" + value_type + "\" for key " + name));
  150|    110|        }
  151|  8.11k|    }
_ZN5boost17mutate_graph_implINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS_11no_propertyEEENS4_INS_13edge_weight_tEdSD_EESD_NS_5listSEEEE12put_propertyImNS_3mpl6vectorIbilfdSC_N4mpl_2naESO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_EEEclIbEEvT_:
  193|  8.19k|        {
  194|  8.19k|            if (m_value_type
  ------------------
  |  Branch (194:17): [True: 4.28k, False: 3.90k]
  ------------------
  195|  8.19k|                == m_type_names[mpl::find< ValueVector,
  196|  8.19k|                    Value >::type::pos::value])
  197|  4.28k|            {
  198|  4.28k|                put(m_name, m_dp, m_key, lexical_cast< Value >(m_value));
  199|  4.28k|                m_type_found = true;
  200|  4.28k|            }
  201|  8.19k|        }
_ZN5boost17mutate_graph_implINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS_11no_propertyEEENS4_INS_13edge_weight_tEdSD_EESD_NS_5listSEEEE12put_propertyImNS_3mpl6vectorIbilfdSC_N4mpl_2naESO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_EEEclIiEEvT_:
  193|  8.13k|        {
  194|  8.13k|            if (m_value_type
  ------------------
  |  Branch (194:17): [True: 722, False: 7.41k]
  ------------------
  195|  8.13k|                == m_type_names[mpl::find< ValueVector,
  196|  8.13k|                    Value >::type::pos::value])
  197|    722|            {
  198|    722|                put(m_name, m_dp, m_key, lexical_cast< Value >(m_value));
  199|    722|                m_type_found = true;
  200|    722|            }
  201|  8.13k|        }
_ZN5boost17mutate_graph_implINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS_11no_propertyEEENS4_INS_13edge_weight_tEdSD_EESD_NS_5listSEEEE12put_propertyImNS_3mpl6vectorIbilfdSC_N4mpl_2naESO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_EEEclIlEEvT_:
  193|  8.12k|        {
  194|  8.12k|            if (m_value_type
  ------------------
  |  Branch (194:17): [True: 928, False: 7.20k]
  ------------------
  195|  8.12k|                == m_type_names[mpl::find< ValueVector,
  196|  8.12k|                    Value >::type::pos::value])
  197|    928|            {
  198|    928|                put(m_name, m_dp, m_key, lexical_cast< Value >(m_value));
  199|    928|                m_type_found = true;
  200|    928|            }
  201|  8.12k|        }
_ZN5boost17mutate_graph_implINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS_11no_propertyEEENS4_INS_13edge_weight_tEdSD_EESD_NS_5listSEEEE12put_propertyImNS_3mpl6vectorIbilfdSC_N4mpl_2naESO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_EEEclIfEEvT_:
  193|  8.12k|        {
  194|  8.12k|            if (m_value_type
  ------------------
  |  Branch (194:17): [True: 894, False: 7.23k]
  ------------------
  195|  8.12k|                == m_type_names[mpl::find< ValueVector,
  196|  8.12k|                    Value >::type::pos::value])
  197|    894|            {
  198|    894|                put(m_name, m_dp, m_key, lexical_cast< Value >(m_value));
  199|    894|                m_type_found = true;
  200|    894|            }
  201|  8.12k|        }
_ZN5boost17mutate_graph_implINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS_11no_propertyEEENS4_INS_13edge_weight_tEdSD_EESD_NS_5listSEEEE12put_propertyImNS_3mpl6vectorIbilfdSC_N4mpl_2naESO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_EEEclIdEEvT_:
  193|  8.12k|        {
  194|  8.12k|            if (m_value_type
  ------------------
  |  Branch (194:17): [True: 651, False: 7.47k]
  ------------------
  195|  8.12k|                == m_type_names[mpl::find< ValueVector,
  196|  8.12k|                    Value >::type::pos::value])
  197|    651|            {
  198|    651|                put(m_name, m_dp, m_key, lexical_cast< Value >(m_value));
  199|    651|                m_type_found = true;
  200|    651|            }
  201|  8.12k|        }
_ZN5boost17mutate_graph_implINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS_11no_propertyEEENS4_INS_13edge_weight_tEdSD_EESD_NS_5listSEEEE12put_propertyImNS_3mpl6vectorIbilfdSC_N4mpl_2naESO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_EEEclISC_EEvT_:
  193|  8.11k|        {
  194|  8.11k|            if (m_value_type
  ------------------
  |  Branch (194:17): [True: 603, False: 7.51k]
  ------------------
  195|  8.11k|                == m_type_names[mpl::find< ValueVector,
  196|  8.11k|                    Value >::type::pos::value])
  197|    603|            {
  198|    603|                put(m_name, m_dp, m_key, lexical_cast< Value >(m_value));
  199|    603|                m_type_found = true;
  200|    603|            }
  201|  8.11k|        }
_ZN5boost17mutate_graph_implINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS_11no_propertyEEENS4_INS_13edge_weight_tEdSD_EESD_NS_5listSEEEE12put_propertyImNS_3mpl6vectorIbilfdSC_N4mpl_2naESO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_EEEC2ERKSC_RNS_18dynamic_propertiesERKmSS_SS_PPKcRb:
  183|  8.19k|        : m_name(name)
  184|  8.19k|        , m_dp(dp)
  185|  8.19k|        , m_key(key)
  186|  8.19k|        , m_value(value)
  187|  8.19k|        , m_value_type(value_type)
  188|  8.19k|        , m_type_names(type_names)
  189|  8.19k|        , m_type_found(type_found)
  190|  8.19k|        {
  191|  8.19k|        }

_ZN5boost5graph17maybe_named_graphINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEENS_11no_propertyEEENS5_INS_13edge_weight_tEdSE_EESE_NS_5listSEEEmSF_vE12added_vertexEm:
  495|  3.73k|        void added_vertex(Vertex) {}

_ZN5boost9iterators16iterator_adaptorINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEE8iteratorENS_11multi_index6detail19bidir_node_iteratorINSG_20sequenced_index_nodeINSG_18ordered_index_nodeINSG_19null_augment_policyENSG_15index_node_baseINS4_4pairIKSA_SD_EENS8_ISO_EEEEEEEEEESO_NS_11use_defaultESU_SU_EC2ERKST_:
  264|  5.45M|          : m_iterator(iter)
  265|  5.45M|      {
  266|  5.45M|      }
_ZNK5boost9iterators16iterator_adaptorINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEE8iteratorENS_11multi_index6detail19bidir_node_iteratorINSG_20sequenced_index_nodeINSG_18ordered_index_nodeINSG_19null_augment_policyENSG_15index_node_baseINS4_4pairIKSA_SD_EENS8_ISO_EEEEEEEEEESO_NS_11use_defaultESU_SU_E14base_referenceEv:
  281|  7.20M|        { return m_iterator; }
_ZN5boost9iterators16iterator_adaptorINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEE20const_assoc_iteratorENS_11multi_index6detail19bidir_node_iteratorINSG_18ordered_index_nodeINSG_19null_augment_policyENSG_15index_node_baseINS4_4pairIKSA_SD_EENS8_ISN_EEEEEEEENS_11use_defaultESS_SS_SS_EC2ERKSR_:
  264|   402k|          : m_iterator(iter)
  265|   402k|      {
  266|   402k|      }
_ZNK5boost9iterators16iterator_adaptorINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEE20const_assoc_iteratorENS_11multi_index6detail19bidir_node_iteratorINSG_18ordered_index_nodeINSG_19null_augment_policyENSG_15index_node_baseINS4_4pairIKSA_SD_EENS8_ISN_EEEEEEEENS_11use_defaultESS_SS_SS_E5equalISE_SR_SS_SS_SS_SS_EEbRKNS1_IT_T0_T1_T2_T3_T4_EE:
  300|   201k|      {
  301|       |        // Maybe readd with same_distance
  302|       |        //           BOOST_STATIC_ASSERT(
  303|       |        //               (detail::same_category_and_difference<Derived,OtherDerived>::value)
  304|       |        //               );
  305|   201k|          return m_iterator == x.base();
  306|   201k|      }
_ZNK5boost9iterators16iterator_adaptorINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEE20const_assoc_iteratorENS_11multi_index6detail19bidir_node_iteratorINSG_18ordered_index_nodeINSG_19null_augment_policyENSG_15index_node_baseINS4_4pairIKSA_SD_EENS8_ISN_EEEEEEEENS_11use_defaultESS_SS_SS_E4baseEv:
  271|   201k|        { return m_iterator; }
_ZNK5boost9iterators16iterator_adaptorINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEE20const_assoc_iteratorENS_11multi_index6detail19bidir_node_iteratorINSG_18ordered_index_nodeINSG_19null_augment_policyENSG_15index_node_baseINS4_4pairIKSA_SD_EENS8_ISN_EEEEEEEENS_11use_defaultESS_SS_SS_E11dereferenceEv:
  294|   149k|        { return *m_iterator; }
_ZNK5boost9iterators16iterator_adaptorINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEE8iteratorENS_11multi_index6detail19bidir_node_iteratorINSG_20sequenced_index_nodeINSG_18ordered_index_nodeINSG_19null_augment_policyENSG_15index_node_baseINS4_4pairIKSA_SD_EENS8_ISO_EEEEEEEEEESO_NS_11use_defaultESU_SU_E5equalISE_ST_SO_SU_SU_SU_EEbRKNS1_IT_T0_T1_T2_T3_T4_EE:
  300|  1.75M|      {
  301|       |        // Maybe readd with same_distance
  302|       |        //           BOOST_STATIC_ASSERT(
  303|       |        //               (detail::same_category_and_difference<Derived,OtherDerived>::value)
  304|       |        //               );
  305|  1.75M|          return m_iterator == x.base();
  306|  1.75M|      }
_ZNK5boost9iterators16iterator_adaptorINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEE8iteratorENS_11multi_index6detail19bidir_node_iteratorINSG_20sequenced_index_nodeINSG_18ordered_index_nodeINSG_19null_augment_policyENSG_15index_node_baseINS4_4pairIKSA_SD_EENS8_ISO_EEEEEEEEEESO_NS_11use_defaultESU_SU_E4baseEv:
  271|  1.75M|        { return m_iterator; }
_ZN5boost9iterators16iterator_adaptorINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEE8iteratorENS_11multi_index6detail19bidir_node_iteratorINSG_20sequenced_index_nodeINSG_18ordered_index_nodeINSG_19null_augment_policyENSG_15index_node_baseINS4_4pairIKSA_SD_EENS8_ISO_EEEEEEEEEESO_NS_11use_defaultESU_SU_E9incrementEv:
  321|  1.75M|      void increment() { ++m_iterator; }
_ZN5boost9iterators16iterator_adaptorINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEE14const_iteratorENS_11multi_index6detail19bidir_node_iteratorINSG_20sequenced_index_nodeINSG_18ordered_index_nodeINSG_19null_augment_policyENSG_15index_node_baseINS4_4pairIKSA_SD_EENS8_ISO_EEEEEEEEEENS_11use_defaultESU_SU_SU_EC2ERKST_:
  264|  46.1k|          : m_iterator(iter)
  265|  46.1k|      {
  266|  46.1k|      }
_ZNK5boost9iterators16iterator_adaptorINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEE14const_iteratorENS_11multi_index6detail19bidir_node_iteratorINSG_20sequenced_index_nodeINSG_18ordered_index_nodeINSG_19null_augment_policyENSG_15index_node_baseINS4_4pairIKSA_SD_EENS8_ISO_EEEEEEEEEENS_11use_defaultESU_SU_SU_E5equalISE_ST_SU_SU_SU_SU_EEbRKNS1_IT_T0_T1_T2_T3_T4_EE:
  300|  1.92M|      {
  301|       |        // Maybe readd with same_distance
  302|       |        //           BOOST_STATIC_ASSERT(
  303|       |        //               (detail::same_category_and_difference<Derived,OtherDerived>::value)
  304|       |        //               );
  305|  1.92M|          return m_iterator == x.base();
  306|  1.92M|      }
_ZNK5boost9iterators16iterator_adaptorINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEE14const_iteratorENS_11multi_index6detail19bidir_node_iteratorINSG_20sequenced_index_nodeINSG_18ordered_index_nodeINSG_19null_augment_policyENSG_15index_node_baseINS4_4pairIKSA_SD_EENS8_ISO_EEEEEEEEEENS_11use_defaultESU_SU_SU_E4baseEv:
  271|  1.92M|        { return m_iterator; }
_ZNK5boost9iterators16iterator_adaptorINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEE14const_iteratorENS_11multi_index6detail19bidir_node_iteratorINSG_20sequenced_index_nodeINSG_18ordered_index_nodeINSG_19null_augment_policyENSG_15index_node_baseINS4_4pairIKSA_SD_EENS8_ISO_EEEEEEEEEENS_11use_defaultESU_SU_SU_E11dereferenceEv:
  294|  1.90M|        { return *m_iterator; }
_ZN5boost9iterators16iterator_adaptorINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEE14const_iteratorENS_11multi_index6detail19bidir_node_iteratorINSG_20sequenced_index_nodeINSG_18ordered_index_nodeINSG_19null_augment_policyENSG_15index_node_baseINS4_4pairIKSA_SD_EENS8_ISO_EEEEEEEEEENS_11use_defaultESU_SU_SU_E9incrementEv:
  321|  1.89M|      void increment() { ++m_iterator; }

_ZNK5boost9iterators6detail20iterator_facade_baseINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEESB_NS5_4lessISB_EEE8iteratorENS5_4pairIKSB_SE_EENS0_27bidirectional_traversal_tagERSI_lLb0ELb0EEptEv:
  741|  5.44M|        {
  742|  5.44M|            return operator_arrow_dispatch_::apply(*this->derived());
  743|  5.44M|        }
_ZN5boost9iterators6detail23operator_arrow_dispatchIRNSt3__14pairIKNS3_12basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEENS_13property_tree11basic_ptreeISA_SA_NS3_4lessISA_EEEEEEPSH_E5applyESI_:
  426|  5.44M|        {
  427|  5.44M|            return boost::addressof(x);
  428|  5.44M|        }
_ZNK5boost9iterators6detail20iterator_facade_baseINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEESB_NS5_4lessISB_EEE8iteratorENS5_4pairIKSB_SE_EENS0_27bidirectional_traversal_tagERSI_lLb0ELb0EE7derivedEv:
  761|  12.6M|        {
  762|  12.6M|            return *static_cast<Derived const*>(this);
  763|  12.6M|        }
_ZNK5boost9iterators6detail20iterator_facade_baseINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEESB_NS5_4lessISB_EEE8iteratorENS5_4pairIKSB_SE_EENS0_27bidirectional_traversal_tagERSI_lLb0ELb0EEdeEv:
  736|  7.20M|        {
  737|  7.20M|            return iterator_core_access::dereference(this->derived());
  738|  7.20M|        }
_ZN5boost9iterators20iterator_core_access11dereferenceINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEESB_NS5_4lessISB_EEE8iteratorEEENT_9referenceERKSG_:
  630|  7.20M|      {
  631|  7.20M|          return f.dereference();
  632|  7.20M|      }
_ZN5boost9iteratorseqINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEE20const_assoc_iteratorENS4_4pairIKSA_SD_EENS0_27bidirectional_traversal_tagERKSH_lSE_SH_SI_SK_lEENS0_6detail23enable_if_interoperableIT_T4_NS_3mpl6apply2INSL_12always_bool2ESN_SO_E4typeEE4typeERKNS0_15iterator_facadeISN_T0_T1_T2_T3_EERKNSW_ISO_T5_T6_T7_T8_EE:
  961|   201k|  {                                                                             \
  962|   201k|      /* For those compilers that do not support enable_if */                   \
  963|   201k|      BOOST_STATIC_ASSERT((                                                     \
  ------------------
  |  |   71|   201k|#     define BOOST_STATIC_ASSERT( ... ) static_assert(__VA_ARGS__, #__VA_ARGS__)
  ------------------
  964|   201k|          is_interoperable< Derived1, Derived2 >::value                         \
  965|   201k|      ));                                                                       \
  966|   201k|      return_prefix iterator_core_access::base_op(                              \
  967|   201k|          *static_cast<Derived1 const*>(&lhs)                                   \
  968|   201k|        , *static_cast<Derived2 const*>(&rhs)                                   \
  969|   201k|        , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
  ------------------
  |  |  956|   201k|#  define BOOST_ITERATOR_CONVERTIBLE(a,b) is_convertible<a,b>()
  ------------------
  970|   201k|      );                                                                        \
  971|   201k|  }
_ZN5boost9iterators20iterator_core_access5equalINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEESB_NS5_4lessISB_EEE20const_assoc_iteratorESF_EEbRKT_RKT0_N4mpl_5bool_ILb1EEE:
  648|   201k|      {
  649|   201k|          return f1.equal(f2);
  650|   201k|      }
_ZNK5boost9iterators6detail20iterator_facade_baseINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEESB_NS5_4lessISB_EEE20const_assoc_iteratorENS5_4pairIKSB_SE_EENS0_27bidirectional_traversal_tagERKSI_lLb0ELb0EEptEv:
  741|   149k|        {
  742|   149k|            return operator_arrow_dispatch_::apply(*this->derived());
  743|   149k|        }
_ZN5boost9iterators6detail23operator_arrow_dispatchIRKNSt3__14pairIKNS3_12basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEENS_13property_tree11basic_ptreeISA_SA_NS3_4lessISA_EEEEEEPSI_E5applyESJ_:
  426|   149k|        {
  427|   149k|            return boost::addressof(x);
  428|   149k|        }
_ZNK5boost9iterators6detail20iterator_facade_baseINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEESB_NS5_4lessISB_EEE20const_assoc_iteratorENS5_4pairIKSB_SE_EENS0_27bidirectional_traversal_tagERKSI_lLb0ELb0EE7derivedEv:
  761|   298k|        {
  762|   298k|            return *static_cast<Derived const*>(this);
  763|   298k|        }
_ZNK5boost9iterators6detail20iterator_facade_baseINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEESB_NS5_4lessISB_EEE20const_assoc_iteratorENS5_4pairIKSB_SE_EENS0_27bidirectional_traversal_tagERKSI_lLb0ELb0EEdeEv:
  736|   149k|        {
  737|   149k|            return iterator_core_access::dereference(this->derived());
  738|   149k|        }
_ZN5boost9iterators20iterator_core_access11dereferenceINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEESB_NS5_4lessISB_EEE20const_assoc_iteratorEEENT_9referenceERKSG_:
  630|   149k|      {
  631|   149k|          return f.dereference();
  632|   149k|      }
_ZN5boost9iteratorseqINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEE8iteratorENS4_4pairIKSA_SD_EENS0_27bidirectional_traversal_tagERSH_lSE_SH_SI_SJ_lEENS0_6detail23enable_if_interoperableIT_T4_NS_3mpl6apply2INSK_12always_bool2ESM_SN_E4typeEE4typeERKNS0_15iterator_facadeISM_T0_T1_T2_T3_EERKNSV_ISN_T5_T6_T7_T8_EE:
  961|  1.75M|  {                                                                             \
  962|  1.75M|      /* For those compilers that do not support enable_if */                   \
  963|  1.75M|      BOOST_STATIC_ASSERT((                                                     \
  ------------------
  |  |   71|  1.75M|#     define BOOST_STATIC_ASSERT( ... ) static_assert(__VA_ARGS__, #__VA_ARGS__)
  ------------------
  964|  1.75M|          is_interoperable< Derived1, Derived2 >::value                         \
  965|  1.75M|      ));                                                                       \
  966|  1.75M|      return_prefix iterator_core_access::base_op(                              \
  967|  1.75M|          *static_cast<Derived1 const*>(&lhs)                                   \
  968|  1.75M|        , *static_cast<Derived2 const*>(&rhs)                                   \
  969|  1.75M|        , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
  ------------------
  |  |  956|  1.75M|#  define BOOST_ITERATOR_CONVERTIBLE(a,b) is_convertible<a,b>()
  ------------------
  970|  1.75M|      );                                                                        \
  971|  1.75M|  }
_ZN5boost9iterators20iterator_core_access5equalINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEESB_NS5_4lessISB_EEE8iteratorESF_EEbRKT_RKT0_N4mpl_5bool_ILb1EEE:
  648|  1.75M|      {
  649|  1.75M|          return f1.equal(f2);
  650|  1.75M|      }
_ZN5boost9iterators6detail20iterator_facade_baseINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEESB_NS5_4lessISB_EEE8iteratorENS5_4pairIKSB_SE_EENS0_27bidirectional_traversal_tagERSI_lLb0ELb0EEppEv:
  746|  1.75M|        {
  747|  1.75M|            iterator_core_access::increment(this->derived());
  748|  1.75M|            return this->derived();
  749|  1.75M|        }
_ZN5boost9iterators20iterator_core_access9incrementINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEESB_NS5_4lessISB_EEE8iteratorEEEvRT_:
  636|  1.75M|      {
  637|  1.75M|          f.increment();
  638|  1.75M|      }
_ZN5boost9iterators6detail20iterator_facade_baseINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEESB_NS5_4lessISB_EEE8iteratorENS5_4pairIKSB_SE_EENS0_27bidirectional_traversal_tagERSI_lLb0ELb0EE7derivedEv:
  756|  3.50M|        {
  757|  3.50M|            return *static_cast<Derived*>(this);
  758|  3.50M|        }
_ZN5boost9iteratorseqINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEE14const_iteratorENS4_4pairIKSA_SD_EENS0_27bidirectional_traversal_tagERKSH_lSE_SH_SI_SK_lEENS0_6detail23enable_if_interoperableIT_T4_NS_3mpl6apply2INSL_12always_bool2ESN_SO_E4typeEE4typeERKNS0_15iterator_facadeISN_T0_T1_T2_T3_EERKNSW_ISO_T5_T6_T7_T8_EE:
  961|  1.92M|  {                                                                             \
  962|  1.92M|      /* For those compilers that do not support enable_if */                   \
  963|  1.92M|      BOOST_STATIC_ASSERT((                                                     \
  ------------------
  |  |   71|  1.92M|#     define BOOST_STATIC_ASSERT( ... ) static_assert(__VA_ARGS__, #__VA_ARGS__)
  ------------------
  964|  1.92M|          is_interoperable< Derived1, Derived2 >::value                         \
  965|  1.92M|      ));                                                                       \
  966|  1.92M|      return_prefix iterator_core_access::base_op(                              \
  967|  1.92M|          *static_cast<Derived1 const*>(&lhs)                                   \
  968|  1.92M|        , *static_cast<Derived2 const*>(&rhs)                                   \
  969|  1.92M|        , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
  ------------------
  |  |  956|  1.92M|#  define BOOST_ITERATOR_CONVERTIBLE(a,b) is_convertible<a,b>()
  ------------------
  970|  1.92M|      );                                                                        \
  971|  1.92M|  }
_ZN5boost9iterators20iterator_core_access5equalINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEESB_NS5_4lessISB_EEE14const_iteratorESF_EEbRKT_RKT0_N4mpl_5bool_ILb1EEE:
  648|  1.92M|      {
  649|  1.92M|          return f1.equal(f2);
  650|  1.92M|      }
_ZNK5boost9iterators6detail20iterator_facade_baseINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEESB_NS5_4lessISB_EEE14const_iteratorENS5_4pairIKSB_SE_EENS0_27bidirectional_traversal_tagERKSI_lLb0ELb0EEdeEv:
  736|  1.90M|        {
  737|  1.90M|            return iterator_core_access::dereference(this->derived());
  738|  1.90M|        }
_ZN5boost9iterators20iterator_core_access11dereferenceINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEESB_NS5_4lessISB_EEE14const_iteratorEEENT_9referenceERKSG_:
  630|  1.90M|      {
  631|  1.90M|          return f.dereference();
  632|  1.90M|      }
_ZNK5boost9iterators6detail20iterator_facade_baseINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEESB_NS5_4lessISB_EEE14const_iteratorENS5_4pairIKSB_SE_EENS0_27bidirectional_traversal_tagERKSI_lLb0ELb0EE7derivedEv:
  761|  1.90M|        {
  762|  1.90M|            return *static_cast<Derived const*>(this);
  763|  1.90M|        }
_ZN5boost9iterators6detail20iterator_facade_baseINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEESB_NS5_4lessISB_EEE14const_iteratorENS5_4pairIKSB_SE_EENS0_27bidirectional_traversal_tagERKSI_lLb0ELb0EEppEv:
  746|  1.89M|        {
  747|  1.89M|            iterator_core_access::increment(this->derived());
  748|  1.89M|            return this->derived();
  749|  1.89M|        }
_ZN5boost9iterators20iterator_core_access9incrementINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEESB_NS5_4lessISB_EEE14const_iteratorEEEvRT_:
  636|  1.89M|      {
  637|  1.89M|          f.increment();
  638|  1.89M|      }
_ZN5boost9iterators6detail20iterator_facade_baseINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEESB_NS5_4lessISB_EEE14const_iteratorENS5_4pairIKSB_SE_EENS0_27bidirectional_traversal_tagERKSI_lLb0ELb0EE7derivedEv:
  756|  3.79M|        {
  757|  3.79M|            return *static_cast<Derived*>(this);
  758|  3.79M|        }

_ZN5boost12lexical_castIbNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEEET_RKT0_:
   39|  6.85k|    {
   40|  6.85k|        Target result = Target();
   41|       |
   42|  6.85k|        if (!boost::conversion::detail::try_lexical_convert(arg, result)) {
  ------------------
  |  Branch (42:13): [True: 109, False: 6.74k]
  ------------------
   43|    109|            boost::conversion::detail::throw_bad_cast<Source, Target>();
   44|    109|        }
   45|       |
   46|  6.85k|        return result;
   47|  6.85k|    }
_ZN5boost12lexical_castIiNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEEET_RKT0_:
   39|  2.53k|    {
   40|  2.53k|        Target result = Target();
   41|       |
   42|  2.53k|        if (!boost::conversion::detail::try_lexical_convert(arg, result)) {
  ------------------
  |  Branch (42:13): [True: 109, False: 2.42k]
  ------------------
   43|    109|            boost::conversion::detail::throw_bad_cast<Source, Target>();
   44|    109|        }
   45|       |
   46|  2.53k|        return result;
   47|  2.53k|    }
_ZN5boost12lexical_castIlNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEEET_RKT0_:
   39|  2.77k|    {
   40|  2.77k|        Target result = Target();
   41|       |
   42|  2.77k|        if (!boost::conversion::detail::try_lexical_convert(arg, result)) {
  ------------------
  |  Branch (42:13): [True: 130, False: 2.64k]
  ------------------
   43|    130|            boost::conversion::detail::throw_bad_cast<Source, Target>();
   44|    130|        }
   45|       |
   46|  2.77k|        return result;
   47|  2.77k|    }
_ZN5boost12lexical_castIfNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEEET_RKT0_:
   39|  4.62k|    {
   40|  4.62k|        Target result = Target();
   41|       |
   42|  4.62k|        if (!boost::conversion::detail::try_lexical_convert(arg, result)) {
  ------------------
  |  Branch (42:13): [True: 127, False: 4.49k]
  ------------------
   43|    127|            boost::conversion::detail::throw_bad_cast<Source, Target>();
   44|    127|        }
   45|       |
   46|  4.62k|        return result;
   47|  4.62k|    }
_ZN5boost12lexical_castIdNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEEET_RKT0_:
   39|  3.46k|    {
   40|  3.46k|        Target result = Target();
   41|       |
   42|  3.46k|        if (!boost::conversion::detail::try_lexical_convert(arg, result)) {
  ------------------
  |  Branch (42:13): [True: 95, False: 3.37k]
  ------------------
   43|     95|            boost::conversion::detail::throw_bad_cast<Source, Target>();
   44|     95|        }
   45|       |
   46|  3.46k|        return result;
   47|  3.46k|    }
_ZN5boost12lexical_castINSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEES7_EET_RKT0_:
   39|  1.31k|    {
   40|  1.31k|        Target result = Target();
   41|       |
   42|  1.31k|        if (!boost::conversion::detail::try_lexical_convert(arg, result)) {
  ------------------
  |  Branch (42:13): [True: 0, False: 1.31k]
  ------------------
   43|      0|            boost::conversion::detail::throw_bad_cast<Source, Target>();
   44|      0|        }
   45|       |
   46|  1.31k|        return result;
   47|  1.31k|    }

_ZN5boost10conversion6detail14throw_bad_castINSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEbEEvv:
   92|    109|        inline void throw_bad_cast() {
   93|    109|            boost::throw_exception(bad_lexical_cast(typeid(S), typeid(T)));
   94|    109|        }
_ZN5boost16bad_lexical_castC2ERKS0_:
   53|    570|        bad_lexical_cast(const bad_lexical_cast&) = default;
_ZN5boost16bad_lexical_castC2ERKSt9type_infoS3_:
   67|    570|            : source(&source_type_arg), target(&target_type_arg)
   68|    570|        {}
_ZN5boost10conversion6detail14throw_bad_castINSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEiEEvv:
   92|    109|        inline void throw_bad_cast() {
   93|    109|            boost::throw_exception(bad_lexical_cast(typeid(S), typeid(T)));
   94|    109|        }
_ZN5boost10conversion6detail14throw_bad_castINSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEElEEvv:
   92|    130|        inline void throw_bad_cast() {
   93|    130|            boost::throw_exception(bad_lexical_cast(typeid(S), typeid(T)));
   94|    130|        }
_ZN5boost10conversion6detail14throw_bad_castINSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEfEEvv:
   92|    127|        inline void throw_bad_cast() {
   93|    127|            boost::throw_exception(bad_lexical_cast(typeid(S), typeid(T)));
   94|    127|        }
_ZN5boost10conversion6detail14throw_bad_castINSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEdEEvv:
   92|     95|        inline void throw_bad_cast() {
   93|     95|            boost::throw_exception(bad_lexical_cast(typeid(S), typeid(T)));
   94|     95|        }

_ZN5boost6detail22lexical_converter_implIbNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEE11try_convertERKS8_Rb:
  461|  6.85k|            static inline bool try_convert(const Source& arg, Target& result) {
  462|  6.85k|                from_src_stream src_stream;
  463|  6.85k|                if (!src_stream.stream_in(lcast::exact<Source>{arg}))
  ------------------
  |  Branch (463:21): [True: 0, False: 6.85k]
  ------------------
  464|      0|                    return false;
  465|       |
  466|  6.85k|                to_target_stream out(src_stream.cbegin(), src_stream.cend());
  467|  6.85k|                if (!out.stream_out(result))
  ------------------
  |  Branch (467:21): [True: 109, False: 6.74k]
  ------------------
  468|    109|                    return false;
  469|       |
  470|  6.74k|                return true;
  471|  6.85k|            }
_ZN5boost6detail22lexical_converter_implIiNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEE11try_convertERKS8_Ri:
  461|  2.53k|            static inline bool try_convert(const Source& arg, Target& result) {
  462|  2.53k|                from_src_stream src_stream;
  463|  2.53k|                if (!src_stream.stream_in(lcast::exact<Source>{arg}))
  ------------------
  |  Branch (463:21): [True: 0, False: 2.53k]
  ------------------
  464|      0|                    return false;
  465|       |
  466|  2.53k|                to_target_stream out(src_stream.cbegin(), src_stream.cend());
  467|  2.53k|                if (!out.stream_out(result))
  ------------------
  |  Branch (467:21): [True: 109, False: 2.42k]
  ------------------
  468|    109|                    return false;
  469|       |
  470|  2.42k|                return true;
  471|  2.53k|            }
_ZN5boost6detail22lexical_converter_implIlNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEE11try_convertERKS8_Rl:
  461|  2.77k|            static inline bool try_convert(const Source& arg, Target& result) {
  462|  2.77k|                from_src_stream src_stream;
  463|  2.77k|                if (!src_stream.stream_in(lcast::exact<Source>{arg}))
  ------------------
  |  Branch (463:21): [True: 0, False: 2.77k]
  ------------------
  464|      0|                    return false;
  465|       |
  466|  2.77k|                to_target_stream out(src_stream.cbegin(), src_stream.cend());
  467|  2.77k|                if (!out.stream_out(result))
  ------------------
  |  Branch (467:21): [True: 130, False: 2.64k]
  ------------------
  468|    130|                    return false;
  469|       |
  470|  2.64k|                return true;
  471|  2.77k|            }
_ZN5boost6detail22lexical_converter_implIfNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEE11try_convertERKS8_Rf:
  461|  4.62k|            static inline bool try_convert(const Source& arg, Target& result) {
  462|  4.62k|                from_src_stream src_stream;
  463|  4.62k|                if (!src_stream.stream_in(lcast::exact<Source>{arg}))
  ------------------
  |  Branch (463:21): [True: 0, False: 4.62k]
  ------------------
  464|      0|                    return false;
  465|       |
  466|  4.62k|                to_target_stream out(src_stream.cbegin(), src_stream.cend());
  467|  4.62k|                if (!out.stream_out(result))
  ------------------
  |  Branch (467:21): [True: 127, False: 4.49k]
  ------------------
  468|    127|                    return false;
  469|       |
  470|  4.49k|                return true;
  471|  4.62k|            }
_ZN5boost6detail22lexical_converter_implIdNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEE11try_convertERKS8_Rd:
  461|  3.46k|            static inline bool try_convert(const Source& arg, Target& result) {
  462|  3.46k|                from_src_stream src_stream;
  463|  3.46k|                if (!src_stream.stream_in(lcast::exact<Source>{arg}))
  ------------------
  |  Branch (463:21): [True: 0, False: 3.46k]
  ------------------
  464|      0|                    return false;
  465|       |
  466|  3.46k|                to_target_stream out(src_stream.cbegin(), src_stream.cend());
  467|  3.46k|                if (!out.stream_out(result))
  ------------------
  |  Branch (467:21): [True: 95, False: 3.37k]
  ------------------
  468|     95|                    return false;
  469|       |
  470|  3.37k|                return true;
  471|  3.46k|            }
_ZN5boost6detail22lexical_converter_implINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES8_E11try_convertERKS8_RS8_:
  461|  1.31k|            static inline bool try_convert(const Source& arg, Target& result) {
  462|  1.31k|                from_src_stream src_stream;
  463|  1.31k|                if (!src_stream.stream_in(lcast::exact<Source>{arg}))
  ------------------
  |  Branch (463:21): [True: 0, False: 1.31k]
  ------------------
  464|      0|                    return false;
  465|       |
  466|  1.31k|                to_target_stream out(src_stream.cbegin(), src_stream.cend());
  467|  1.31k|                if (!out.stream_out(result))
  ------------------
  |  Branch (467:21): [True: 0, False: 1.31k]
  ------------------
  468|      0|                    return false;
  469|       |
  470|  1.31k|                return true;
  471|  1.31k|            }

_ZN5boost6detail5lcast20optimized_src_streamIcNSt3__111char_traitsIcEELm2EEC2Ev:
  124|  21.5k|          : start(buffer)
  125|  21.5k|          , finish(buffer + CharacterBufferSize)
  126|  21.5k|        {}
_ZN5boost6detail5lcast20optimized_src_streamIcNSt3__111char_traitsIcEELm2EE9stream_inIS5_NS3_9allocatorIcEEEEbNS1_5exactINS3_12basic_stringIcT_T0_EEEE:
  269|  21.5k|        bool stream_in(lcast::exact<std::basic_string<CharT,CharTraits,Alloc>> x) noexcept {
  270|  21.5k|            start = x.payload.data();
  271|  21.5k|            finish = start + x.payload.length();
  272|  21.5k|            return true;
  273|  21.5k|        }
_ZNK5boost6detail5lcast20optimized_src_streamIcNSt3__111char_traitsIcEELm2EE6cbeginEv:
  128|  21.5k|        const CharT* cbegin() const noexcept {
  129|  21.5k|            return start;
  130|  21.5k|        }
_ZNK5boost6detail5lcast20optimized_src_streamIcNSt3__111char_traitsIcEELm2EE4cendEv:
  132|  21.5k|        const CharT* cend() const noexcept {
  133|  21.5k|            return finish;
  134|  21.5k|        }
_ZN5boost6detail5lcast16to_target_streamIcNSt3__111char_traitsIcEEEC2EPKcS8_:
  492|  21.5k|          : start(begin)
  493|  21.5k|          , finish(end)
  494|  21.5k|        {}
_ZN5boost6detail5lcast16to_target_streamIcNSt3__111char_traitsIcEEE10stream_outERb:
  678|  6.85k|        bool stream_out(bool& output) noexcept {
  679|  6.85k|            output = false; // Suppress warning about uninitalized variable
  680|       |
  681|  6.85k|            if (start == finish) return false;
  ------------------
  |  Branch (681:17): [True: 2, False: 6.84k]
  ------------------
  682|  6.84k|            CharT const zero = lcast_char_constants<CharT>::zero;
  683|  6.84k|            CharT const plus = lcast_char_constants<CharT>::plus;
  684|  6.84k|            CharT const minus = lcast_char_constants<CharT>::minus;
  685|       |
  686|  6.84k|            const CharT* const dec_finish = finish - 1;
  687|  6.84k|            output = Traits::eq(*dec_finish, zero + 1);
  688|  6.84k|            if (!output && !Traits::eq(*dec_finish, zero)) {
  ------------------
  |  Branch (688:17): [True: 5.78k, False: 1.06k]
  |  Branch (688:28): [True: 37, False: 5.74k]
  ------------------
  689|     37|                return false; // Does not ends on '0' or '1'
  690|     37|            }
  691|       |
  692|  6.81k|            if (start == dec_finish) return true;
  ------------------
  |  Branch (692:17): [True: 4.41k, False: 2.39k]
  ------------------
  693|       |
  694|       |            // We may have sign at the beginning
  695|  2.39k|            if (Traits::eq(plus, *start) || (Traits::eq(minus, *start) && !output)) {
  ------------------
  |  Branch (695:17): [True: 899, False: 1.49k]
  |  Branch (695:46): [True: 666, False: 831]
  |  Branch (695:75): [True: 662, False: 4]
  ------------------
  696|  1.56k|                ++ start;
  697|  1.56k|            }
  698|       |
  699|       |            // Skipping zeros
  700|  7.35k|            while (start != dec_finish) {
  ------------------
  |  Branch (700:20): [True: 5.03k, False: 2.32k]
  ------------------
  701|  5.03k|                if (!Traits::eq(zero, *start)) {
  ------------------
  |  Branch (701:21): [True: 70, False: 4.96k]
  ------------------
  702|     70|                    return false; // Not a zero => error
  703|     70|                }
  704|       |
  705|  4.96k|                ++ start;
  706|  4.96k|            }
  707|       |
  708|  2.32k|            return true;
  709|  2.39k|        }
_ZN5boost6detail5lcast16to_target_streamIcNSt3__111char_traitsIcEEE10stream_outERi:
  629|  2.53k|        bool stream_out(int& output)                        { return shr_signed(output); }
_ZN5boost6detail5lcast16to_target_streamIcNSt3__111char_traitsIcEEE10shr_signedIiEEbRT_:
  525|  2.53k|        bool shr_signed(Type& output) {
  526|  2.53k|            if (start == finish) return false;
  ------------------
  |  Branch (526:17): [True: 5, False: 2.52k]
  ------------------
  527|  2.52k|            CharT const minus = lcast_char_constants<CharT>::minus;
  528|  2.52k|            CharT const plus = lcast_char_constants<CharT>::plus;
  529|  2.52k|            typedef typename make_unsigned<Type>::type utype;
  530|  2.52k|            utype out_tmp = 0;
  531|  2.52k|            bool const has_minus = Traits::eq(minus, *start);
  532|       |
  533|       |            /* We won`t use `start' any more, so no need in decrementing it after */
  534|  2.52k|            if (has_minus || Traits::eq(plus, *start)) {
  ------------------
  |  Branch (534:17): [True: 737, False: 1.78k]
  |  Branch (534:30): [True: 551, False: 1.23k]
  ------------------
  535|  1.28k|                ++start;
  536|  1.28k|            }
  537|       |
  538|  2.52k|            bool succeed = lcast_ret_unsigned<Traits, utype, CharT>(out_tmp, start, finish).convert();
  539|  2.52k|            if (has_minus) {
  ------------------
  |  Branch (539:17): [True: 737, False: 1.78k]
  ------------------
  540|    737|                utype const comp_val = (static_cast<utype>(1) << std::numeric_limits<Type>::digits);
  541|    737|                succeed = succeed && out_tmp<=comp_val;
  ------------------
  |  Branch (541:27): [True: 726, False: 11]
  |  Branch (541:38): [True: 725, False: 1]
  ------------------
  542|    737|                output = static_cast<Type>(0u - out_tmp);
  543|  1.78k|            } else {
  544|  1.78k|                utype const comp_val = static_cast<utype>((std::numeric_limits<Type>::max)());
  545|  1.78k|                succeed = succeed && out_tmp<=comp_val;
  ------------------
  |  Branch (545:27): [True: 1.73k, False: 58]
  |  Branch (545:38): [True: 1.69k, False: 34]
  ------------------
  546|  1.78k|                output = static_cast<Type>(out_tmp);
  547|  1.78k|            }
  548|  2.52k|            return succeed;
  549|  2.53k|        }
_ZN5boost6detail5lcast16to_target_streamIcNSt3__111char_traitsIcEEE10stream_outERl:
  630|  2.77k|        bool stream_out(long int& output)                   { return shr_signed(output); }
_ZN5boost6detail5lcast16to_target_streamIcNSt3__111char_traitsIcEEE10shr_signedIlEEbRT_:
  525|  2.77k|        bool shr_signed(Type& output) {
  526|  2.77k|            if (start == finish) return false;
  ------------------
  |  Branch (526:17): [True: 3, False: 2.76k]
  ------------------
  527|  2.76k|            CharT const minus = lcast_char_constants<CharT>::minus;
  528|  2.76k|            CharT const plus = lcast_char_constants<CharT>::plus;
  529|  2.76k|            typedef typename make_unsigned<Type>::type utype;
  530|  2.76k|            utype out_tmp = 0;
  531|  2.76k|            bool const has_minus = Traits::eq(minus, *start);
  532|       |
  533|       |            /* We won`t use `start' any more, so no need in decrementing it after */
  534|  2.76k|            if (has_minus || Traits::eq(plus, *start)) {
  ------------------
  |  Branch (534:17): [True: 813, False: 1.95k]
  |  Branch (534:30): [True: 579, False: 1.37k]
  ------------------
  535|  1.39k|                ++start;
  536|  1.39k|            }
  537|       |
  538|  2.76k|            bool succeed = lcast_ret_unsigned<Traits, utype, CharT>(out_tmp, start, finish).convert();
  539|  2.76k|            if (has_minus) {
  ------------------
  |  Branch (539:17): [True: 813, False: 1.95k]
  ------------------
  540|    813|                utype const comp_val = (static_cast<utype>(1) << std::numeric_limits<Type>::digits);
  541|    813|                succeed = succeed && out_tmp<=comp_val;
  ------------------
  |  Branch (541:27): [True: 802, False: 11]
  |  Branch (541:38): [True: 800, False: 2]
  ------------------
  542|    813|                output = static_cast<Type>(0u - out_tmp);
  543|  1.95k|            } else {
  544|  1.95k|                utype const comp_val = static_cast<utype>((std::numeric_limits<Type>::max)());
  545|  1.95k|                succeed = succeed && out_tmp<=comp_val;
  ------------------
  |  Branch (545:27): [True: 1.90k, False: 49]
  |  Branch (545:38): [True: 1.84k, False: 65]
  ------------------
  546|  1.95k|                output = static_cast<Type>(out_tmp);
  547|  1.95k|            }
  548|  2.76k|            return succeed;
  549|  2.77k|        }
_ZN5boost6detail5lcast16to_target_streamIcNSt3__111char_traitsIcEEE10stream_outERf:
  741|  4.62k|        bool stream_out(float& output) { return float_types_converter_internal(output); }
_ZN5boost6detail5lcast16to_target_streamIcNSt3__111char_traitsIcEEE30float_types_converter_internalIfEEbRT_:
  714|  4.62k|        bool float_types_converter_internal(T& output) {
  715|  4.62k|            if (parse_inf_nan(start, finish, output)) return true;
  ------------------
  |  Branch (715:17): [True: 1.59k, False: 3.02k]
  ------------------
  716|  3.02k|            bool const return_value = shr_using_base_class(output);
  717|       |
  718|       |            /* Some compilers and libraries successfully
  719|       |             * parse 'inf', 'INFINITY', '1.0E', '1.0E-'...
  720|       |             * We are trying to provide a unified behaviour,
  721|       |             * so we just forbid such conversions (as some
  722|       |             * of the most popular compilers/libraries do)
  723|       |             * */
  724|  3.02k|            CharT const minus = lcast_char_constants<CharT>::minus;
  725|  3.02k|            CharT const plus = lcast_char_constants<CharT>::plus;
  726|  3.02k|            CharT const capital_e = lcast_char_constants<CharT>::capital_e;
  727|  3.02k|            CharT const lowercase_e = lcast_char_constants<CharT>::lowercase_e;
  728|  3.02k|            if ( return_value &&
  ------------------
  |  Branch (728:18): [True: 2.89k, False: 125]
  ------------------
  729|  3.02k|                 (
  730|  2.89k|                    Traits::eq(*(finish-1), lowercase_e)                   // 1.0e
  ------------------
  |  Branch (730:21): [True: 1, False: 2.89k]
  ------------------
  731|  2.89k|                    || Traits::eq(*(finish-1), capital_e)                  // 1.0E
  ------------------
  |  Branch (731:24): [True: 1, False: 2.89k]
  ------------------
  732|  2.89k|                    || Traits::eq(*(finish-1), minus)                      // 1.0e- or 1.0E-
  ------------------
  |  Branch (732:24): [True: 0, False: 2.89k]
  ------------------
  733|  2.89k|                    || Traits::eq(*(finish-1), plus)                       // 1.0e+ or 1.0E+
  ------------------
  |  Branch (733:24): [True: 0, False: 2.89k]
  ------------------
  734|  2.89k|                 )
  735|  3.02k|            ) return false;
  736|       |
  737|  3.02k|            return return_value;
  738|  3.02k|        }
_ZN5boost6detail5lcast16to_target_streamIcNSt3__111char_traitsIcEEE20shr_using_base_classIfEEbRT_:
  553|  3.02k|        {
  554|  3.02k|            static_assert(
  555|  3.02k|                !boost::is_pointer<InputStreamable>::value,
  556|  3.02k|                "boost::lexical_cast can not convert to pointers"
  557|  3.02k|            );
  558|       |
  559|       |#if defined(BOOST_NO_STRINGSTREAM) || defined(BOOST_NO_STD_LOCALE)
  560|       |            static_assert(boost::is_same<char, CharT>::value,
  561|       |                "boost::lexical_cast can not convert, because your STL library does not "
  562|       |                "support such conversions. Try updating it."
  563|       |            );
  564|       |#endif
  565|       |
  566|       |#if defined(BOOST_NO_STRINGSTREAM)
  567|       |            std::istrstream stream(start, static_cast<std::istrstream::streamsize>(finish - start));
  568|       |#else
  569|  3.02k|            typedef detail::lcast::buffer_t<CharT, Traits> buffer_t;
  570|  3.02k|            buffer_t buf;
  571|       |            // Usually `istream` and `basic_istream` do not modify
  572|       |            // content of buffer; `buffer_t` assures that this is true
  573|  3.02k|            buf.setbuf(const_cast<CharT*>(start), static_cast<typename buffer_t::streamsize>(finish - start));
  574|       |#if defined(BOOST_NO_STD_LOCALE)
  575|       |            std::istream stream(&buf);
  576|       |#else
  577|  3.02k|            std::basic_istream<CharT, Traits> stream(&buf);
  578|  3.02k|#endif // BOOST_NO_STD_LOCALE
  579|  3.02k|#endif // BOOST_NO_STRINGSTREAM
  580|       |
  581|  3.02k|#ifndef BOOST_NO_EXCEPTIONS
  582|  3.02k|            stream.exceptions(std::ios::badbit);
  583|  3.02k|            try {
  584|  3.02k|#endif
  585|  3.02k|            stream.unsetf(std::ios::skipws);
  586|  3.02k|            lcast_set_precision(stream, static_cast<InputStreamable*>(0));
  587|       |
  588|  3.02k|            return (stream >> output)
  ------------------
  |  Branch (588:20): [True: 2.93k, False: 91]
  ------------------
  589|  3.02k|                && (stream.get() == Traits::eof());
  ------------------
  |  Branch (589:20): [True: 2.89k, False: 34]
  ------------------
  590|       |
  591|  3.02k|#ifndef BOOST_NO_EXCEPTIONS
  592|  3.02k|            } catch (const ::std::ios_base::failure& /*f*/) {
  593|      0|                return false;
  594|      0|            }
  595|  3.02k|#endif
  596|  3.02k|        }
_ZN5boost6detail5lcast16to_target_streamIcNSt3__111char_traitsIcEEE10stream_outERd:
  742|  3.46k|        bool stream_out(double& output) { return float_types_converter_internal(output); }
_ZN5boost6detail5lcast16to_target_streamIcNSt3__111char_traitsIcEEE30float_types_converter_internalIdEEbRT_:
  714|  3.46k|        bool float_types_converter_internal(T& output) {
  715|  3.46k|            if (parse_inf_nan(start, finish, output)) return true;
  ------------------
  |  Branch (715:17): [True: 2.08k, False: 1.38k]
  ------------------
  716|  1.38k|            bool const return_value = shr_using_base_class(output);
  717|       |
  718|       |            /* Some compilers and libraries successfully
  719|       |             * parse 'inf', 'INFINITY', '1.0E', '1.0E-'...
  720|       |             * We are trying to provide a unified behaviour,
  721|       |             * so we just forbid such conversions (as some
  722|       |             * of the most popular compilers/libraries do)
  723|       |             * */
  724|  1.38k|            CharT const minus = lcast_char_constants<CharT>::minus;
  725|  1.38k|            CharT const plus = lcast_char_constants<CharT>::plus;
  726|  1.38k|            CharT const capital_e = lcast_char_constants<CharT>::capital_e;
  727|  1.38k|            CharT const lowercase_e = lcast_char_constants<CharT>::lowercase_e;
  728|  1.38k|            if ( return_value &&
  ------------------
  |  Branch (728:18): [True: 1.29k, False: 94]
  ------------------
  729|  1.38k|                 (
  730|  1.29k|                    Traits::eq(*(finish-1), lowercase_e)                   // 1.0e
  ------------------
  |  Branch (730:21): [True: 0, False: 1.29k]
  ------------------
  731|  1.29k|                    || Traits::eq(*(finish-1), capital_e)                  // 1.0E
  ------------------
  |  Branch (731:24): [True: 1, False: 1.28k]
  ------------------
  732|  1.29k|                    || Traits::eq(*(finish-1), minus)                      // 1.0e- or 1.0E-
  ------------------
  |  Branch (732:24): [True: 0, False: 1.28k]
  ------------------
  733|  1.29k|                    || Traits::eq(*(finish-1), plus)                       // 1.0e+ or 1.0E+
  ------------------
  |  Branch (733:24): [True: 0, False: 1.28k]
  ------------------
  734|  1.29k|                 )
  735|  1.38k|            ) return false;
  736|       |
  737|  1.38k|            return return_value;
  738|  1.38k|        }
_ZN5boost6detail5lcast16to_target_streamIcNSt3__111char_traitsIcEEE20shr_using_base_classIdEEbRT_:
  553|  1.38k|        {
  554|  1.38k|            static_assert(
  555|  1.38k|                !boost::is_pointer<InputStreamable>::value,
  556|  1.38k|                "boost::lexical_cast can not convert to pointers"
  557|  1.38k|            );
  558|       |
  559|       |#if defined(BOOST_NO_STRINGSTREAM) || defined(BOOST_NO_STD_LOCALE)
  560|       |            static_assert(boost::is_same<char, CharT>::value,
  561|       |                "boost::lexical_cast can not convert, because your STL library does not "
  562|       |                "support such conversions. Try updating it."
  563|       |            );
  564|       |#endif
  565|       |
  566|       |#if defined(BOOST_NO_STRINGSTREAM)
  567|       |            std::istrstream stream(start, static_cast<std::istrstream::streamsize>(finish - start));
  568|       |#else
  569|  1.38k|            typedef detail::lcast::buffer_t<CharT, Traits> buffer_t;
  570|  1.38k|            buffer_t buf;
  571|       |            // Usually `istream` and `basic_istream` do not modify
  572|       |            // content of buffer; `buffer_t` assures that this is true
  573|  1.38k|            buf.setbuf(const_cast<CharT*>(start), static_cast<typename buffer_t::streamsize>(finish - start));
  574|       |#if defined(BOOST_NO_STD_LOCALE)
  575|       |            std::istream stream(&buf);
  576|       |#else
  577|  1.38k|            std::basic_istream<CharT, Traits> stream(&buf);
  578|  1.38k|#endif // BOOST_NO_STD_LOCALE
  579|  1.38k|#endif // BOOST_NO_STRINGSTREAM
  580|       |
  581|  1.38k|#ifndef BOOST_NO_EXCEPTIONS
  582|  1.38k|            stream.exceptions(std::ios::badbit);
  583|  1.38k|            try {
  584|  1.38k|#endif
  585|  1.38k|            stream.unsetf(std::ios::skipws);
  586|  1.38k|            lcast_set_precision(stream, static_cast<InputStreamable*>(0));
  587|       |
  588|  1.38k|            return (stream >> output)
  ------------------
  |  Branch (588:20): [True: 1.33k, False: 51]
  ------------------
  589|  1.38k|                && (stream.get() == Traits::eof());
  ------------------
  |  Branch (589:20): [True: 1.29k, False: 43]
  ------------------
  590|       |
  591|  1.38k|#ifndef BOOST_NO_EXCEPTIONS
  592|  1.38k|            } catch (const ::std::ios_base::failure& /*f*/) {
  593|      0|                return false;
  594|      0|            }
  595|  1.38k|#endif
  596|  1.38k|        }
_ZN5boost6detail5lcast16to_target_streamIcNSt3__111char_traitsIcEEE10stream_outIS5_NS3_9allocatorIcEEEEbRNS3_12basic_stringIcT_T0_EE:
  657|  1.31k|        bool stream_out(std::basic_string<CharT,CharTraits,Alloc>& str) {
  658|  1.31k|            str.assign(start, finish); return true;
  659|  1.31k|        }

_ZN5boost6detail13parse_inf_nanIcfEEbPKT_S4_RT0_:
  170|  4.62k|        bool parse_inf_nan(const CharT* begin, const CharT* end, T& value) noexcept {
  171|  4.62k|            return parse_inf_nan_impl(begin, end, value
  172|  4.62k|                               , "NAN", "nan"
  173|  4.62k|                               , "INFINITY", "infinity"
  174|  4.62k|                               , '(', ')');
  175|  4.62k|        }
_ZN5boost6detail18parse_inf_nan_implIcfEEbPKT_S4_RT0_S4_S4_S4_S4_S2_S2_:
   56|  4.62k|        {
   57|  4.62k|            if (begin == end) return false;
  ------------------
  |  Branch (57:17): [True: 3, False: 4.61k]
  ------------------
   58|  4.61k|            const CharT minus = lcast_char_constants<CharT>::minus;
   59|  4.61k|            const CharT plus = lcast_char_constants<CharT>::plus;
   60|  4.61k|            const int inifinity_size = 8; // == sizeof("infinity") - 1
   61|       |
   62|       |            /* Parsing +/- */
   63|  4.61k|            bool const has_minus = (*begin == minus);
   64|  4.61k|            if (has_minus || *begin == plus) {
  ------------------
  |  Branch (64:17): [True: 817, False: 3.80k]
  |  Branch (64:30): [True: 756, False: 3.04k]
  ------------------
   65|  1.57k|                ++ begin;
   66|  1.57k|            }
   67|       |
   68|  4.61k|            if (end - begin < 3) return false;
  ------------------
  |  Branch (68:17): [True: 1.39k, False: 3.22k]
  ------------------
   69|  3.22k|            if (lc_iequal(begin, lc_nan, lc_NAN, 3)) {
  ------------------
  |  Branch (69:17): [True: 1.22k, False: 2.00k]
  ------------------
   70|  1.22k|                begin += 3;
   71|  1.22k|                if (end != begin) {
  ------------------
  |  Branch (71:21): [True: 485, False: 737]
  ------------------
   72|       |                    /* It is 'nan(...)' or some bad input*/
   73|       |
   74|    485|                    if (end - begin < 2) return false; // bad input
  ------------------
  |  Branch (74:25): [True: 4, False: 481]
  ------------------
   75|    481|                    -- end;
   76|    481|                    if (*begin != opening_brace || *end != closing_brace) return false; // bad input
  ------------------
  |  Branch (76:25): [True: 12, False: 469]
  |  Branch (76:52): [True: 12, False: 457]
  ------------------
   77|    481|                }
   78|       |
   79|  1.19k|                if( !has_minus ) value = std::numeric_limits<T>::quiet_NaN();
  ------------------
  |  Branch (79:21): [True: 931, False: 263]
  ------------------
   80|    263|                else value = boost::core::copysign(std::numeric_limits<T>::quiet_NaN(), static_cast<T>(-1));
   81|  1.19k|                return true;
   82|  2.00k|            } else if (
   83|  2.00k|                ( /* 'INF' or 'inf' */
   84|  2.00k|                  end - begin == 3      // 3 == sizeof('inf') - 1
  ------------------
  |  Branch (84:19): [True: 1.04k, False: 959]
  ------------------
   85|  2.00k|                  && lc_iequal(begin, lc_infinity, lc_INFINITY, 3)
  ------------------
  |  Branch (85:22): [True: 222, False: 823]
  ------------------
   86|  2.00k|                )
   87|  2.00k|                ||
   88|  2.00k|                ( /* 'INFINITY' or 'infinity' */
   89|  1.78k|                  end - begin == inifinity_size
  ------------------
  |  Branch (89:19): [True: 273, False: 1.50k]
  ------------------
   90|  1.78k|                  && lc_iequal(begin, lc_infinity, lc_INFINITY, inifinity_size)
  ------------------
  |  Branch (90:22): [True: 181, False: 92]
  ------------------
   91|  1.78k|                )
   92|  2.00k|             )
   93|    403|            {
   94|    403|                if( !has_minus ) value = std::numeric_limits<T>::infinity();
  ------------------
  |  Branch (94:21): [True: 209, False: 194]
  ------------------
   95|    194|                else value = -std::numeric_limits<T>::infinity();
   96|    403|                return true;
   97|    403|            }
   98|       |
   99|  1.60k|            return false;
  100|  3.22k|        }
_ZN5boost6detail9lc_iequalIcEEbPKT_S4_S4_j:
   42|  8.42k|        bool lc_iequal(const CharT* val, const CharT* lcase, const CharT* ucase, unsigned int len) noexcept {
   43|  21.6k|            for( unsigned int i=0; i < len; ++i ) {
  ------------------
  |  Branch (43:36): [True: 17.9k, False: 3.72k]
  ------------------
   44|  17.9k|                if ( val[i] != lcase[i] && val[i] != ucase[i] ) return false;
  ------------------
  |  Branch (44:22): [True: 12.7k, False: 5.20k]
  |  Branch (44:44): [True: 4.70k, False: 8.00k]
  ------------------
   45|  17.9k|            }
   46|       |
   47|  3.72k|            return true;
   48|  8.42k|        }
_ZN5boost6detail13parse_inf_nanIcdEEbPKT_S4_RT0_:
  170|  3.46k|        bool parse_inf_nan(const CharT* begin, const CharT* end, T& value) noexcept {
  171|  3.46k|            return parse_inf_nan_impl(begin, end, value
  172|  3.46k|                               , "NAN", "nan"
  173|  3.46k|                               , "INFINITY", "infinity"
  174|  3.46k|                               , '(', ')');
  175|  3.46k|        }
_ZN5boost6detail18parse_inf_nan_implIcdEEbPKT_S4_RT0_S4_S4_S4_S4_S2_S2_:
   56|  3.46k|        {
   57|  3.46k|            if (begin == end) return false;
  ------------------
  |  Branch (57:17): [True: 1, False: 3.46k]
  ------------------
   58|  3.46k|            const CharT minus = lcast_char_constants<CharT>::minus;
   59|  3.46k|            const CharT plus = lcast_char_constants<CharT>::plus;
   60|  3.46k|            const int inifinity_size = 8; // == sizeof("infinity") - 1
   61|       |
   62|       |            /* Parsing +/- */
   63|  3.46k|            bool const has_minus = (*begin == minus);
   64|  3.46k|            if (has_minus || *begin == plus) {
  ------------------
  |  Branch (64:17): [True: 324, False: 3.14k]
  |  Branch (64:30): [True: 419, False: 2.72k]
  ------------------
   65|    743|                ++ begin;
   66|    743|            }
   67|       |
   68|  3.46k|            if (end - begin < 3) return false;
  ------------------
  |  Branch (68:17): [True: 532, False: 2.93k]
  ------------------
   69|  2.93k|            if (lc_iequal(begin, lc_nan, lc_NAN, 3)) {
  ------------------
  |  Branch (69:17): [True: 1.48k, False: 1.44k]
  ------------------
   70|  1.48k|                begin += 3;
   71|  1.48k|                if (end != begin) {
  ------------------
  |  Branch (71:21): [True: 560, False: 926]
  ------------------
   72|       |                    /* It is 'nan(...)' or some bad input*/
   73|       |
   74|    560|                    if (end - begin < 2) return false; // bad input
  ------------------
  |  Branch (74:25): [True: 2, False: 558]
  ------------------
   75|    558|                    -- end;
   76|    558|                    if (*begin != opening_brace || *end != closing_brace) return false; // bad input
  ------------------
  |  Branch (76:25): [True: 12, False: 546]
  |  Branch (76:52): [True: 4, False: 542]
  ------------------
   77|    558|                }
   78|       |
   79|  1.46k|                if( !has_minus ) value = std::numeric_limits<T>::quiet_NaN();
  ------------------
  |  Branch (79:21): [True: 1.38k, False: 86]
  ------------------
   80|     86|                else value = boost::core::copysign(std::numeric_limits<T>::quiet_NaN(), static_cast<T>(-1));
   81|  1.46k|                return true;
   82|  1.48k|            } else if (
   83|  1.44k|                ( /* 'INF' or 'inf' */
   84|  1.44k|                  end - begin == 3      // 3 == sizeof('inf') - 1
  ------------------
  |  Branch (84:19): [True: 679, False: 768]
  ------------------
   85|  1.44k|                  && lc_iequal(begin, lc_infinity, lc_INFINITY, 3)
  ------------------
  |  Branch (85:22): [True: 408, False: 271]
  ------------------
   86|  1.44k|                )
   87|  1.44k|                ||
   88|  1.44k|                ( /* 'INFINITY' or 'infinity' */
   89|  1.03k|                  end - begin == inifinity_size
  ------------------
  |  Branch (89:19): [True: 270, False: 769]
  ------------------
   90|  1.03k|                  && lc_iequal(begin, lc_infinity, lc_INFINITY, inifinity_size)
  ------------------
  |  Branch (90:22): [True: 206, False: 64]
  ------------------
   91|  1.03k|                )
   92|  1.44k|             )
   93|    614|            {
   94|    614|                if( !has_minus ) value = std::numeric_limits<T>::infinity();
  ------------------
  |  Branch (94:21): [True: 542, False: 72]
  ------------------
   95|     72|                else value = -std::numeric_limits<T>::infinity();
   96|    614|                return true;
   97|    614|            }
   98|       |
   99|    833|            return false;
  100|  2.93k|        }

_ZN5boost6detail18lcast_ret_unsignedINSt3__111char_traitsIcEEjcEC2ERjPKcS8_:
  170|  2.52k|                : m_multiplier_overflowed(false), m_multiplier(1), m_value(value), m_begin(begin), m_end(end)
  171|  2.52k|            {
  172|  2.52k|#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
  173|  2.52k|                static_assert(!std::numeric_limits<T>::is_signed, "");
  174|       |
  175|       |                // GCC when used with flag -std=c++0x may not have std::numeric_limits
  176|       |                // specializations for __int128 and unsigned __int128 types.
  177|       |                // Try compilation with -std=gnu++0x or -std=gnu++11.
  178|       |                //
  179|       |                // http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40856
  180|  2.52k|                static_assert(std::numeric_limits<T>::is_specialized,
  181|  2.52k|                    "std::numeric_limits are not specialized for integral type passed to boost::lexical_cast"
  182|  2.52k|                );
  183|  2.52k|#endif
  184|  2.52k|            }
_ZN5boost6detail18lcast_ret_unsignedINSt3__111char_traitsIcEEjcE7convertEv:
  186|  2.52k|            inline bool convert() {
  187|  2.52k|                CharT const czero = lcast_char_constants<CharT>::zero;
  188|  2.52k|                --m_end;
  189|  2.52k|                m_value = static_cast<T>(0);
  190|       |
  191|  2.52k|                if (m_begin > m_end || *m_end < czero || *m_end >= czero + 10)
  ------------------
  |  Branch (191:21): [True: 1, False: 2.52k]
  |  Branch (191:40): [True: 22, False: 2.50k]
  |  Branch (191:58): [True: 5, False: 2.49k]
  ------------------
  192|     28|                    return false;
  193|  2.49k|                m_value = static_cast<T>(*m_end - czero);
  194|  2.49k|                --m_end;
  195|       |
  196|       |#ifdef BOOST_LEXICAL_CAST_ASSUME_C_LOCALE
  197|       |                return main_convert_loop();
  198|       |#else
  199|  2.49k|                std::locale loc;
  200|  2.49k|                if (loc == std::locale::classic()) {
  ------------------
  |  Branch (200:21): [True: 2.49k, False: 0]
  ------------------
  201|  2.49k|                    return main_convert_loop();
  202|  2.49k|                }
  203|       |
  204|      0|                typedef std::numpunct<CharT> numpunct;
  205|      0|                numpunct const& np = BOOST_USE_FACET(numpunct, loc);
  206|      0|                std::string const& grouping = np.grouping();
  207|      0|                std::string::size_type const grouping_size = grouping.size();
  208|       |
  209|       |                /* According to Programming languages - C++
  210|       |                 * we MUST check for correct grouping
  211|       |                 */
  212|      0|                if (!grouping_size || grouping[0] <= 0) {
  ------------------
  |  Branch (212:21): [True: 0, False: 0]
  |  Branch (212:39): [True: 0, False: 0]
  ------------------
  213|      0|                    return main_convert_loop();
  214|      0|                }
  215|       |
  216|      0|                unsigned char current_grouping = 0;
  217|      0|                CharT const thousands_sep = np.thousands_sep();
  218|      0|                char remained = static_cast<char>(grouping[current_grouping] - 1);
  219|       |
  220|      0|                for (;m_end >= m_begin; --m_end)
  ------------------
  |  Branch (220:23): [True: 0, False: 0]
  ------------------
  221|      0|                {
  222|      0|                    if (remained) {
  ------------------
  |  Branch (222:25): [True: 0, False: 0]
  ------------------
  223|      0|                        if (!main_convert_iteration()) {
  ------------------
  |  Branch (223:29): [True: 0, False: 0]
  ------------------
  224|      0|                            return false;
  225|      0|                        }
  226|      0|                        --remained;
  227|      0|                    } else {
  228|      0|                        if ( !Traits::eq(*m_end, thousands_sep) ) //|| begin == end ) return false;
  ------------------
  |  Branch (228:30): [True: 0, False: 0]
  ------------------
  229|      0|                        {
  230|       |                            /*
  231|       |                             * According to Programming languages - C++
  232|       |                             * Digit grouping is checked. That is, the positions of discarded
  233|       |                             * separators is examined for consistency with
  234|       |                             * use_facet<numpunct<charT> >(loc ).grouping()
  235|       |                             *
  236|       |                             * BUT what if there is no separators at all and grouping()
  237|       |                             * is not empty? Well, we have no extraced separators, so we
  238|       |                             * won`t check them for consistency. This will allow us to
  239|       |                             * work with "C" locale from other locales
  240|       |                             */
  241|      0|                            return main_convert_loop();
  242|      0|                        } else {
  243|      0|                            if (m_begin == m_end) return false;
  ------------------
  |  Branch (243:33): [True: 0, False: 0]
  ------------------
  244|      0|                            if (current_grouping < grouping_size - 1) ++current_grouping;
  ------------------
  |  Branch (244:33): [True: 0, False: 0]
  ------------------
  245|      0|                            remained = grouping[current_grouping];
  246|      0|                        }
  247|      0|                    }
  248|      0|                } /*for*/
  249|       |
  250|      0|                return true;
  251|      0|#endif
  252|      0|            }
_ZN5boost6detail18lcast_ret_unsignedINSt3__111char_traitsIcEEjcE17main_convert_loopEv:
  285|  2.49k|            bool main_convert_loop() noexcept {
  286|  13.4k|                for ( ; m_end >= m_begin; --m_end) {
  ------------------
  |  Branch (286:25): [True: 10.9k, False: 2.45k]
  ------------------
  287|  10.9k|                    if (!main_convert_iteration()) {
  ------------------
  |  Branch (287:25): [True: 41, False: 10.9k]
  ------------------
  288|     41|                        return false;
  289|     41|                    }
  290|  10.9k|                }
  291|       |
  292|  2.45k|                return true;
  293|  2.49k|            }
_ZN5boost6detail18lcast_ret_unsignedINSt3__111char_traitsIcEEjcE22main_convert_iterationEv:
  260|  10.9k|            inline bool main_convert_iteration() noexcept {
  261|  10.9k|                CharT const czero = lcast_char_constants<CharT>::zero;
  262|  10.9k|                T const maxv = (std::numeric_limits<T>::max)();
  263|       |
  264|  10.9k|                m_multiplier_overflowed = m_multiplier_overflowed || (maxv/10 < m_multiplier);
  ------------------
  |  Branch (264:43): [True: 5.48k, False: 5.48k]
  |  Branch (264:70): [True: 231, False: 5.25k]
  ------------------
  265|  10.9k|                m_multiplier = static_cast<T>(m_multiplier * 10);
  266|       |
  267|  10.9k|                T const dig_value = static_cast<T>(*m_end - czero);
  268|  10.9k|                T const new_sub_value = static_cast<T>(m_multiplier * dig_value);
  269|       |
  270|       |                // We must correctly handle situations like `000000000000000000000000000001`.
  271|       |                // So we take care of overflow only if `dig_value` is not '0'.
  272|  10.9k|                if (*m_end < czero || *m_end >= czero + 10  // checking for correct digit
  ------------------
  |  Branch (272:21): [True: 25, False: 10.9k]
  |  Branch (272:39): [True: 9, False: 10.9k]
  ------------------
  273|  10.9k|                    || (dig_value && (                      // checking for overflow of ...
  ------------------
  |  Branch (273:25): [True: 3.10k, False: 7.83k]
  ------------------
  274|  3.10k|                        m_multiplier_overflowed                             // ... multiplier
  ------------------
  |  Branch (274:25): [True: 5, False: 3.09k]
  ------------------
  275|  3.10k|                        || static_cast<T>(maxv / dig_value) < m_multiplier  // ... subvalue
  ------------------
  |  Branch (275:28): [True: 1, False: 3.09k]
  ------------------
  276|  3.10k|                        || static_cast<T>(maxv - new_sub_value) < m_value   // ... whole expression
  ------------------
  |  Branch (276:28): [True: 1, False: 3.09k]
  ------------------
  277|  3.10k|                    ))
  278|  10.9k|                ) return false;
  279|       |
  280|  10.9k|                m_value = static_cast<T>(m_value + new_sub_value);
  281|       |
  282|  10.9k|                return true;
  283|  10.9k|            }
_ZN5boost6detail18lcast_ret_unsignedINSt3__111char_traitsIcEEmcEC2ERmPKcS8_:
  170|  2.76k|                : m_multiplier_overflowed(false), m_multiplier(1), m_value(value), m_begin(begin), m_end(end)
  171|  2.76k|            {
  172|  2.76k|#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
  173|  2.76k|                static_assert(!std::numeric_limits<T>::is_signed, "");
  174|       |
  175|       |                // GCC when used with flag -std=c++0x may not have std::numeric_limits
  176|       |                // specializations for __int128 and unsigned __int128 types.
  177|       |                // Try compilation with -std=gnu++0x or -std=gnu++11.
  178|       |                //
  179|       |                // http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40856
  180|  2.76k|                static_assert(std::numeric_limits<T>::is_specialized,
  181|  2.76k|                    "std::numeric_limits are not specialized for integral type passed to boost::lexical_cast"
  182|  2.76k|                );
  183|  2.76k|#endif
  184|  2.76k|            }
_ZN5boost6detail18lcast_ret_unsignedINSt3__111char_traitsIcEEmcE7convertEv:
  186|  2.76k|            inline bool convert() {
  187|  2.76k|                CharT const czero = lcast_char_constants<CharT>::zero;
  188|  2.76k|                --m_end;
  189|  2.76k|                m_value = static_cast<T>(0);
  190|       |
  191|  2.76k|                if (m_begin > m_end || *m_end < czero || *m_end >= czero + 10)
  ------------------
  |  Branch (191:21): [True: 1, False: 2.76k]
  |  Branch (191:40): [True: 6, False: 2.76k]
  |  Branch (191:58): [True: 5, False: 2.75k]
  ------------------
  192|     12|                    return false;
  193|  2.75k|                m_value = static_cast<T>(*m_end - czero);
  194|  2.75k|                --m_end;
  195|       |
  196|       |#ifdef BOOST_LEXICAL_CAST_ASSUME_C_LOCALE
  197|       |                return main_convert_loop();
  198|       |#else
  199|  2.75k|                std::locale loc;
  200|  2.75k|                if (loc == std::locale::classic()) {
  ------------------
  |  Branch (200:21): [True: 2.75k, False: 0]
  ------------------
  201|  2.75k|                    return main_convert_loop();
  202|  2.75k|                }
  203|       |
  204|      0|                typedef std::numpunct<CharT> numpunct;
  205|      0|                numpunct const& np = BOOST_USE_FACET(numpunct, loc);
  206|      0|                std::string const& grouping = np.grouping();
  207|      0|                std::string::size_type const grouping_size = grouping.size();
  208|       |
  209|       |                /* According to Programming languages - C++
  210|       |                 * we MUST check for correct grouping
  211|       |                 */
  212|      0|                if (!grouping_size || grouping[0] <= 0) {
  ------------------
  |  Branch (212:21): [True: 0, False: 0]
  |  Branch (212:39): [True: 0, False: 0]
  ------------------
  213|      0|                    return main_convert_loop();
  214|      0|                }
  215|       |
  216|      0|                unsigned char current_grouping = 0;
  217|      0|                CharT const thousands_sep = np.thousands_sep();
  218|      0|                char remained = static_cast<char>(grouping[current_grouping] - 1);
  219|       |
  220|      0|                for (;m_end >= m_begin; --m_end)
  ------------------
  |  Branch (220:23): [True: 0, False: 0]
  ------------------
  221|      0|                {
  222|      0|                    if (remained) {
  ------------------
  |  Branch (222:25): [True: 0, False: 0]
  ------------------
  223|      0|                        if (!main_convert_iteration()) {
  ------------------
  |  Branch (223:29): [True: 0, False: 0]
  ------------------
  224|      0|                            return false;
  225|      0|                        }
  226|      0|                        --remained;
  227|      0|                    } else {
  228|      0|                        if ( !Traits::eq(*m_end, thousands_sep) ) //|| begin == end ) return false;
  ------------------
  |  Branch (228:30): [True: 0, False: 0]
  ------------------
  229|      0|                        {
  230|       |                            /*
  231|       |                             * According to Programming languages - C++
  232|       |                             * Digit grouping is checked. That is, the positions of discarded
  233|       |                             * separators is examined for consistency with
  234|       |                             * use_facet<numpunct<charT> >(loc ).grouping()
  235|       |                             *
  236|       |                             * BUT what if there is no separators at all and grouping()
  237|       |                             * is not empty? Well, we have no extraced separators, so we
  238|       |                             * won`t check them for consistency. This will allow us to
  239|       |                             * work with "C" locale from other locales
  240|       |                             */
  241|      0|                            return main_convert_loop();
  242|      0|                        } else {
  243|      0|                            if (m_begin == m_end) return false;
  ------------------
  |  Branch (243:33): [True: 0, False: 0]
  ------------------
  244|      0|                            if (current_grouping < grouping_size - 1) ++current_grouping;
  ------------------
  |  Branch (244:33): [True: 0, False: 0]
  ------------------
  245|      0|                            remained = grouping[current_grouping];
  246|      0|                        }
  247|      0|                    }
  248|      0|                } /*for*/
  249|       |
  250|      0|                return true;
  251|      0|#endif
  252|      0|            }
_ZN5boost6detail18lcast_ret_unsignedINSt3__111char_traitsIcEEmcE17main_convert_loopEv:
  285|  2.75k|            bool main_convert_loop() noexcept {
  286|  15.9k|                for ( ; m_end >= m_begin; --m_end) {
  ------------------
  |  Branch (286:25): [True: 13.2k, False: 2.70k]
  ------------------
  287|  13.2k|                    if (!main_convert_iteration()) {
  ------------------
  |  Branch (287:25): [True: 48, False: 13.2k]
  ------------------
  288|     48|                        return false;
  289|     48|                    }
  290|  13.2k|                }
  291|       |
  292|  2.70k|                return true;
  293|  2.75k|            }
_ZN5boost6detail18lcast_ret_unsignedINSt3__111char_traitsIcEEmcE22main_convert_iterationEv:
  260|  13.2k|            inline bool main_convert_iteration() noexcept {
  261|  13.2k|                CharT const czero = lcast_char_constants<CharT>::zero;
  262|  13.2k|                T const maxv = (std::numeric_limits<T>::max)();
  263|       |
  264|  13.2k|                m_multiplier_overflowed = m_multiplier_overflowed || (maxv/10 < m_multiplier);
  ------------------
  |  Branch (264:43): [True: 3.13k, False: 10.1k]
  |  Branch (264:70): [True: 258, False: 9.88k]
  ------------------
  265|  13.2k|                m_multiplier = static_cast<T>(m_multiplier * 10);
  266|       |
  267|  13.2k|                T const dig_value = static_cast<T>(*m_end - czero);
  268|  13.2k|                T const new_sub_value = static_cast<T>(m_multiplier * dig_value);
  269|       |
  270|       |                // We must correctly handle situations like `000000000000000000000000000001`.
  271|       |                // So we take care of overflow only if `dig_value` is not '0'.
  272|  13.2k|                if (*m_end < czero || *m_end >= czero + 10  // checking for correct digit
  ------------------
  |  Branch (272:21): [True: 34, False: 13.2k]
  |  Branch (272:39): [True: 7, False: 13.2k]
  ------------------
  273|  13.2k|                    || (dig_value && (                      // checking for overflow of ...
  ------------------
  |  Branch (273:25): [True: 5.24k, False: 7.98k]
  ------------------
  274|  5.24k|                        m_multiplier_overflowed                             // ... multiplier
  ------------------
  |  Branch (274:25): [True: 4, False: 5.24k]
  ------------------
  275|  5.24k|                        || static_cast<T>(maxv / dig_value) < m_multiplier  // ... subvalue
  ------------------
  |  Branch (275:28): [True: 1, False: 5.24k]
  ------------------
  276|  5.24k|                        || static_cast<T>(maxv - new_sub_value) < m_value   // ... whole expression
  ------------------
  |  Branch (276:28): [True: 2, False: 5.24k]
  ------------------
  277|  5.24k|                    ))
  278|  13.2k|                ) return false;
  279|       |
  280|  13.2k|                m_value = static_cast<T>(m_value + new_sub_value);
  281|       |
  282|  13.2k|                return true;
  283|  13.2k|            }

_ZN5boost10conversion6detail19try_lexical_convertIbNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEEbRKT0_RT_:
   51|  6.85k|        {
   52|  6.85k|            static_assert(
   53|  6.85k|                !boost::is_volatile<Source>::value,
   54|  6.85k|                "Boost.LexicalCast does not support volatile input");
   55|       |
   56|  6.85k|            typedef typename boost::detail::array_to_pointer_decay<Source>::type src;
   57|       |
   58|  6.85k|            typedef boost::detail::is_arithmetic_and_not_xchars<Target, src >
   59|  6.85k|                shall_we_copy_with_dynamic_check_t;
   60|       |
   61|  6.85k|            typedef typename boost::conditional<
   62|  6.85k|                 shall_we_copy_with_dynamic_check_t::value,
   63|  6.85k|                 boost::detail::dynamic_num_converter_impl<Target, src >,
   64|  6.85k|                 boost::detail::lexical_converter_impl<Target, src >
   65|  6.85k|            >::type caster_type;
   66|       |
   67|  6.85k|            return caster_type::try_convert(arg, result);
   68|  6.85k|        }
_ZN5boost10conversion6detail19try_lexical_convertIiNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEEbRKT0_RT_:
   51|  2.53k|        {
   52|  2.53k|            static_assert(
   53|  2.53k|                !boost::is_volatile<Source>::value,
   54|  2.53k|                "Boost.LexicalCast does not support volatile input");
   55|       |
   56|  2.53k|            typedef typename boost::detail::array_to_pointer_decay<Source>::type src;
   57|       |
   58|  2.53k|            typedef boost::detail::is_arithmetic_and_not_xchars<Target, src >
   59|  2.53k|                shall_we_copy_with_dynamic_check_t;
   60|       |
   61|  2.53k|            typedef typename boost::conditional<
   62|  2.53k|                 shall_we_copy_with_dynamic_check_t::value,
   63|  2.53k|                 boost::detail::dynamic_num_converter_impl<Target, src >,
   64|  2.53k|                 boost::detail::lexical_converter_impl<Target, src >
   65|  2.53k|            >::type caster_type;
   66|       |
   67|  2.53k|            return caster_type::try_convert(arg, result);
   68|  2.53k|        }
_ZN5boost10conversion6detail19try_lexical_convertIlNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEEbRKT0_RT_:
   51|  2.77k|        {
   52|  2.77k|            static_assert(
   53|  2.77k|                !boost::is_volatile<Source>::value,
   54|  2.77k|                "Boost.LexicalCast does not support volatile input");
   55|       |
   56|  2.77k|            typedef typename boost::detail::array_to_pointer_decay<Source>::type src;
   57|       |
   58|  2.77k|            typedef boost::detail::is_arithmetic_and_not_xchars<Target, src >
   59|  2.77k|                shall_we_copy_with_dynamic_check_t;
   60|       |
   61|  2.77k|            typedef typename boost::conditional<
   62|  2.77k|                 shall_we_copy_with_dynamic_check_t::value,
   63|  2.77k|                 boost::detail::dynamic_num_converter_impl<Target, src >,
   64|  2.77k|                 boost::detail::lexical_converter_impl<Target, src >
   65|  2.77k|            >::type caster_type;
   66|       |
   67|  2.77k|            return caster_type::try_convert(arg, result);
   68|  2.77k|        }
_ZN5boost10conversion6detail19try_lexical_convertIfNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEEbRKT0_RT_:
   51|  4.62k|        {
   52|  4.62k|            static_assert(
   53|  4.62k|                !boost::is_volatile<Source>::value,
   54|  4.62k|                "Boost.LexicalCast does not support volatile input");
   55|       |
   56|  4.62k|            typedef typename boost::detail::array_to_pointer_decay<Source>::type src;
   57|       |
   58|  4.62k|            typedef boost::detail::is_arithmetic_and_not_xchars<Target, src >
   59|  4.62k|                shall_we_copy_with_dynamic_check_t;
   60|       |
   61|  4.62k|            typedef typename boost::conditional<
   62|  4.62k|                 shall_we_copy_with_dynamic_check_t::value,
   63|  4.62k|                 boost::detail::dynamic_num_converter_impl<Target, src >,
   64|  4.62k|                 boost::detail::lexical_converter_impl<Target, src >
   65|  4.62k|            >::type caster_type;
   66|       |
   67|  4.62k|            return caster_type::try_convert(arg, result);
   68|  4.62k|        }
_ZN5boost10conversion6detail19try_lexical_convertIdNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEEbRKT0_RT_:
   51|  3.46k|        {
   52|  3.46k|            static_assert(
   53|  3.46k|                !boost::is_volatile<Source>::value,
   54|  3.46k|                "Boost.LexicalCast does not support volatile input");
   55|       |
   56|  3.46k|            typedef typename boost::detail::array_to_pointer_decay<Source>::type src;
   57|       |
   58|  3.46k|            typedef boost::detail::is_arithmetic_and_not_xchars<Target, src >
   59|  3.46k|                shall_we_copy_with_dynamic_check_t;
   60|       |
   61|  3.46k|            typedef typename boost::conditional<
   62|  3.46k|                 shall_we_copy_with_dynamic_check_t::value,
   63|  3.46k|                 boost::detail::dynamic_num_converter_impl<Target, src >,
   64|  3.46k|                 boost::detail::lexical_converter_impl<Target, src >
   65|  3.46k|            >::type caster_type;
   66|       |
   67|  3.46k|            return caster_type::try_convert(arg, result);
   68|  3.46k|        }
_ZN5boost10conversion6detail19try_lexical_convertINSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEES9_EEbRKT0_RT_:
   51|  1.31k|        {
   52|  1.31k|            static_assert(
   53|  1.31k|                !boost::is_volatile<Source>::value,
   54|  1.31k|                "Boost.LexicalCast does not support volatile input");
   55|       |
   56|  1.31k|            typedef typename boost::detail::array_to_pointer_decay<Source>::type src;
   57|       |
   58|  1.31k|            typedef boost::detail::is_arithmetic_and_not_xchars<Target, src >
   59|  1.31k|                shall_we_copy_with_dynamic_check_t;
   60|       |
   61|  1.31k|            typedef typename boost::conditional<
   62|  1.31k|                 shall_we_copy_with_dynamic_check_t::value,
   63|  1.31k|                 boost::detail::dynamic_num_converter_impl<Target, src >,
   64|  1.31k|                 boost::detail::lexical_converter_impl<Target, src >
   65|  1.31k|            >::type caster_type;
   66|       |
   67|  1.31k|            return caster_type::try_convert(arg, result);
   68|  1.31k|        }

_ZN5boost3mpl3aux6unwrapINS_17mutate_graph_implINS_14adjacency_listINS_4vecSES5_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS9_11char_traitsIcEENS9_9allocatorIcEEEENS_11no_propertyEEENS7_INS_13edge_weight_tEdSG_EESG_NS_5listSEEEE12put_propertyIPSL_NS0_6vectorIbilfdSF_N4mpl_2naESR_SR_SR_SR_SR_SR_SR_SR_SR_SR_SR_SR_SR_EEEEEERT_SV_l:
   27|  80.3k|{
   28|  80.3k|    return f;
   29|  80.3k|}
_ZN5boost3mpl3aux6unwrapINS_17mutate_graph_implINS_14adjacency_listINS_4vecSES5_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS9_11char_traitsIcEENS9_9allocatorIcEEEENS_11no_propertyEEENS7_INS_13edge_weight_tEdSG_EESG_NS_5listSEEEE12put_propertyImNS0_6vectorIbilfdSF_N4mpl_2naESQ_SQ_SQ_SQ_SQ_SQ_SQ_SQ_SQ_SQ_SQ_SQ_SQ_EEEEEERT_SU_l:
   27|  48.8k|{
   28|  48.8k|    return f;
   29|  48.8k|}

_ZN5boost3mpl8for_eachINS0_6vectorIbilfdNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEN4mpl_2naESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EENS_17mutate_graph_implINS_14adjacency_listINS_4vecSESF_NS_9directedSENS_8propertyINS_13vertex_name_tES9_NS_11no_propertyEEENSH_INS_13edge_weight_tEdSJ_EESJ_NS_5listSEEEE12put_propertyIPSO_SC_EEEEvT0_PT_:
  115|  13.6k|{
  116|       |  // jfalcou: fully qualifying this call so it doesnt clash with phoenix::for_each
  117|       |  // ons ome compilers -- done on 02/28/2011
  118|  13.6k|  boost::mpl::for_each<Sequence, identity<> >(f);
  119|  13.6k|}
_ZN5boost3mpl8for_eachINS0_6vectorIbilfdNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEN4mpl_2naESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EENS0_8identityISB_EENS_17mutate_graph_implINS_14adjacency_listINS_4vecSESH_NS_9directedSENS_8propertyINS_13vertex_name_tES9_NS_11no_propertyEEENSJ_INS_13edge_weight_tEdSL_EESL_NS_5listSEEEE12put_propertyIPSQ_SC_EEEEvT1_PT_PT0_:
   98|  13.6k|{
   99|  13.6k|    BOOST_MPL_ASSERT(( is_sequence<Sequence> ));
  ------------------
  |  |  295|  13.6k|#define BOOST_MPL_ASSERT(pred) \
  |  |  ------------------
  |  |  |  |   60|  13.6k|#   define BOOST_MPL_AUX_ASSERT_CONSTANT(T, expr) enum { expr }
  |  |  ------------------
  |  |  296|  13.6k|BOOST_MPL_AUX_ASSERT_CONSTANT( \
  |  |  297|  13.6k|      std::size_t \
  |  |  298|  13.6k|    , BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \
  |  |  299|  13.6k|          boost::mpl::assertion_failed<false>( \
  |  |  300|  13.6k|              boost::mpl::assert_arg( (void (*) pred)BOOST_NULLPTR, 1 ) \
  |  |  301|  13.6k|            ) \
  |  |  302|  13.6k|        ) \
  |  |  303|  13.6k|    ) \
  ------------------
  100|       |
  101|  13.6k|    typedef typename begin<Sequence>::type first;
  102|  13.6k|    typedef typename end<Sequence>::type last;
  103|       |
  104|  13.6k|    aux::for_each_impl< boost::is_same<first,last>::value >
  105|  13.6k|        ::execute(static_cast<first*>(0), static_cast<last*>(0), static_cast<TransformOp*>(0), f);
  106|  13.6k|}
_ZN5boost3mpl3aux13for_each_implILb0EE7executeINS0_6v_iterINS0_6vectorIbilfdNSt3__112basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEEN4mpl_2naESF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_EELl0EEENS5_ISG_Ll6EEENS0_8identityISF_EENS_17mutate_graph_implINS_14adjacency_listINS_4vecSESN_NS_9directedSENS_8propertyINS_13vertex_name_tESD_NS_11no_propertyEEENSP_INS_13edge_weight_tEdSR_EESR_NS_5listSEEEE12put_propertyIPSW_SG_EEEEvPT_PT0_PT1_T2_:
   71|  13.6k|    {
   72|  13.6k|        typedef typename deref<Iterator>::type item;
   73|  13.6k|        typedef typename apply1<TransformFunc,item>::type arg;
   74|       |    
   75|       |        // dwa 2002/9/10 -- make sure not to invoke undefined behavior
   76|       |        // when we pass arg.
   77|  13.6k|        value_initialized<arg> x;
   78|  13.6k|        aux::unwrap(f, 0)(boost::get(x));
   79|       |        
   80|  13.6k|        typedef typename mpl::next<Iterator>::type iter;
   81|  13.6k|        for_each_impl<boost::is_same<iter,LastIterator>::value>
   82|  13.6k|            ::execute( static_cast<iter*>(0), static_cast<LastIterator*>(0), static_cast<TransformFunc*>(0), f);
   83|  13.6k|    }
_ZN5boost3mpl3aux13for_each_implILb0EE7executeINS0_6v_iterINS0_6vectorIbilfdNSt3__112basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEEN4mpl_2naESF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_EELl1EEENS5_ISG_Ll6EEENS0_8identityISF_EENS_17mutate_graph_implINS_14adjacency_listINS_4vecSESN_NS_9directedSENS_8propertyINS_13vertex_name_tESD_NS_11no_propertyEEENSP_INS_13edge_weight_tEdSR_EESR_NS_5listSEEEE12put_propertyIPSW_SG_EEEEvPT_PT0_PT1_T2_:
   71|  13.5k|    {
   72|  13.5k|        typedef typename deref<Iterator>::type item;
   73|  13.5k|        typedef typename apply1<TransformFunc,item>::type arg;
   74|       |    
   75|       |        // dwa 2002/9/10 -- make sure not to invoke undefined behavior
   76|       |        // when we pass arg.
   77|  13.5k|        value_initialized<arg> x;
   78|  13.5k|        aux::unwrap(f, 0)(boost::get(x));
   79|       |        
   80|  13.5k|        typedef typename mpl::next<Iterator>::type iter;
   81|  13.5k|        for_each_impl<boost::is_same<iter,LastIterator>::value>
   82|  13.5k|            ::execute( static_cast<iter*>(0), static_cast<LastIterator*>(0), static_cast<TransformFunc*>(0), f);
   83|  13.5k|    }
_ZN5boost3mpl3aux13for_each_implILb0EE7executeINS0_6v_iterINS0_6vectorIbilfdNSt3__112basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEEN4mpl_2naESF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_EELl2EEENS5_ISG_Ll6EEENS0_8identityISF_EENS_17mutate_graph_implINS_14adjacency_listINS_4vecSESN_NS_9directedSENS_8propertyINS_13vertex_name_tESD_NS_11no_propertyEEENSP_INS_13edge_weight_tEdSR_EESR_NS_5listSEEEE12put_propertyIPSW_SG_EEEEvPT_PT0_PT1_T2_:
   71|  13.4k|    {
   72|  13.4k|        typedef typename deref<Iterator>::type item;
   73|  13.4k|        typedef typename apply1<TransformFunc,item>::type arg;
   74|       |    
   75|       |        // dwa 2002/9/10 -- make sure not to invoke undefined behavior
   76|       |        // when we pass arg.
   77|  13.4k|        value_initialized<arg> x;
   78|  13.4k|        aux::unwrap(f, 0)(boost::get(x));
   79|       |        
   80|  13.4k|        typedef typename mpl::next<Iterator>::type iter;
   81|  13.4k|        for_each_impl<boost::is_same<iter,LastIterator>::value>
   82|  13.4k|            ::execute( static_cast<iter*>(0), static_cast<LastIterator*>(0), static_cast<TransformFunc*>(0), f);
   83|  13.4k|    }
_ZN5boost3mpl3aux13for_each_implILb0EE7executeINS0_6v_iterINS0_6vectorIbilfdNSt3__112basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEEN4mpl_2naESF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_EELl3EEENS5_ISG_Ll6EEENS0_8identityISF_EENS_17mutate_graph_implINS_14adjacency_listINS_4vecSESN_NS_9directedSENS_8propertyINS_13vertex_name_tESD_NS_11no_propertyEEENSP_INS_13edge_weight_tEdSR_EESR_NS_5listSEEEE12put_propertyIPSW_SG_EEEEvPT_PT0_PT1_T2_:
   71|  13.3k|    {
   72|  13.3k|        typedef typename deref<Iterator>::type item;
   73|  13.3k|        typedef typename apply1<TransformFunc,item>::type arg;
   74|       |    
   75|       |        // dwa 2002/9/10 -- make sure not to invoke undefined behavior
   76|       |        // when we pass arg.
   77|  13.3k|        value_initialized<arg> x;
   78|  13.3k|        aux::unwrap(f, 0)(boost::get(x));
   79|       |        
   80|  13.3k|        typedef typename mpl::next<Iterator>::type iter;
   81|  13.3k|        for_each_impl<boost::is_same<iter,LastIterator>::value>
   82|  13.3k|            ::execute( static_cast<iter*>(0), static_cast<LastIterator*>(0), static_cast<TransformFunc*>(0), f);
   83|  13.3k|    }
_ZN5boost3mpl3aux13for_each_implILb0EE7executeINS0_6v_iterINS0_6vectorIbilfdNSt3__112basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEEN4mpl_2naESF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_EELl4EEENS5_ISG_Ll6EEENS0_8identityISF_EENS_17mutate_graph_implINS_14adjacency_listINS_4vecSESN_NS_9directedSENS_8propertyINS_13vertex_name_tESD_NS_11no_propertyEEENSP_INS_13edge_weight_tEdSR_EESR_NS_5listSEEEE12put_propertyIPSW_SG_EEEEvPT_PT0_PT1_T2_:
   71|  13.2k|    {
   72|  13.2k|        typedef typename deref<Iterator>::type item;
   73|  13.2k|        typedef typename apply1<TransformFunc,item>::type arg;
   74|       |    
   75|       |        // dwa 2002/9/10 -- make sure not to invoke undefined behavior
   76|       |        // when we pass arg.
   77|  13.2k|        value_initialized<arg> x;
   78|  13.2k|        aux::unwrap(f, 0)(boost::get(x));
   79|       |        
   80|  13.2k|        typedef typename mpl::next<Iterator>::type iter;
   81|  13.2k|        for_each_impl<boost::is_same<iter,LastIterator>::value>
   82|  13.2k|            ::execute( static_cast<iter*>(0), static_cast<LastIterator*>(0), static_cast<TransformFunc*>(0), f);
   83|  13.2k|    }
_ZN5boost3mpl3aux13for_each_implILb0EE7executeINS0_6v_iterINS0_6vectorIbilfdNSt3__112basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEEN4mpl_2naESF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_EELl5EEENS5_ISG_Ll6EEENS0_8identityISF_EENS_17mutate_graph_implINS_14adjacency_listINS_4vecSESN_NS_9directedSENS_8propertyINS_13vertex_name_tESD_NS_11no_propertyEEENSP_INS_13edge_weight_tEdSR_EESR_NS_5listSEEEE12put_propertyIPSW_SG_EEEEvPT_PT0_PT1_T2_:
   71|  13.1k|    {
   72|  13.1k|        typedef typename deref<Iterator>::type item;
   73|  13.1k|        typedef typename apply1<TransformFunc,item>::type arg;
   74|       |    
   75|       |        // dwa 2002/9/10 -- make sure not to invoke undefined behavior
   76|       |        // when we pass arg.
   77|  13.1k|        value_initialized<arg> x;
   78|  13.1k|        aux::unwrap(f, 0)(boost::get(x));
   79|       |        
   80|  13.1k|        typedef typename mpl::next<Iterator>::type iter;
   81|  13.1k|        for_each_impl<boost::is_same<iter,LastIterator>::value>
   82|  13.1k|            ::execute( static_cast<iter*>(0), static_cast<LastIterator*>(0), static_cast<TransformFunc*>(0), f);
   83|  13.1k|    }
_ZN5boost3mpl3aux13for_each_implILb1EE7executeINS0_6v_iterINS0_6vectorIbilfdNSt3__112basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEEN4mpl_2naESF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_EELl6EEESH_NS0_8identityISF_EENS_17mutate_graph_implINS_14adjacency_listINS_4vecSESM_NS_9directedSENS_8propertyINS_13vertex_name_tESD_NS_11no_propertyEEENSO_INS_13edge_weight_tEdSQ_EESQ_NS_5listSEEEE12put_propertyIPSV_SG_EEEEvPT_PT0_PT1_T2_:
   51|  13.1k|    {
   52|  13.1k|    }
_ZN5boost3mpl8for_eachINS0_6vectorIbilfdNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEN4mpl_2naESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EENS_17mutate_graph_implINS_14adjacency_listINS_4vecSESF_NS_9directedSENS_8propertyINS_13vertex_name_tES9_NS_11no_propertyEEENSH_INS_13edge_weight_tEdSJ_EESJ_NS_5listSEEEE12put_propertyImSC_EEEEvT0_PT_:
  115|  8.19k|{
  116|       |  // jfalcou: fully qualifying this call so it doesnt clash with phoenix::for_each
  117|       |  // ons ome compilers -- done on 02/28/2011
  118|  8.19k|  boost::mpl::for_each<Sequence, identity<> >(f);
  119|  8.19k|}
_ZN5boost3mpl8for_eachINS0_6vectorIbilfdNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEN4mpl_2naESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EENS0_8identityISB_EENS_17mutate_graph_implINS_14adjacency_listINS_4vecSESH_NS_9directedSENS_8propertyINS_13vertex_name_tES9_NS_11no_propertyEEENSJ_INS_13edge_weight_tEdSL_EESL_NS_5listSEEEE12put_propertyImSC_EEEEvT1_PT_PT0_:
   98|  8.19k|{
   99|  8.19k|    BOOST_MPL_ASSERT(( is_sequence<Sequence> ));
  ------------------
  |  |  295|  8.19k|#define BOOST_MPL_ASSERT(pred) \
  |  |  ------------------
  |  |  |  |   60|  8.19k|#   define BOOST_MPL_AUX_ASSERT_CONSTANT(T, expr) enum { expr }
  |  |  ------------------
  |  |  296|  8.19k|BOOST_MPL_AUX_ASSERT_CONSTANT( \
  |  |  297|  8.19k|      std::size_t \
  |  |  298|  8.19k|    , BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \
  |  |  299|  8.19k|          boost::mpl::assertion_failed<false>( \
  |  |  300|  8.19k|              boost::mpl::assert_arg( (void (*) pred)BOOST_NULLPTR, 1 ) \
  |  |  301|  8.19k|            ) \
  |  |  302|  8.19k|        ) \
  |  |  303|  8.19k|    ) \
  ------------------
  100|       |
  101|  8.19k|    typedef typename begin<Sequence>::type first;
  102|  8.19k|    typedef typename end<Sequence>::type last;
  103|       |
  104|  8.19k|    aux::for_each_impl< boost::is_same<first,last>::value >
  105|  8.19k|        ::execute(static_cast<first*>(0), static_cast<last*>(0), static_cast<TransformOp*>(0), f);
  106|  8.19k|}
_ZN5boost3mpl3aux13for_each_implILb0EE7executeINS0_6v_iterINS0_6vectorIbilfdNSt3__112basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEEN4mpl_2naESF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_EELl0EEENS5_ISG_Ll6EEENS0_8identityISF_EENS_17mutate_graph_implINS_14adjacency_listINS_4vecSESN_NS_9directedSENS_8propertyINS_13vertex_name_tESD_NS_11no_propertyEEENSP_INS_13edge_weight_tEdSR_EESR_NS_5listSEEEE12put_propertyImSG_EEEEvPT_PT0_PT1_T2_:
   71|  8.19k|    {
   72|  8.19k|        typedef typename deref<Iterator>::type item;
   73|  8.19k|        typedef typename apply1<TransformFunc,item>::type arg;
   74|       |    
   75|       |        // dwa 2002/9/10 -- make sure not to invoke undefined behavior
   76|       |        // when we pass arg.
   77|  8.19k|        value_initialized<arg> x;
   78|  8.19k|        aux::unwrap(f, 0)(boost::get(x));
   79|       |        
   80|  8.19k|        typedef typename mpl::next<Iterator>::type iter;
   81|  8.19k|        for_each_impl<boost::is_same<iter,LastIterator>::value>
   82|  8.19k|            ::execute( static_cast<iter*>(0), static_cast<LastIterator*>(0), static_cast<TransformFunc*>(0), f);
   83|  8.19k|    }
_ZN5boost3mpl3aux13for_each_implILb0EE7executeINS0_6v_iterINS0_6vectorIbilfdNSt3__112basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEEN4mpl_2naESF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_EELl1EEENS5_ISG_Ll6EEENS0_8identityISF_EENS_17mutate_graph_implINS_14adjacency_listINS_4vecSESN_NS_9directedSENS_8propertyINS_13vertex_name_tESD_NS_11no_propertyEEENSP_INS_13edge_weight_tEdSR_EESR_NS_5listSEEEE12put_propertyImSG_EEEEvPT_PT0_PT1_T2_:
   71|  8.13k|    {
   72|  8.13k|        typedef typename deref<Iterator>::type item;
   73|  8.13k|        typedef typename apply1<TransformFunc,item>::type arg;
   74|       |    
   75|       |        // dwa 2002/9/10 -- make sure not to invoke undefined behavior
   76|       |        // when we pass arg.
   77|  8.13k|        value_initialized<arg> x;
   78|  8.13k|        aux::unwrap(f, 0)(boost::get(x));
   79|       |        
   80|  8.13k|        typedef typename mpl::next<Iterator>::type iter;
   81|  8.13k|        for_each_impl<boost::is_same<iter,LastIterator>::value>
   82|  8.13k|            ::execute( static_cast<iter*>(0), static_cast<LastIterator*>(0), static_cast<TransformFunc*>(0), f);
   83|  8.13k|    }
_ZN5boost3mpl3aux13for_each_implILb0EE7executeINS0_6v_iterINS0_6vectorIbilfdNSt3__112basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEEN4mpl_2naESF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_EELl2EEENS5_ISG_Ll6EEENS0_8identityISF_EENS_17mutate_graph_implINS_14adjacency_listINS_4vecSESN_NS_9directedSENS_8propertyINS_13vertex_name_tESD_NS_11no_propertyEEENSP_INS_13edge_weight_tEdSR_EESR_NS_5listSEEEE12put_propertyImSG_EEEEvPT_PT0_PT1_T2_:
   71|  8.12k|    {
   72|  8.12k|        typedef typename deref<Iterator>::type item;
   73|  8.12k|        typedef typename apply1<TransformFunc,item>::type arg;
   74|       |    
   75|       |        // dwa 2002/9/10 -- make sure not to invoke undefined behavior
   76|       |        // when we pass arg.
   77|  8.12k|        value_initialized<arg> x;
   78|  8.12k|        aux::unwrap(f, 0)(boost::get(x));
   79|       |        
   80|  8.12k|        typedef typename mpl::next<Iterator>::type iter;
   81|  8.12k|        for_each_impl<boost::is_same<iter,LastIterator>::value>
   82|  8.12k|            ::execute( static_cast<iter*>(0), static_cast<LastIterator*>(0), static_cast<TransformFunc*>(0), f);
   83|  8.12k|    }
_ZN5boost3mpl3aux13for_each_implILb0EE7executeINS0_6v_iterINS0_6vectorIbilfdNSt3__112basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEEN4mpl_2naESF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_EELl3EEENS5_ISG_Ll6EEENS0_8identityISF_EENS_17mutate_graph_implINS_14adjacency_listINS_4vecSESN_NS_9directedSENS_8propertyINS_13vertex_name_tESD_NS_11no_propertyEEENSP_INS_13edge_weight_tEdSR_EESR_NS_5listSEEEE12put_propertyImSG_EEEEvPT_PT0_PT1_T2_:
   71|  8.12k|    {
   72|  8.12k|        typedef typename deref<Iterator>::type item;
   73|  8.12k|        typedef typename apply1<TransformFunc,item>::type arg;
   74|       |    
   75|       |        // dwa 2002/9/10 -- make sure not to invoke undefined behavior
   76|       |        // when we pass arg.
   77|  8.12k|        value_initialized<arg> x;
   78|  8.12k|        aux::unwrap(f, 0)(boost::get(x));
   79|       |        
   80|  8.12k|        typedef typename mpl::next<Iterator>::type iter;
   81|  8.12k|        for_each_impl<boost::is_same<iter,LastIterator>::value>
   82|  8.12k|            ::execute( static_cast<iter*>(0), static_cast<LastIterator*>(0), static_cast<TransformFunc*>(0), f);
   83|  8.12k|    }
_ZN5boost3mpl3aux13for_each_implILb0EE7executeINS0_6v_iterINS0_6vectorIbilfdNSt3__112basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEEN4mpl_2naESF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_EELl4EEENS5_ISG_Ll6EEENS0_8identityISF_EENS_17mutate_graph_implINS_14adjacency_listINS_4vecSESN_NS_9directedSENS_8propertyINS_13vertex_name_tESD_NS_11no_propertyEEENSP_INS_13edge_weight_tEdSR_EESR_NS_5listSEEEE12put_propertyImSG_EEEEvPT_PT0_PT1_T2_:
   71|  8.12k|    {
   72|  8.12k|        typedef typename deref<Iterator>::type item;
   73|  8.12k|        typedef typename apply1<TransformFunc,item>::type arg;
   74|       |    
   75|       |        // dwa 2002/9/10 -- make sure not to invoke undefined behavior
   76|       |        // when we pass arg.
   77|  8.12k|        value_initialized<arg> x;
   78|  8.12k|        aux::unwrap(f, 0)(boost::get(x));
   79|       |        
   80|  8.12k|        typedef typename mpl::next<Iterator>::type iter;
   81|  8.12k|        for_each_impl<boost::is_same<iter,LastIterator>::value>
   82|  8.12k|            ::execute( static_cast<iter*>(0), static_cast<LastIterator*>(0), static_cast<TransformFunc*>(0), f);
   83|  8.12k|    }
_ZN5boost3mpl3aux13for_each_implILb0EE7executeINS0_6v_iterINS0_6vectorIbilfdNSt3__112basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEEN4mpl_2naESF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_EELl5EEENS5_ISG_Ll6EEENS0_8identityISF_EENS_17mutate_graph_implINS_14adjacency_listINS_4vecSESN_NS_9directedSENS_8propertyINS_13vertex_name_tESD_NS_11no_propertyEEENSP_INS_13edge_weight_tEdSR_EESR_NS_5listSEEEE12put_propertyImSG_EEEEvPT_PT0_PT1_T2_:
   71|  8.11k|    {
   72|  8.11k|        typedef typename deref<Iterator>::type item;
   73|  8.11k|        typedef typename apply1<TransformFunc,item>::type arg;
   74|       |    
   75|       |        // dwa 2002/9/10 -- make sure not to invoke undefined behavior
   76|       |        // when we pass arg.
   77|  8.11k|        value_initialized<arg> x;
   78|  8.11k|        aux::unwrap(f, 0)(boost::get(x));
   79|       |        
   80|  8.11k|        typedef typename mpl::next<Iterator>::type iter;
   81|  8.11k|        for_each_impl<boost::is_same<iter,LastIterator>::value>
   82|  8.11k|            ::execute( static_cast<iter*>(0), static_cast<LastIterator*>(0), static_cast<TransformFunc*>(0), f);
   83|  8.11k|    }
_ZN5boost3mpl3aux13for_each_implILb1EE7executeINS0_6v_iterINS0_6vectorIbilfdNSt3__112basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEEN4mpl_2naESF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_EELl6EEESH_NS0_8identityISF_EENS_17mutate_graph_implINS_14adjacency_listINS_4vecSESM_NS_9directedSENS_8propertyINS_13vertex_name_tESD_NS_11no_propertyEEENSO_INS_13edge_weight_tEdSQ_EESQ_NS_5listSEEEE12put_propertyImSG_EEEEvPT_PT0_PT1_T2_:
   51|  8.11k|    {
   52|  8.11k|    }

_ZN5boost11multi_index6detail10auto_spaceINS1_14copy_map_entryINS1_20sequenced_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS8_12basic_stringIcNS8_11char_traitsIcEENS8_9allocatorIcEEEENS_13property_tree11basic_ptreeISF_SF_NS8_4lessISF_EEEEEENSD_ISM_EEEEEEEEEESN_EC2ERKSN_m:
   57|  21.7M|  al_(al),n_(n),data_(n_?alloc_traits::allocate(al_,n_):pointer(0))
  ------------------
  |  Branch (57:23): [True: 193k, False: 21.5M]
  ------------------
   58|  21.7M|  {}
_ZNK5boost11multi_index6detail10auto_spaceINS1_14copy_map_entryINS1_20sequenced_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS8_12basic_stringIcNS8_11char_traitsIcEENS8_9allocatorIcEEEENS_13property_tree11basic_ptreeISF_SF_NS8_4lessISF_EEEEEENSD_ISM_EEEEEEEEEESN_E4dataEv:
   64|  39.5M|  pointer data()const{return data_;}
_ZN5boost11multi_index6detail10auto_spaceINS1_14copy_map_entryINS1_20sequenced_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS8_12basic_stringIcNS8_11char_traitsIcEENS8_9allocatorIcEEEENS_13property_tree11basic_ptreeISF_SF_NS8_4lessISF_EEEEEENSD_ISM_EEEEEEEEEESN_ED2Ev:
   60|  21.7M|  ~auto_space(){if(n_)alloc_traits::deallocate(al_,data_,n_);}
  ------------------
  |  Branch (60:20): [True: 193k, False: 21.5M]
  ------------------

_ZNK5boost11multi_index6detail19bidir_node_iteratorINS1_20sequenced_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS7_12basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEENS_13property_tree11basic_ptreeISE_SE_NS7_4lessISE_EEEEEENSC_ISL_EEEEEEEEE8get_nodeEv:
   97|  72.6M|  Node* get_node()const{return node;}
_ZN5boost11multi_index6detail19bidir_node_iteratorINS1_20sequenced_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS7_12basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEENS_13property_tree11basic_ptreeISE_SE_NS7_4lessISE_EEEEEENSC_ISL_EEEEEEEEEC2EPSP_:
   45|  54.5M|  explicit bidir_node_iterator(Node* node_):node(node_){}
_ZNK5boost11multi_index6detail19bidir_node_iteratorINS1_20sequenced_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS7_12basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEENS_13property_tree11basic_ptreeISE_SE_NS7_4lessISE_EEEEEENSC_ISL_EEEEEEEEEdeEv:
   48|  9.10M|  {
   49|  9.10M|    return node->value();
   50|  9.10M|  }
_ZN5boost11multi_index6detail19bidir_node_iteratorINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS6_12basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS_13property_tree11basic_ptreeISD_SD_NS6_4lessISD_EEEEEENSB_ISK_EEEEEEEC2EPSN_:
   45|   402k|  explicit bidir_node_iterator(Node* node_):node(node_){}
_ZN5boost11multi_index6detaileqINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS6_12basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS_13property_tree11basic_ptreeISD_SD_NS6_4lessISD_EEEEEENSB_ISK_EEEEEEEEbRKNS1_19bidir_node_iteratorIT_EESS_:
  107|   201k|{
  108|   201k|  return x.get_node()==y.get_node();
  109|   201k|}
_ZNK5boost11multi_index6detail19bidir_node_iteratorINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS6_12basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS_13property_tree11basic_ptreeISD_SD_NS6_4lessISD_EEEEEENSB_ISK_EEEEEEE8get_nodeEv:
   97|   402k|  Node* get_node()const{return node;}
_ZNK5boost11multi_index6detail19bidir_node_iteratorINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS6_12basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS_13property_tree11basic_ptreeISD_SD_NS6_4lessISD_EEEEEENSB_ISK_EEEEEEEdeEv:
   48|   149k|  {
   49|   149k|    return node->value();
   50|   149k|  }
_ZN5boost11multi_index6detaileqINS1_20sequenced_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS7_12basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEENS_13property_tree11basic_ptreeISE_SE_NS7_4lessISE_EEEEEENSC_ISL_EEEEEEEEEEbRKNS1_19bidir_node_iteratorIT_EESU_:
  107|  30.8M|{
  108|  30.8M|  return x.get_node()==y.get_node();
  109|  30.8M|}
_ZN5boost11multi_index6detail19bidir_node_iteratorINS1_20sequenced_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS7_12basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEENS_13property_tree11basic_ptreeISE_SE_NS7_4lessISE_EEEEEENSC_ISL_EEEEEEEEEppEv:
   53|  9.08M|  {
   54|  9.08M|    Node::increment(node);
   55|  9.08M|    return *this;
   56|  9.08M|  }

_ZN5boost11multi_index6detail8copy_mapINS1_20sequenced_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS7_12basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEENS_13property_tree11basic_ptreeISE_SE_NS7_4lessISE_EEEEEENSC_ISL_EEEEEEEESM_EC2ERKSM_mPSP_ST_:
   87|  21.7M|    al_(al),size_(size),spc(al_,size_),n(0),
   88|  21.7M|    header_org_(header_org),header_cpy_(header_cpy),released(false)
   89|  21.7M|  {}
_ZN5boost11multi_index6detail8copy_mapINS1_20sequenced_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS7_12basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEENS_13property_tree11basic_ptreeISE_SE_NS7_4lessISE_EEEEEENSC_ISL_EEEEEEEESM_E10copy_cloneEPSP_:
  105|  5.43M|  void copy_clone(Node* node){clone(node,copy_map_value_copier());}
_ZN5boost11multi_index6detail8copy_mapINS1_20sequenced_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS7_12basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEENS_13property_tree11basic_ptreeISE_SE_NS7_4lessISE_EEEEEENSC_ISL_EEEEEEEESM_E5cloneINS1_21copy_map_value_copierEEEvPSP_T_:
  141|  5.43M|  {
  142|  5.43M|    (spc.data()+n)->first=node;
  143|  5.43M|    (spc.data()+n)->second=raw_ptr<Node*>(allocate());
  144|  5.43M|    BOOST_TRY{
  ------------------
  |  |   27|  5.43M|#    define BOOST_TRY { try
  ------------------
  145|  5.43M|      alloc_traits::construct(
  146|  5.43M|        al_,boost::addressof((spc.data()+n)->second->value()),
  147|  5.43M|        access(node->value()));
  148|  5.43M|    }
  149|  5.43M|    BOOST_CATCH(...){
  150|      0|      deallocate((spc.data()+n)->second);
  151|      0|      BOOST_RETHROW;
  ------------------
  |  |   29|      0|#    define BOOST_RETHROW throw;
  ------------------
  152|      0|    }
  153|  5.43M|    BOOST_CATCH_END
  ------------------
  |  |   30|  5.43M|#    define BOOST_CATCH_END }
  ------------------
  154|  5.43M|    ++n;
  155|       |
  156|  5.43M|    if(n==size_){
  ------------------
  |  Branch (156:8): [True: 193k, False: 5.24M]
  ------------------
  157|   193k|      std::sort(
  158|   193k|        raw_ptr<copy_map_entry<Node>*>(spc.data()),
  159|   193k|        raw_ptr<copy_map_entry<Node>*>(spc.data())+size_);
  160|   193k|    }
  161|  5.43M|  }
_ZN5boost11multi_index6detail8copy_mapINS1_20sequenced_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS7_12basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEENS_13property_tree11basic_ptreeISE_SE_NS7_4lessISE_EEEEEENSC_ISL_EEEEEEEESM_E8allocateEv:
  130|  5.43M|  {
  131|  5.43M|    return alloc_traits::allocate(al_,1);
  132|  5.43M|  }
_ZNK5boost11multi_index6detail21copy_map_value_copierclINSt3__14pairIKNS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS_13property_tree11basic_ptreeISB_SB_NS4_4lessISB_EEEEEEEERKT_RSJ_:
   63|  5.43M|  const Value& operator()(Value& x)const{return x;}
_ZNK5boost11multi_index6detail14copy_map_entryINS1_20sequenced_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS7_12basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEENS_13property_tree11basic_ptreeISE_SE_NS7_4lessISE_EEEEEENSC_ISL_EEEEEEEEEltERKSQ_:
   55|   179M|  {
   56|   179M|    return std::less<Node*>()(first,x.first);
   57|   179M|  }
_ZNK5boost11multi_index6detail8copy_mapINS1_20sequenced_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS7_12basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEENS_13property_tree11basic_ptreeISE_SE_NS7_4lessISE_EEEEEENSC_ISL_EEEEEEEESM_E4findEPSP_:
  109|  33.2M|  {
  110|  33.2M|    if(node==header_org_)return header_cpy_;
  ------------------
  |  Branch (110:8): [True: 21.9M, False: 11.2M]
  ------------------
  111|  11.2M|    return std::lower_bound(
  112|  11.2M|      begin(),end(),copy_map_entry<Node>(node,0))->second;
  113|  33.2M|  }
_ZNK5boost11multi_index6detail8copy_mapINS1_20sequenced_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS7_12basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEENS_13property_tree11basic_ptreeISE_SE_NS7_4lessISE_EEEEEENSC_ISL_EEEEEEEESM_E5beginEv:
  102|  11.4M|  const_iterator begin()const{return raw_ptr<const_iterator>(spc.data());}
_ZNK5boost11multi_index6detail8copy_mapINS1_20sequenced_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS7_12basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEENS_13property_tree11basic_ptreeISE_SE_NS7_4lessISE_EEEEEENSC_ISL_EEEEEEEESM_E3endEv:
  103|  11.4M|  const_iterator end()const{return raw_ptr<const_iterator>(spc.data()+n);}
_ZN5boost11multi_index6detail14copy_map_entryINS1_20sequenced_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS7_12basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEENS_13property_tree11basic_ptreeISE_SE_NS7_4lessISE_EEEEEENSC_ISL_EEEEEEEEEC2EPSP_SR_:
   49|  11.2M|  copy_map_entry(Node* f,Node* s):first(f),second(s){}
_ZN5boost11multi_index6detail8copy_mapINS1_20sequenced_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS7_12basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEENS_13property_tree11basic_ptreeISE_SE_NS7_4lessISE_EEEEEENSC_ISL_EEEEEEEESM_E7releaseEv:
  116|  21.7M|  {
  117|  21.7M|    released=true;
  118|  21.7M|  }
_ZN5boost11multi_index6detail8copy_mapINS1_20sequenced_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS7_12basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEENS_13property_tree11basic_ptreeISE_SE_NS7_4lessISE_EEEEEENSC_ISL_EEEEEEEESM_ED2Ev:
   92|  21.7M|  {
   93|  21.7M|    if(!released){
  ------------------
  |  Branch (93:8): [True: 0, False: 21.7M]
  ------------------
   94|      0|      for(size_type i=0;i<n;++i){
  ------------------
  |  Branch (94:25): [True: 0, False: 0]
  ------------------
   95|      0|        alloc_traits::destroy(
   96|      0|          al_,boost::addressof((spc.data()+i)->second->value()));
   97|      0|        deallocate((spc.data()+i)->second);
   98|      0|      }
   99|      0|    }
  100|  21.7M|  }

_ZN5boost11multi_index6detail13header_holderIPNS1_20sequenced_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS7_12basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEENS_13property_tree11basic_ptreeISE_SE_NS7_4lessISE_EEEEEENSC_ISL_EEEEEEEENS0_21multi_index_containerISL_NS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_EEEENS0_18ordered_non_uniqueINSU_INSK_4subs7by_nameESW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_EENS0_6memberISL_SF_XadL_ZNSL_5firstEEEEESJ_EESW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_EESM_EEEC2Ev:
   35|  27.2M|  header_holder():member(final().allocate_node()){}
_ZN5boost11multi_index6detail13header_holderIPNS1_20sequenced_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS7_12basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEENS_13property_tree11basic_ptreeISE_SE_NS7_4lessISE_EEEEEENSC_ISL_EEEEEEEENS0_21multi_index_containerISL_NS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_EEEENS0_18ordered_non_uniqueINSU_INSK_4subs7by_nameESW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_EENS0_6memberISL_SF_XadL_ZNSL_5firstEEEEESJ_EESW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_EESM_EEE5finalEv:
   41|  54.4M|  Final& final(){return *static_cast<Final*>(this);}
_ZN5boost11multi_index6detail13header_holderIPNS1_20sequenced_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS7_12basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEENS_13property_tree11basic_ptreeISE_SE_NS7_4lessISE_EEEEEENSC_ISL_EEEEEEEENS0_21multi_index_containerISL_NS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_EEEENS0_18ordered_non_uniqueINSU_INSK_4subs7by_nameESW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_EENS0_6memberISL_SF_XadL_ZNSL_5firstEEEEESJ_EESW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_SW_EESM_EEED2Ev:
   36|  27.2M|  ~header_holder(){final().deallocate_node(&*member);}

_ZN5boost11multi_index6detail10index_baseINSt3__14pairIKNS3_12basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEENS_13property_tree11basic_ptreeISA_SA_NS3_4lessISA_EEEEEENS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_EEEENS0_18ordered_non_uniqueINSK_INSG_4subs7by_nameESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_EENS0_6memberISH_SB_XadL_ZNSH_5firstEEEEESF_EESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_EENS8_ISH_EEEC2ERKNS_6tuples9null_typeERKSX_:
   94|  5.45M|  explicit index_base(const ctor_args_list&,const Allocator&){}
_ZNK5boost11multi_index6detail10index_baseINSt3__14pairIKNS3_12basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEENS_13property_tree11basic_ptreeISA_SA_NS3_4lessISA_EEEEEENS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_EEEENS0_18ordered_non_uniqueINSK_INSG_4subs7by_nameESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_EENS0_6memberISH_SB_XadL_ZNSH_5firstEEEEESF_EESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_EENS8_ISH_EEE12final_headerEv:
  221|   415M|  final_node_type* final_header()const{return final().header();}
_ZNK5boost11multi_index6detail10index_baseINSt3__14pairIKNS3_12basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEENS_13property_tree11basic_ptreeISA_SA_NS3_4lessISA_EEEEEENS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_EEEENS0_18ordered_non_uniqueINSK_INSG_4subs7by_nameESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_EENS0_6memberISH_SB_XadL_ZNSH_5firstEEEEESF_EESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_EENS8_ISH_EEE5finalEv:
  215|   459M|  const final_type& final()const{return *static_cast<const final_type*>(this);}
_ZN5boost11multi_index6detail10index_baseINSt3__14pairIKNS3_12basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEENS_13property_tree11basic_ptreeISA_SA_NS3_4lessISA_EEEEEENS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_EEEENS0_18ordered_non_uniqueINSK_INSG_4subs7by_nameESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_EENS0_6memberISH_SB_XadL_ZNSH_5firstEEEEESF_EESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_EENS8_ISH_EEE13final_insert_ERKSH_:
  228|  5.44M|    {return final().insert_(x);}
_ZN5boost11multi_index6detail10index_baseINSt3__14pairIKNS3_12basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEENS_13property_tree11basic_ptreeISA_SA_NS3_4lessISA_EEEEEENS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_EEEENS0_18ordered_non_uniqueINSK_INSG_4subs7by_nameESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_EENS0_6memberISH_SB_XadL_ZNSH_5firstEEEEESF_EESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_EENS8_ISH_EEE5finalEv:
  214|  27.2M|  final_type&       final(){return *static_cast<final_type*>(this);}
_ZN5boost11multi_index6detail10index_baseINSt3__14pairIKNS3_12basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEENS_13property_tree11basic_ptreeISA_SA_NS3_4lessISA_EEEEEENS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_EEEENS0_18ordered_non_uniqueINSK_INSG_4subs7by_nameESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_EENS0_6memberISH_SB_XadL_ZNSH_5firstEEEEESF_EESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_EENS8_ISH_EEE7insert_ERKSH_RPNS1_20sequenced_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseISH_SX_EEEEEENS1_10lvalue_tagE:
  106|  5.44M|  {
  107|  5.44M|    x=final().allocate_node();
  108|  5.44M|    BOOST_TRY{
  ------------------
  |  |   27|  5.44M|#    define BOOST_TRY { try
  ------------------
  109|  5.44M|      final().construct_value(x,v);
  110|  5.44M|    }
  111|  5.44M|    BOOST_CATCH(...){
  112|      0|      final().deallocate_node(x);
  113|      0|      BOOST_RETHROW;
  ------------------
  |  |   29|      0|#    define BOOST_RETHROW throw;
  ------------------
  114|      0|    }
  115|  5.44M|    BOOST_CATCH_END
  ------------------
  |  |   30|  5.44M|#    define BOOST_CATCH_END }
  ------------------
  116|  5.44M|    return x;
  117|  5.44M|  }
_ZNK5boost11multi_index6detail10index_baseINSt3__14pairIKNS3_12basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEENS_13property_tree11basic_ptreeISA_SA_NS3_4lessISA_EEEEEENS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_EEEENS0_18ordered_non_uniqueINSK_INSG_4subs7by_nameESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_EENS0_6memberISH_SB_XadL_ZNSH_5firstEEEEESF_EESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_EENS8_ISH_EEE11final_size_Ev:
  224|  43.5M|  size_type final_size_()const{return final().size_();}
_ZN5boost11multi_index6detail10index_baseINSt3__14pairIKNS3_12basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEENS_13property_tree11basic_ptreeISA_SA_NS3_4lessISA_EEEEEENS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_EEEENS0_18ordered_non_uniqueINSK_INSG_4subs7by_nameESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_EENS0_6memberISH_SB_XadL_ZNSH_5firstEEEEESF_EESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_EENS8_ISH_EEE5copy_ERKSY_RKNS1_8copy_mapINS1_20sequenced_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseISH_SX_EEEEEESX_EE:
  103|  21.7M|  {}
_ZN5boost11multi_index6detail10index_baseINSt3__14pairIKNS3_12basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEENS_13property_tree11basic_ptreeISA_SA_NS3_4lessISA_EEEEEENS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_EEEENS0_18ordered_non_uniqueINSK_INSG_4subs7by_nameESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_EENS0_6memberISH_SB_XadL_ZNSH_5firstEEEEESF_EESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_EENS8_ISH_EEE18final_delete_node_EPNS1_20sequenced_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseISH_SX_EEEEEE:
  290|  10.8M|  void final_delete_node_(final_node_type* x){final().delete_node_(x);}

_ZN5boost11multi_index6detail15index_node_baseINSt3__14pairIKNS3_12basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEENS_13property_tree11basic_ptreeISA_SA_NS3_4lessISA_EEEEEENS8_ISH_EEE5valueEv:
   55|   138M|  {
   56|   138M|    return *reinterpret_cast<value_type*>(&this->space);
   57|   138M|  }

_ZN5boost11multi_index6detail13ordered_indexINS0_6memberINSt3__14pairIKNS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS_13property_tree11basic_ptreeISB_SB_NS4_4lessISB_EEEEEESC_XadL_ZNSI_5firstEEEEESG_NS1_9nth_layerILi2ESI_NS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EEEENS0_18ordered_non_uniqueINSN_INSH_4subs7by_nameESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EESJ_SG_EESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EENS9_ISI_EEEENS_3mpl6v_itemISU_NS10_7vector0ISP_EELi0EEENS1_22ordered_non_unique_tagENS1_19null_augment_policyEEC2ERKNS_6tuples4consINS18_5tupleISJ_SG_NS18_9null_typeES1B_S1B_S1B_S1B_S1B_S1B_S1B_EES1B_EERKSY_:
 1583|  5.45M|    super(args_list,al){}
_ZN5boost11multi_index6detail18ordered_index_implINS0_6memberINSt3__14pairIKNS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS_13property_tree11basic_ptreeISB_SB_NS4_4lessISB_EEEEEESC_XadL_ZNSI_5firstEEEEESG_NS1_9nth_layerILi2ESI_NS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EEEENS0_18ordered_non_uniqueINSN_INSH_4subs7by_nameESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EESJ_SG_EESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EENS9_ISI_EEEENS_3mpl6v_itemISU_NS10_7vector0ISP_EELi0EEENS1_22ordered_non_unique_tagENS1_19null_augment_policyEEC2ERKNS_6tuples4consINS18_5tupleISJ_SG_NS18_9null_typeES1B_S1B_S1B_S1B_S1B_S1B_S1B_EES1B_EERKSY_:
  723|  5.45M|    super(args_list.get_tail(),al),
  724|  5.45M|    key(tuples::get<0>(args_list.get_head())),
  725|  5.45M|    comp_(tuples::get<1>(args_list.get_head()))
  726|       |
  727|       |#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
  728|       |    ,safe(*this)
  729|       |#endif
  730|       |
  731|  5.45M|  {
  732|  5.45M|    empty_initialize();
  733|  5.45M|  }
_ZN5boost11multi_index6detail18ordered_index_implINS0_6memberINSt3__14pairIKNS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS_13property_tree11basic_ptreeISB_SB_NS4_4lessISB_EEEEEESC_XadL_ZNSI_5firstEEEEESG_NS1_9nth_layerILi2ESI_NS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EEEENS0_18ordered_non_uniqueINSN_INSH_4subs7by_nameESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EESJ_SG_EESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EENS9_ISI_EEEENS_3mpl6v_itemISU_NS10_7vector0ISP_EELi0EEENS1_22ordered_non_unique_tagENS1_19null_augment_policyEE16empty_initializeEv:
 1141|  27.0M|  {
 1142|  27.0M|    header()->color()=red;
 1143|       |    /* used to distinguish header() from root, in iterator.operator++ */
 1144|       |    
 1145|  27.0M|    header()->parent()=node_impl_pointer(0);
 1146|  27.0M|    header()->left()=header()->impl();
 1147|  27.0M|    header()->right()=header()->impl();
 1148|  27.0M|  }
_ZNK5boost11multi_index6detail18ordered_index_implINS0_6memberINSt3__14pairIKNS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS_13property_tree11basic_ptreeISB_SB_NS4_4lessISB_EEEEEESC_XadL_ZNSI_5firstEEEEESG_NS1_9nth_layerILi2ESI_NS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EEEENS0_18ordered_non_uniqueINSN_INSH_4subs7by_nameESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EESJ_SG_EESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EENS9_ISI_EEEENS_3mpl6v_itemISU_NS10_7vector0ISP_EELi0EEENS1_22ordered_non_unique_tagENS1_19null_augment_policyEE6headerEv:
 1131|   202M|    {return this->final_header();}
_ZN5boost11multi_index6detail18ordered_index_implINS0_6memberINSt3__14pairIKNS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS_13property_tree11basic_ptreeISB_SB_NS4_4lessISB_EEEEEESC_XadL_ZNSI_5firstEEEEESG_NS1_9nth_layerILi2ESI_NS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EEEENS0_18ordered_non_uniqueINSN_INSH_4subs7by_nameESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EESJ_SG_EESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EENS9_ISI_EEEENS_3mpl6v_itemISU_NS10_7vector0ISP_EELi0EEENS1_22ordered_non_unique_tagENS1_19null_augment_policyEED2Ev:
  769|  27.2M|  {
  770|       |    /* the container is guaranteed to be empty by now */
  771|  27.2M|  }
_ZN5boost11multi_index6detail18ordered_index_implINS0_6memberINSt3__14pairIKNS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS_13property_tree11basic_ptreeISB_SB_NS4_4lessISB_EEEEEESC_XadL_ZNSI_5firstEEEEESG_NS1_9nth_layerILi2ESI_NS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EEEENS0_18ordered_non_uniqueINSN_INSH_4subs7by_nameESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EESJ_SG_EESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EENS9_ISI_EEEENS_3mpl6v_itemISU_NS10_7vector0ISP_EELi0EEENS1_22ordered_non_unique_tagENS1_19null_augment_policyEE7insert_INS1_10lvalue_tagEEEPNS1_20sequenced_index_nodeINS1_18ordered_index_nodeIS16_NS1_15index_node_baseISI_SY_EEEEEERKSI_RS1G_T_:
  845|  5.44M|  {
  846|  5.44M|    link_info inf;
  847|  5.44M|    if(!link_point(key(v),inf,Category())){
  ------------------
  |  Branch (847:8): [True: 0, False: 5.44M]
  ------------------
  848|      0|      return static_cast<final_node_type*>(
  849|      0|        index_node_type::from_impl(inf.pos));
  850|      0|    }
  851|       |
  852|  5.44M|    final_node_type* res=super::insert_(v,x,variant);
  853|  5.44M|    if(res==x){
  ------------------
  |  Branch (853:8): [True: 5.44M, False: 0]
  ------------------
  854|  5.44M|      node_impl_type::link(
  855|  5.44M|        static_cast<index_node_type*>(x)->impl(),
  856|  5.44M|        inf.side,inf.pos,header()->impl());
  857|  5.44M|    }
  858|  5.44M|    return res;
  859|  5.44M|  }
_ZN5boost11multi_index6detail18ordered_index_implINS0_6memberINSt3__14pairIKNS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS_13property_tree11basic_ptreeISB_SB_NS4_4lessISB_EEEEEESC_XadL_ZNSI_5firstEEEEESG_NS1_9nth_layerILi2ESI_NS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EEEENS0_18ordered_non_uniqueINSN_INSH_4subs7by_nameESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EESJ_SG_EESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EENS9_ISI_EEEENS_3mpl6v_itemISU_NS10_7vector0ISP_EELi0EEENS1_22ordered_non_unique_tagENS1_19null_augment_policyEE9link_infoC2Ev:
 1153|  5.44M|    link_info():side(to_left){}
_ZN5boost11multi_index6detail18ordered_index_implINS0_6memberINSt3__14pairIKNS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS_13property_tree11basic_ptreeISB_SB_NS4_4lessISB_EEEEEESC_XadL_ZNSI_5firstEEEEESG_NS1_9nth_layerILi2ESI_NS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EEEENS0_18ordered_non_uniqueINSN_INSH_4subs7by_nameESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EESJ_SG_EESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EENS9_ISI_EEEENS_3mpl6v_itemISU_NS10_7vector0ISP_EELi0EEENS1_22ordered_non_unique_tagENS1_19null_augment_policyEE10link_pointERSC_RNS17_9link_infoES15_:
 1191|  5.44M|  {
 1192|  5.44M|    index_node_type* y=header();
 1193|  5.44M|    index_node_type* x=root();
 1194|  5.44M|    bool c=true;
 1195|   107M|    while (x){
  ------------------
  |  Branch (1195:12): [True: 101M, False: 5.44M]
  ------------------
 1196|   101M|     y=x;
 1197|   101M|     c=comp_(k,key(x->value()));
 1198|   101M|     x=index_node_type::from_impl(c?x->left():x->right());
  ------------------
  |  Branch (1198:35): [True: 13.4M, False: 88.2M]
  ------------------
 1199|   101M|    }
 1200|  5.44M|    inf.side=c?to_left:to_right;
  ------------------
  |  Branch (1200:14): [True: 821k, False: 4.62M]
  ------------------
 1201|  5.44M|    inf.pos=y->impl();
 1202|  5.44M|    return true;
 1203|  5.44M|  }
_ZNK5boost11multi_index6detail18ordered_index_implINS0_6memberINSt3__14pairIKNS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS_13property_tree11basic_ptreeISB_SB_NS4_4lessISB_EEEEEESC_XadL_ZNSI_5firstEEEEESG_NS1_9nth_layerILi2ESI_NS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EEEENS0_18ordered_non_uniqueINSN_INSH_4subs7by_nameESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EESJ_SG_EESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EENS9_ISI_EEEENS_3mpl6v_itemISU_NS10_7vector0ISP_EELi0EEENS1_22ordered_non_unique_tagENS1_19null_augment_policyEE4rootEv:
 1133|  27.6M|    {return index_node_type::from_impl(header()->parent());}
_ZNK5boost11multi_index6detail18ordered_index_implINS0_6memberINSt3__14pairIKNS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS_13property_tree11basic_ptreeISB_SB_NS4_4lessISB_EEEEEESC_XadL_ZNSI_5firstEEEEESG_NS1_9nth_layerILi2ESI_NS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EEEENS0_18ordered_non_uniqueINSN_INSH_4subs7by_nameESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EESJ_SG_EESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EENS9_ISI_EEEENS_3mpl6v_itemISU_NS10_7vector0ISP_EELi0EEENS1_22ordered_non_unique_tagENS1_19null_augment_policyEE4findISB_EENS1_19bidir_node_iteratorINS1_18ordered_index_nodeIS16_NS1_15index_node_baseISI_SY_EEEEEERKT_:
  610|   201k|  {
  611|   201k|    return make_iterator(ordered_index_find(root(),header(),key,x,comp_));
  612|   201k|  }
_ZNK5boost11multi_index6detail18ordered_index_implINS0_6memberINSt3__14pairIKNS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS_13property_tree11basic_ptreeISB_SB_NS4_4lessISB_EEEEEESC_XadL_ZNSI_5firstEEEEESG_NS1_9nth_layerILi2ESI_NS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EEEENS0_18ordered_non_uniqueINSN_INSH_4subs7by_nameESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EESJ_SG_EESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EENS9_ISI_EEEENS_3mpl6v_itemISU_NS10_7vector0ISP_EELi0EEENS1_22ordered_non_unique_tagENS1_19null_augment_policyEE13make_iteratorEPNS1_18ordered_index_nodeIS16_NS1_15index_node_baseISI_SY_EEEE:
  781|   402k|                   {return const_iterator(node);}
_ZNK5boost11multi_index6detail18ordered_index_implINS0_6memberINSt3__14pairIKNS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS_13property_tree11basic_ptreeISB_SB_NS4_4lessISB_EEEEEESC_XadL_ZNSI_5firstEEEEESG_NS1_9nth_layerILi2ESI_NS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EEEENS0_18ordered_non_uniqueINSN_INSH_4subs7by_nameESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EESJ_SG_EESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EENS9_ISI_EEEENS_3mpl6v_itemISU_NS10_7vector0ISP_EELi0EEENS1_22ordered_non_unique_tagENS1_19null_augment_policyEE3endEv:
  262|   201k|    end()const BOOST_NOEXCEPT{return make_iterator(header());}
_ZN5boost11multi_index6detail13ordered_indexINS0_6memberINSt3__14pairIKNS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS_13property_tree11basic_ptreeISB_SB_NS4_4lessISB_EEEEEESC_XadL_ZNSI_5firstEEEEESG_NS1_9nth_layerILi2ESI_NS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EEEENS0_18ordered_non_uniqueINSN_INSH_4subs7by_nameESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EESJ_SG_EESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EENS9_ISI_EEEENS_3mpl6v_itemISU_NS10_7vector0ISP_EELi0EEENS1_22ordered_non_unique_tagENS1_19null_augment_policyEEC2ERKS17_:
 1585|  21.7M|  ordered_index(const ordered_index& x):super(x){}
_ZN5boost11multi_index6detail18ordered_index_implINS0_6memberINSt3__14pairIKNS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS_13property_tree11basic_ptreeISB_SB_NS4_4lessISB_EEEEEESC_XadL_ZNSI_5firstEEEEESG_NS1_9nth_layerILi2ESI_NS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EEEENS0_18ordered_non_uniqueINSN_INSH_4subs7by_nameESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EESJ_SG_EESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EENS9_ISI_EEEENS_3mpl6v_itemISU_NS10_7vector0ISP_EELi0EEENS1_22ordered_non_unique_tagENS1_19null_augment_policyEEC2ERKS17_:
  738|  21.7M|    super(x),
  739|  21.7M|    key(x.key),
  740|  21.7M|    comp_(x.comp_)
  741|       |
  742|       |#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
  743|       |    ,safe(*this)
  744|       |#endif
  745|       |
  746|  21.7M|  {
  747|       |    /* Copy ctor just takes the key and compare objects from x. The rest is
  748|       |     * done in a subsequent call to copy_().
  749|       |     */
  750|  21.7M|  }
_ZN5boost11multi_index6detail18ordered_index_implINS0_6memberINSt3__14pairIKNS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS_13property_tree11basic_ptreeISB_SB_NS4_4lessISB_EEEEEESC_XadL_ZNSI_5firstEEEEESG_NS1_9nth_layerILi2ESI_NS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EEEENS0_18ordered_non_uniqueINSN_INSH_4subs7by_nameESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EESJ_SG_EESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EENS9_ISI_EEEENS_3mpl6v_itemISU_NS10_7vector0ISP_EELi0EEENS1_22ordered_non_unique_tagENS1_19null_augment_policyEE5copy_ERKS17_RKNS1_8copy_mapINS1_20sequenced_index_nodeINS1_18ordered_index_nodeIS16_NS1_15index_node_baseISI_SY_EEEEEESY_EE:
  788|  21.7M|  {
  789|  21.7M|    if(!x.root()){
  ------------------
  |  Branch (789:8): [True: 21.5M, False: 193k]
  ------------------
  790|  21.5M|      empty_initialize();
  791|  21.5M|    }
  792|   193k|    else{
  793|   193k|      header()->color()=x.header()->color();
  794|   193k|      AugmentPolicy::copy(x.header()->impl(),header()->impl());
  795|       |
  796|   193k|      index_node_type* root_cpy=map.find(
  797|   193k|        static_cast<final_node_type*>(x.root()));
  798|   193k|      header()->parent()=root_cpy->impl();
  799|       |
  800|   193k|      index_node_type* leftmost_cpy=map.find(
  801|   193k|        static_cast<final_node_type*>(x.leftmost()));
  802|   193k|      header()->left()=leftmost_cpy->impl();
  803|       |
  804|   193k|      index_node_type* rightmost_cpy=map.find(
  805|   193k|        static_cast<final_node_type*>(x.rightmost()));
  806|   193k|      header()->right()=rightmost_cpy->impl();
  807|       |
  808|   193k|      typedef typename copy_map_type::const_iterator copy_map_iterator;
  809|  5.62M|      for(copy_map_iterator it=map.begin(),it_end=map.end();it!=it_end;++it){
  ------------------
  |  Branch (809:61): [True: 5.43M, False: 193k]
  ------------------
  810|  5.43M|        index_node_type* org=it->first;
  811|  5.43M|        index_node_type* cpy=it->second;
  812|       |
  813|  5.43M|        cpy->color()=org->color();
  814|  5.43M|        AugmentPolicy::copy(org->impl(),cpy->impl());
  815|       |
  816|  5.43M|        node_impl_pointer parent_org=org->parent();
  817|  5.43M|        if(parent_org==node_impl_pointer(0))cpy->parent()=node_impl_pointer(0);
  ------------------
  |  Branch (817:12): [True: 0, False: 5.43M]
  ------------------
  818|  5.43M|        else{
  819|  5.43M|          index_node_type* parent_cpy=map.find(
  820|  5.43M|            static_cast<final_node_type*>(
  821|  5.43M|              index_node_type::from_impl(parent_org)));
  822|  5.43M|          cpy->parent()=parent_cpy->impl();
  823|  5.43M|          if(parent_org->left()==org->impl()){
  ------------------
  |  Branch (823:14): [True: 2.74M, False: 2.68M]
  ------------------
  824|  2.74M|            parent_cpy->left()=cpy->impl();
  825|  2.74M|          }
  826|  2.68M|          else if(parent_org->right()==org->impl()){
  ------------------
  |  Branch (826:19): [True: 2.63M, False: 48.0k]
  ------------------
  827|       |            /* header() does not satisfy this nor the previous check */
  828|  2.63M|            parent_cpy->right()=cpy->impl();
  829|  2.63M|          }
  830|  5.43M|        }
  831|       |
  832|  5.43M|        if(org->left()==node_impl_pointer(0))
  ------------------
  |  Branch (832:12): [True: 2.82M, False: 2.60M]
  ------------------
  833|  2.82M|          cpy->left()=node_impl_pointer(0);
  834|  5.43M|        if(org->right()==node_impl_pointer(0))
  ------------------
  |  Branch (834:12): [True: 2.80M, False: 2.63M]
  ------------------
  835|  2.80M|          cpy->right()=node_impl_pointer(0);
  836|  5.43M|      }
  837|   193k|    }
  838|       |    
  839|  21.7M|    super::copy_(x,map);
  840|  21.7M|  }
_ZNK5boost11multi_index6detail18ordered_index_implINS0_6memberINSt3__14pairIKNS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS_13property_tree11basic_ptreeISB_SB_NS4_4lessISB_EEEEEESC_XadL_ZNSI_5firstEEEEESG_NS1_9nth_layerILi2ESI_NS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EEEENS0_18ordered_non_uniqueINSN_INSH_4subs7by_nameESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EESJ_SG_EESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EENS9_ISI_EEEENS_3mpl6v_itemISU_NS10_7vector0ISP_EELi0EEENS1_22ordered_non_unique_tagENS1_19null_augment_policyEE8leftmostEv:
 1135|   193k|    {return index_node_type::from_impl(header()->left());}
_ZNK5boost11multi_index6detail18ordered_index_implINS0_6memberINSt3__14pairIKNS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS_13property_tree11basic_ptreeISB_SB_NS4_4lessISB_EEEEEESC_XadL_ZNSI_5firstEEEEESG_NS1_9nth_layerILi2ESI_NS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EEEENS0_18ordered_non_uniqueINSN_INSH_4subs7by_nameESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EESJ_SG_EESP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_SP_EENS9_ISI_EEEENS_3mpl6v_itemISU_NS10_7vector0ISP_EELi0EEENS1_22ordered_non_unique_tagENS1_19null_augment_policyEE9rightmostEv:
 1137|   193k|    {return index_node_type::from_impl(header()->right());}

_ZN5boost11multi_index6detail18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS5_12basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS_13property_tree11basic_ptreeISC_SC_NS5_4lessISC_EEEEEENSA_ISJ_EEEEE5colorEv:
  614|  38.3M|  impl_color_ref      color(){return trampoline::color();}
_ZN5boost11multi_index6detail34ordered_index_node_compressed_baseINS1_19null_augment_policyENSt3__19allocatorIcEEE5colorEv:
  199|  97.0M|  color_ref           color(){return color_ref(&parentcolor_);}
_ZN5boost11multi_index6detail34ordered_index_node_compressed_baseINS1_19null_augment_policyENSt3__19allocatorIcEEE9color_refC2EPm:
  145|  97.0M|    color_ref(uintptr_type* r_):r(r_){}
_ZN5boost11multi_index6detail34ordered_index_node_compressed_baseINS1_19null_augment_policyENSt3__19allocatorIcEEE9color_refaSENS1_19ordered_index_colorE:
  154|  68.6M|    {
  155|  68.6M|      *r&=~uintptr_type(1);
  156|  68.6M|      *r|=uintptr_type(c);
  157|  68.6M|      return *this;
  158|  68.6M|    }
_ZN5boost11multi_index6detail18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS5_12basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS_13property_tree11basic_ptreeISC_SC_NS5_4lessISC_EEEEEENSA_ISJ_EEEEE6parentEv:
  616|  65.7M|  impl_parent_ref     parent(){return trampoline::parent();}
_ZN5boost11multi_index6detail34ordered_index_node_compressed_baseINS1_19null_augment_policyENSt3__19allocatorIcEEE6parentEv:
  205|   238M|  parent_ref parent(){return parent_ref(&parentcolor_);}
_ZN5boost11multi_index6detail34ordered_index_node_compressed_baseINS1_19null_augment_policyENSt3__19allocatorIcEEE10parent_refC2EPm:
  171|   238M|    parent_ref(uintptr_type* r_):r(r_){}
_ZN5boost11multi_index6detail34ordered_index_node_compressed_baseINS1_19null_augment_policyENSt3__19allocatorIcEEE10parent_refaSEPNS1_23ordered_index_node_implIS3_S6_EE:
  180|  54.1M|    {
  181|  54.1M|      *r=((uintptr_type)(void*)p)|(*r&uintptr_type(1));
  182|  54.1M|      return *this;
  183|  54.1M|    }
_ZN5boost11multi_index6detail18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS5_12basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS_13property_tree11basic_ptreeISC_SC_NS5_4lessISC_EEEEEENSA_ISJ_EEEEE4implEv:
  624|   101M|  {
  625|   101M|    return static_cast<impl_pointer>(
  626|   101M|      static_cast<impl_type*>(static_cast<trampoline*>(this)));
  627|   101M|  }
_ZN5boost11multi_index6detail18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS5_12basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS_13property_tree11basic_ptreeISC_SC_NS5_4lessISC_EEEEEENSA_ISJ_EEEEE4leftEv:
  618|  52.1M|  impl_pointer&       left(){return trampoline::left();}
_ZN5boost11multi_index6detail34ordered_index_node_compressed_baseINS1_19null_augment_policyENSt3__19allocatorIcEEE4leftEv:
  211|   114M|  pointer& left(){return left_;}
_ZN5boost11multi_index6detail18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS5_12basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS_13property_tree11basic_ptreeISC_SC_NS5_4lessISC_EEEEEENSA_ISJ_EEEEE5rightEv:
  620|   126M|  impl_pointer&       right(){return trampoline::right();}
_ZN5boost11multi_index6detail34ordered_index_node_compressed_baseINS1_19null_augment_policyENSt3__19allocatorIcEEE5rightEv:
  213|   167M|  pointer& right(){return right_;}
_ZNK5boost11multi_index6detail34ordered_index_node_compressed_baseINS1_19null_augment_policyENSt3__19allocatorIcEEE10parent_refcvPNS1_23ordered_index_node_implIS3_S6_EEEv:
  175|   206M|    {
  176|   206M|      return (pointer)(void*)(*r&~uintptr_type(1));
  177|   206M|    }
_ZN5boost11multi_index6detail18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS5_12basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS_13property_tree11basic_ptreeISC_SC_NS5_4lessISC_EEEEEENSA_ISJ_EEEEE9from_implEPNS1_23ordered_index_node_implIS3_SB_EE:
  636|   135M|  {
  637|   135M|    return
  638|   135M|      static_cast<ordered_index_node*>(
  639|   135M|        static_cast<trampoline*>(
  640|   135M|          raw_ptr<impl_type*>(x)));
  641|   135M|  }
_ZN5boost11multi_index6detail23ordered_index_node_implINS1_19null_augment_policyENSt3__19allocatorIcEEE4linkEPS7_NS1_18ordered_index_sideES8_S8_:
  391|  5.44M|  {
  392|  5.44M|    if(side==to_left){
  ------------------
  |  Branch (392:8): [True: 821k, False: 4.62M]
  ------------------
  393|   821k|      position->left()=x;  /* also makes leftmost=x when parent==header */
  394|   821k|      if(position==header){
  ------------------
  |  Branch (394:10): [True: 198k, False: 622k]
  ------------------
  395|   198k|        header->parent()=x;
  396|   198k|        header->right()=x;
  397|   198k|      }
  398|   622k|      else if(position==header->left()){
  ------------------
  |  Branch (398:15): [True: 54.9k, False: 567k]
  ------------------
  399|  54.9k|        header->left()=x;  /* maintain leftmost pointing to min node */
  400|  54.9k|      }
  401|   821k|    }
  402|  4.62M|    else{
  403|  4.62M|      position->right()=x;
  404|  4.62M|      if(position==header->right()){
  ------------------
  |  Branch (404:10): [True: 103k, False: 4.52M]
  ------------------
  405|   103k|        header->right()=x; /* maintain rightmost pointing to max node */
  406|   103k|      }
  407|  4.62M|    }
  408|  5.44M|    x->parent()=position;
  409|  5.44M|    x->left()=pointer(0);
  410|  5.44M|    x->right()=pointer(0);
  411|  5.44M|    AugmentPolicy::add(x,pointer(header->parent()));
  412|  5.44M|    ordered_index_node_impl::rebalance(x,header->parent());
  413|  5.44M|  }
_ZN5boost11multi_index6detail23ordered_index_node_implINS1_19null_augment_policyENSt3__19allocatorIcEEE9rebalanceEPS7_NS1_34ordered_index_node_compressed_baseIS3_S6_E10parent_refE:
  346|  5.44M|  {
  347|  5.44M|    x->color()=red;
  348|  15.4M|    while(x!=root&&x->parent()->color()==red){
  ------------------
  |  Branch (348:11): [True: 15.2M, False: 229k]
  |  Branch (348:11): [True: 10.0M, False: 5.44M]
  |  Branch (348:20): [True: 10.0M, False: 5.21M]
  ------------------
  349|  10.0M|      if(x->parent()==x->parent()->parent()->left()){
  ------------------
  |  Branch (349:10): [True: 1.31M, False: 8.72M]
  ------------------
  350|  1.31M|        pointer y=x->parent()->parent()->right();
  351|  1.31M|        if(y!=pointer(0)&&y->color()==red){
  ------------------
  |  Branch (351:12): [True: 771k, False: 539k]
  |  Branch (351:12): [True: 51.6k, False: 1.25M]
  |  Branch (351:27): [True: 51.6k, False: 719k]
  ------------------
  352|  51.6k|          x->parent()->color()=black;
  353|  51.6k|          y->color()=black;
  354|  51.6k|          x->parent()->parent()->color()=red;
  355|  51.6k|          x=x->parent()->parent();
  356|  51.6k|        }
  357|  1.25M|        else{
  358|  1.25M|          if(x==x->parent()->right()){
  ------------------
  |  Branch (358:14): [True: 1.23M, False: 23.7k]
  ------------------
  359|  1.23M|            x=x->parent();
  360|  1.23M|            rotate_left(x,root);
  361|  1.23M|          }
  362|  1.25M|          x->parent()->color()=black;
  363|  1.25M|          x->parent()->parent()->color()=red;
  364|  1.25M|          rotate_right(x->parent()->parent(),root);
  365|  1.25M|        }
  366|  1.31M|      }
  367|  8.72M|      else{
  368|  8.72M|        pointer y=x->parent()->parent()->left();
  369|  8.72M|        if(y!=pointer(0)&&y->color()==red){
  ------------------
  |  Branch (369:12): [True: 6.70M, False: 2.02M]
  |  Branch (369:12): [True: 4.95M, False: 3.77M]
  |  Branch (369:27): [True: 4.95M, False: 1.74M]
  ------------------
  370|  4.95M|          x->parent()->color()=black;
  371|  4.95M|          y->color()=black;
  372|  4.95M|          x->parent()->parent()->color()=red;
  373|  4.95M|          x=x->parent()->parent();
  374|  4.95M|        }
  375|  3.77M|        else{
  376|  3.77M|          if(x==x->parent()->left()){
  ------------------
  |  Branch (376:14): [True: 28.7k, False: 3.74M]
  ------------------
  377|  28.7k|            x=x->parent();
  378|  28.7k|            rotate_right(x,root);
  379|  28.7k|          }
  380|  3.77M|          x->parent()->color()=black;
  381|  3.77M|          x->parent()->parent()->color()=red;
  382|  3.77M|          rotate_left(x->parent()->parent(),root);
  383|  3.77M|        }
  384|  8.72M|      }
  385|  10.0M|    }
  386|  5.44M|    root->color()=black;
  387|  5.44M|  }
_ZNK5boost11multi_index6detail34ordered_index_node_compressed_baseINS1_19null_augment_policyENSt3__19allocatorIcEEE10parent_refptEv:
  191|   118M|    {
  192|   118M|      return operator pointer();
  193|   118M|    }
_ZNK5boost11multi_index6detail34ordered_index_node_compressed_baseINS1_19null_augment_policyENSt3__19allocatorIcEEE9color_refcvNS1_19ordered_index_colorEEv:
  149|  28.3M|    {
  150|  28.3M|      return ordered_index_color(*r&uintptr_type(1));
  151|  28.3M|    }
_ZN5boost11multi_index6detail23ordered_index_node_implINS1_19null_augment_policyENSt3__19allocatorIcEEE11rotate_leftEPS7_NS1_34ordered_index_node_compressed_baseIS3_S6_E10parent_refE:
  304|  5.00M|  {
  305|  5.00M|    pointer y=x->right();
  306|  5.00M|    x->right()=y->left();
  307|  5.00M|    if(y->left()!=pointer(0))y->left()->parent()=x;
  ------------------
  |  Branch (307:8): [True: 2.45M, False: 2.54M]
  ------------------
  308|  5.00M|    y->parent()=x->parent();
  309|       |    
  310|  5.00M|    if(x==root)                    root=y;
  ------------------
  |  Branch (310:8): [True: 32.8k, False: 4.97M]
  ------------------
  311|  4.97M|    else if(x==x->parent()->left())x->parent()->left()=y;
  ------------------
  |  Branch (311:13): [True: 1.79M, False: 3.17M]
  ------------------
  312|  3.17M|    else                           x->parent()->right()=y;
  313|  5.00M|    y->left()=x;
  314|  5.00M|    x->parent()=y;
  315|  5.00M|    AugmentPolicy::rotate_left(x,y);
  316|  5.00M|  }
_ZN5boost11multi_index6detail34ordered_index_node_compressed_baseINS1_19null_augment_policyENSt3__19allocatorIcEEE10parent_refaSERKS8_:
  186|  6.29M|    {
  187|  6.29M|      return operator=(x.operator pointer());
  188|  6.29M|    }
_ZN5boost11multi_index6detail34ordered_index_node_compressed_baseINS1_19null_augment_policyENSt3__19allocatorIcEEE10parent_refC2ERKS8_:
  172|  6.29M|    parent_ref(const parent_ref& x):r(x.r){}
_ZN5boost11multi_index6detail23ordered_index_node_implINS1_19null_augment_policyENSt3__19allocatorIcEEE12rotate_rightEPS7_NS1_34ordered_index_node_compressed_baseIS3_S6_E10parent_refE:
  331|  1.28M|  {
  332|  1.28M|    pointer y=x->left();
  333|  1.28M|    x->left()=y->right();
  334|  1.28M|    if(y->right()!=pointer(0))y->right()->parent()=x;
  ------------------
  |  Branch (334:8): [True: 727k, False: 560k]
  ------------------
  335|  1.28M|    y->parent()=x->parent();
  336|       |
  337|  1.28M|    if(x==root)                     root=y;
  ------------------
  |  Branch (337:8): [True: 11.8k, False: 1.27M]
  ------------------
  338|  1.27M|    else if(x==x->parent()->right())x->parent()->right()=y;
  ------------------
  |  Branch (338:13): [True: 1.07M, False: 199k]
  ------------------
  339|   199k|    else                            x->parent()->left()=y;
  340|  1.28M|    y->right()=x;
  341|  1.28M|    x->parent()=y;
  342|  1.28M|    AugmentPolicy::rotate_right(x,y);
  343|  1.28M|  }
_ZN5boost11multi_index6detail34ordered_index_node_compressed_baseINS1_19null_augment_policyENSt3__19allocatorIcEEE9color_refaSERKS8_:
  161|  5.62M|    {
  162|  5.62M|      return operator=(x.operator ordered_index_color());
  163|  5.62M|    }

_ZN5boost11multi_index6detail18ordered_index_findINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS6_12basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS_13property_tree11basic_ptreeISD_SD_NS6_4lessISD_EEEEEENSB_ISK_EEEEEENS0_6memberISK_SE_XadL_ZNSK_5firstEEEEESD_SI_EEPT_SR_SR_RKT0_RKT1_RKT2_:
   68|   201k|{
   69|   201k|  typedef typename KeyFromValue::result_type key_type;
   70|       |
   71|   201k|  return ordered_index_find(
   72|   201k|    top,y,key,x,comp,
   73|   201k|    mpl::and_<
   74|   201k|      promotes_1st_arg<CompatibleCompare,CompatibleKey,key_type>,
   75|   201k|      promotes_2nd_arg<CompatibleCompare,key_type,CompatibleKey> >());
   76|   201k|}
_ZN5boost11multi_index6detail18ordered_index_findINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS6_12basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS_13property_tree11basic_ptreeISD_SD_NS6_4lessISD_EEEEEENSB_ISK_EEEEEENS0_6memberISK_SE_XadL_ZNSK_5firstEEEEESD_SI_EEPT_SR_SR_RKT0_RKT1_RKT2_N4mpl_5bool_ILb0EEE:
   97|   201k|{
   98|   201k|  Node* y0=y;
   99|       |
  100|   479k|  while (top){
  ------------------
  |  Branch (100:10): [True: 277k, False: 201k]
  ------------------
  101|   277k|    if(!comp(key(top->value()),x)){
  ------------------
  |  Branch (101:8): [True: 219k, False: 58.1k]
  ------------------
  102|   219k|      y=top;
  103|   219k|      top=Node::from_impl(top->left());
  104|   219k|    }
  105|  58.1k|    else top=Node::from_impl(top->right());
  106|   277k|  }
  107|       |    
  108|   201k|  return (y==y0||comp(x,key(y->value())))?y0:y;
  ------------------
  |  Branch (108:11): [True: 18.6k, False: 182k]
  |  Branch (108:18): [True: 33.5k, False: 149k]
  ------------------
  109|   201k|}

_ZN5boost11multi_index6detail7raw_ptrIPNS1_23ordered_index_node_implINS1_19null_augment_policyENSt3__19allocatorIcEEEES9_EET_RKT0_:
   42|   135M|{
   43|   135M|  return raw_ptr<RawPointer>(p,is_same<RawPointer,Pointer>());
   44|   135M|}
_ZN5boost11multi_index6detail7raw_ptrIPNS1_23ordered_index_node_implINS1_19null_augment_policyENSt3__19allocatorIcEEEEEET_RKSA_N4mpl_5bool_ILb1EEE:
   30|   135M|{
   31|   135M|  return p;
   32|   135M|}
_ZN5boost11multi_index6detail7raw_ptrIPNS1_25sequenced_index_node_implINSt3__19allocatorIcEEEES8_EET_RKT0_:
   42|  96.2M|{
   43|  96.2M|  return raw_ptr<RawPointer>(p,is_same<RawPointer,Pointer>());
   44|  96.2M|}
_ZN5boost11multi_index6detail7raw_ptrIPNS1_25sequenced_index_node_implINSt3__19allocatorIcEEEEEET_RKS9_N4mpl_5bool_ILb1EEE:
   30|  96.2M|{
   31|  96.2M|  return p;
   32|  96.2M|}
_ZN5boost11multi_index6detail7raw_ptrIPNS1_20sequenced_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS7_12basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEENS_13property_tree11basic_ptreeISE_SE_NS7_4lessISE_EEEEEENSC_ISL_EEEEEEEESQ_EET_RKT0_:
   42|  5.43M|{
   43|  5.43M|  return raw_ptr<RawPointer>(p,is_same<RawPointer,Pointer>());
   44|  5.43M|}
_ZN5boost11multi_index6detail7raw_ptrIPNS1_20sequenced_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS7_12basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEENS_13property_tree11basic_ptreeISE_SE_NS7_4lessISE_EEEEEENSC_ISL_EEEEEEEEEET_RKSR_N4mpl_5bool_ILb1EEE:
   30|  5.43M|{
   31|  5.43M|  return p;
   32|  5.43M|}
_ZN5boost11multi_index6detail7raw_ptrIPNS1_14copy_map_entryINS1_20sequenced_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS8_12basic_stringIcNS8_11char_traitsIcEENS8_9allocatorIcEEEENS_13property_tree11basic_ptreeISF_SF_NS8_4lessISF_EEEEEENSD_ISM_EEEEEEEEEESS_EET_RKT0_:
   42|   387k|{
   43|   387k|  return raw_ptr<RawPointer>(p,is_same<RawPointer,Pointer>());
   44|   387k|}
_ZN5boost11multi_index6detail7raw_ptrIPNS1_14copy_map_entryINS1_20sequenced_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS8_12basic_stringIcNS8_11char_traitsIcEENS8_9allocatorIcEEEENS_13property_tree11basic_ptreeISF_SF_NS8_4lessISF_EEEEEENSD_ISM_EEEEEEEEEEEET_RKST_N4mpl_5bool_ILb1EEE:
   30|   387k|{
   31|   387k|  return p;
   32|   387k|}
_ZN5boost11multi_index6detail7raw_ptrIPKNS1_14copy_map_entryINS1_20sequenced_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS8_12basic_stringIcNS8_11char_traitsIcEENS8_9allocatorIcEEEENS_13property_tree11basic_ptreeISF_SF_NS8_4lessISF_EEEEEENSD_ISM_EEEEEEEEEEPSR_EET_RKT0_:
   42|  22.9M|{
   43|  22.9M|  return raw_ptr<RawPointer>(p,is_same<RawPointer,Pointer>());
   44|  22.9M|}
_ZN5boost11multi_index6detail7raw_ptrIPKNS1_14copy_map_entryINS1_20sequenced_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS8_12basic_stringIcNS8_11char_traitsIcEENS8_9allocatorIcEEEENS_13property_tree11basic_ptreeISF_SF_NS8_4lessISF_EEEEEENSD_ISM_EEEEEEEEEEPSR_EET_RKT0_N4mpl_5bool_ILb0EEE:
   36|  22.9M|{
   37|  22.9M|  return p==Pointer(0)?0:&*p;
  ------------------
  |  Branch (37:10): [True: 0, False: 22.9M]
  ------------------
   38|  22.9M|}

_ZN5boost11multi_index6detail20sequenced_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS6_12basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS_13property_tree11basic_ptreeISD_SD_NS6_4lessISD_EEEEEENSB_ISK_EEEEEEE4implEv:
  167|  79.8M|  {
  168|  79.8M|    return static_cast<impl_pointer>(
  169|  79.8M|      static_cast<impl_type*>(static_cast<trampoline*>(this)));
  170|  79.8M|  }
_ZN5boost11multi_index6detail20sequenced_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS6_12basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS_13property_tree11basic_ptreeISD_SD_NS6_4lessISD_EEEEEENSB_ISK_EEEEEEE4nextEv:
  163|   119M|  impl_pointer& next(){return trampoline::next();}
_ZN5boost11multi_index6detail25sequenced_index_node_implINSt3__19allocatorIcEEE4nextEv:
   42|   145M|  pointer& next(){return next_;}
_ZN5boost11multi_index6detail20sequenced_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS6_12basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS_13property_tree11basic_ptreeISD_SD_NS6_4lessISD_EEEEEENSB_ISK_EEEEEEE5priorEv:
  161|  32.6M|  impl_pointer& prior(){return trampoline::prior();}
_ZN5boost11multi_index6detail25sequenced_index_node_implINSt3__19allocatorIcEEE5priorEv:
   40|  54.4M|  pointer& prior(){return prior_;}
_ZN5boost11multi_index6detail25sequenced_index_node_implINSt3__19allocatorIcEEE4linkEPS6_S7_:
   53|  5.44M|  {
   54|  5.44M|    x->prior()=header->prior();
   55|  5.44M|    x->next()=header;
   56|  5.44M|    x->prior()->next()=x->next()->prior()=x;
   57|  5.44M|  }
_ZN5boost11multi_index6detail20sequenced_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS6_12basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS_13property_tree11basic_ptreeISD_SD_NS6_4lessISD_EEEEEENSB_ISK_EEEEEEE9from_implEPNS1_25sequenced_index_node_implISC_EE:
  179|  96.2M|  {
  180|  96.2M|    return
  181|  96.2M|      static_cast<sequenced_index_node*>(
  182|  96.2M|        static_cast<trampoline*>(
  183|  96.2M|          raw_ptr<impl_type*>(x)));
  184|  96.2M|  }
_ZN5boost11multi_index6detail20sequenced_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseINSt3__14pairIKNS6_12basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS_13property_tree11basic_ptreeISD_SD_NS6_4lessISD_EEEEEENSB_ISK_EEEEEEE9incrementERPSO_:
  197|  9.08M|  {
  198|  9.08M|    impl_pointer xi=x->impl();
  199|  9.08M|    trampoline::increment(xi);
  200|  9.08M|    x=from_impl(xi);
  201|  9.08M|  }
_ZN5boost11multi_index6detail25sequenced_index_node_implINSt3__19allocatorIcEEE9incrementERPS6_:
   47|  9.08M|  static void increment(pointer& x){x=x->next();}

_ZNK5boost11multi_index6detail17const_member_baseINSt3__14pairIKNS3_12basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEENS_13property_tree11basic_ptreeISA_SA_NS3_4lessISA_EEEEEESB_XadL_ZNSH_5firstEEEEclERKSH_:
   64|   107M|  {
   65|   107M|    return x.*PtrToMember;
   66|   107M|  }

_ZN5boost11multi_index6detail19null_augment_policy3addIPNS1_23ordered_index_node_implIS2_NSt3__19allocatorIcEEEEEEvT_SA_:
   42|  5.44M|  template<typename Pointer> static void add(Pointer,Pointer){}
_ZN5boost11multi_index6detail19null_augment_policy11rotate_leftIPNS1_23ordered_index_node_implIS2_NSt3__19allocatorIcEEEEEEvT_SA_:
   45|  5.00M|  template<typename Pointer> static void rotate_left(Pointer,Pointer){}
_ZN5boost11multi_index6detail19null_augment_policy12rotate_rightIPNS1_23ordered_index_node_implIS2_NSt3__19allocatorIcEEEEEEvT_SA_:
   46|  1.28M|  template<typename Pointer> static void rotate_right(Pointer,Pointer){}
_ZN5boost11multi_index6detail19null_augment_policy4copyIPNS1_23ordered_index_node_implIS2_NSt3__19allocatorIcEEEEEEvT_SA_:
   44|  5.62M|  template<typename Pointer> static void copy(Pointer,Pointer){}

_ZN5boost11multi_index6detail15sequenced_indexINS1_9nth_layerILi1ENSt3__14pairIKNS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS_13property_tree11basic_ptreeISB_SB_NS4_4lessISB_EEEEEENS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EEEENS0_18ordered_non_uniqueINSL_INSH_4subs7by_nameESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EENS0_6memberISI_SC_XadL_ZNSI_5firstEEEEESG_EESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EENS9_ISI_EEEENS_3mpl7vector0ISN_EEEC2ERKNS_6tuples4consINS14_9null_typeENS15_INS14_5tupleISV_SG_S16_S16_S16_S16_S16_S16_S16_S16_EES16_EEEERKSY_:
  672|  5.45M|    super(args_list.get_tail(),al)
  673|       |
  674|       |#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
  675|       |    ,safe(*this)
  676|       |#endif
  677|       |
  678|  5.45M|  {
  679|  5.45M|    empty_initialize();
  680|  5.45M|  }
_ZN5boost11multi_index6detail15sequenced_indexINS1_9nth_layerILi1ENSt3__14pairIKNS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS_13property_tree11basic_ptreeISB_SB_NS4_4lessISB_EEEEEENS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EEEENS0_18ordered_non_uniqueINSL_INSH_4subs7by_nameESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EENS0_6memberISI_SC_XadL_ZNSI_5firstEEEEESG_EESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EENS9_ISI_EEEENS_3mpl7vector0ISN_EEE16empty_initializeEv:
  907|  5.45M|  {
  908|  5.45M|    header()->prior()=header()->next()=header()->impl();
  909|  5.45M|  }
_ZNK5boost11multi_index6detail15sequenced_indexINS1_9nth_layerILi1ENSt3__14pairIKNS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS_13property_tree11basic_ptreeISB_SB_NS4_4lessISB_EEEEEENS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EEEENS0_18ordered_non_uniqueINSL_INSH_4subs7by_nameESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EENS0_6memberISI_SC_XadL_ZNSI_5firstEEEEESG_EESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EENS9_ISI_EEEENS_3mpl7vector0ISN_EEE6headerEv:
  904|   212M|  index_node_type* header()const{return this->final_header();}
_ZN5boost11multi_index6detail15sequenced_indexINS1_9nth_layerILi1ENSt3__14pairIKNS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS_13property_tree11basic_ptreeISB_SB_NS4_4lessISB_EEEEEENS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EEEENS0_18ordered_non_uniqueINSL_INSH_4subs7by_nameESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EENS0_6memberISI_SC_XadL_ZNSI_5firstEEEEESG_EESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EENS9_ISI_EEEENS_3mpl7vector0ISN_EEE9push_backERKSI_:
  303|  5.44M|                             {return insert(end(),x);}
_ZN5boost11multi_index6detail15sequenced_indexINS1_9nth_layerILi1ENSt3__14pairIKNS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS_13property_tree11basic_ptreeISB_SB_NS4_4lessISB_EEEEEENS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EEEENS0_18ordered_non_uniqueINSL_INSH_4subs7by_nameESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EENS0_6memberISI_SC_XadL_ZNSI_5firstEEEEESG_EESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EENS9_ISI_EEEENS_3mpl7vector0ISN_EEE6insertENS1_19bidir_node_iteratorINS1_20sequenced_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseISI_SY_EEEEEEEERKSI_:
  312|  5.44M|  {
  313|  5.44M|    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(position);
  ------------------
  |  |   59|  5.44M|  BOOST_MULTI_INDEX_SAFE_MODE_ASSERT(                                        \
  |  |  ------------------
  |  |  |  |   50|  5.44M|#define BOOST_MULTI_INDEX_SAFE_MODE_ASSERT(expr,error_code) ((void)0)
  |  |  ------------------
  |  |   60|  5.44M|    safe_mode::check_valid_iterator(it),                                     \
  |  |   61|  5.44M|    safe_mode::invalid_iterator);
  ------------------
  314|  5.44M|    BOOST_MULTI_INDEX_CHECK_IS_OWNER(position,*this);
  ------------------
  |  |   79|  5.44M|  BOOST_MULTI_INDEX_SAFE_MODE_ASSERT(                                        \
  |  |  ------------------
  |  |  |  |   50|  5.44M|#define BOOST_MULTI_INDEX_SAFE_MODE_ASSERT(expr,error_code) ((void)0)
  |  |  ------------------
  |  |   80|  5.44M|    safe_mode::check_is_owner(it,cont),                                      \
  |  |   81|  5.44M|    safe_mode::not_owner);
  ------------------
  315|  5.44M|    BOOST_MULTI_INDEX_SEQ_INDEX_CHECK_INVARIANT;
  316|  5.44M|    std::pair<final_node_type*,bool> p=this->final_insert_(x);
  317|  5.44M|    if(p.second&&position.get_node()!=header()){
  ------------------
  |  Branch (317:8): [True: 5.44M, False: 0]
  |  Branch (317:18): [True: 0, False: 5.44M]
  ------------------
  318|      0|      relink(position.get_node(),p.first);
  319|      0|    }
  320|  5.44M|    return std::pair<iterator,bool>(make_iterator(p.first),p.second);
  321|  5.44M|  }
_ZN5boost11multi_index6detail15sequenced_indexINS1_9nth_layerILi1ENSt3__14pairIKNS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS_13property_tree11basic_ptreeISB_SB_NS4_4lessISB_EEEEEENS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EEEENS0_18ordered_non_uniqueINSL_INSH_4subs7by_nameESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EENS0_6memberISI_SC_XadL_ZNSI_5firstEEEEESG_EESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EENS9_ISI_EEEENS_3mpl7vector0ISN_EEE7insert_INS1_10lvalue_tagEEEPNS1_20sequenced_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseISI_SY_EEEEEERKSI_RS1D_T_:
  742|  5.44M|  {
  743|  5.44M|    final_node_type* res=super::insert_(v,x,variant);
  744|  5.44M|    if(res==x)link(static_cast<index_node_type*>(x));
  ------------------
  |  Branch (744:8): [True: 5.44M, False: 0]
  ------------------
  745|  5.44M|    return res;
  746|  5.44M|  }
_ZN5boost11multi_index6detail15sequenced_indexINS1_9nth_layerILi1ENSt3__14pairIKNS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS_13property_tree11basic_ptreeISB_SB_NS4_4lessISB_EEEEEENS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EEEENS0_18ordered_non_uniqueINSL_INSH_4subs7by_nameESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EENS0_6memberISI_SC_XadL_ZNSI_5firstEEEEESG_EESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EENS9_ISI_EEEENS_3mpl7vector0ISN_EEE4linkEPNS1_20sequenced_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseISI_SY_EEEEEE:
  912|  5.44M|  {
  913|  5.44M|    node_impl_type::link(x->impl(),header()->impl());
  914|  5.44M|  }
_ZN5boost11multi_index6detail15sequenced_indexINS1_9nth_layerILi1ENSt3__14pairIKNS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS_13property_tree11basic_ptreeISB_SB_NS4_4lessISB_EEEEEENS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EEEENS0_18ordered_non_uniqueINSL_INSH_4subs7by_nameESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EENS0_6memberISI_SC_XadL_ZNSI_5firstEEEEESG_EESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EENS9_ISI_EEEENS_3mpl7vector0ISN_EEE13make_iteratorEPNS1_20sequenced_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseISI_SY_EEEEEE:
  716|  10.9M|  iterator       make_iterator(index_node_type* node){return iterator(node);}
_ZN5boost11multi_index6detail15sequenced_indexINS1_9nth_layerILi1ENSt3__14pairIKNS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS_13property_tree11basic_ptreeISB_SB_NS4_4lessISB_EEEEEENS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EEEENS0_18ordered_non_uniqueINSL_INSH_4subs7by_nameESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EENS0_6memberISI_SC_XadL_ZNSI_5firstEEEEESG_EESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EENS9_ISI_EEEENS_3mpl7vector0ISN_EEE3endEv:
  226|  5.45M|    end()BOOST_NOEXCEPT{return make_iterator(header());}
_ZN5boost11multi_index6detail15sequenced_indexINS1_9nth_layerILi1ENSt3__14pairIKNS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS_13property_tree11basic_ptreeISB_SB_NS4_4lessISB_EEEEEENS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EEEENS0_18ordered_non_uniqueINSL_INSH_4subs7by_nameESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EENS0_6memberISI_SC_XadL_ZNSI_5firstEEEEESG_EESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EENS9_ISI_EEEENS_3mpl7vector0ISN_EEEC2ERKS13_:
  683|  21.7M|    super(x)
  684|       |
  685|       |#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
  686|       |    ,safe(*this)
  687|       |#endif
  688|       |
  689|  21.7M|  {
  690|       |    /* the actual copying takes place in subsequent call to copy_() */
  691|  21.7M|  }
_ZNK5boost11multi_index6detail15sequenced_indexINS1_9nth_layerILi1ENSt3__14pairIKNS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS_13property_tree11basic_ptreeISB_SB_NS4_4lessISB_EEEEEENS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EEEENS0_18ordered_non_uniqueINSL_INSH_4subs7by_nameESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EENS0_6memberISI_SC_XadL_ZNSI_5firstEEEEESG_EESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EENS9_ISI_EEEENS_3mpl7vector0ISN_EEE4sizeEv:
  261|  43.5M|  size_type size()const BOOST_NOEXCEPT{return this->final_size_();}
_ZNK5boost11multi_index6detail15sequenced_indexINS1_9nth_layerILi1ENSt3__14pairIKNS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS_13property_tree11basic_ptreeISB_SB_NS4_4lessISB_EEEEEENS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EEEENS0_18ordered_non_uniqueINSL_INSH_4subs7by_nameESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EENS0_6memberISI_SC_XadL_ZNSI_5firstEEEEESG_EESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EENS9_ISI_EEEENS_3mpl7vector0ISN_EEE5beginEv:
  224|  21.8M|    {return make_iterator(index_node_type::from_impl(header()->next()));}
_ZNK5boost11multi_index6detail15sequenced_indexINS1_9nth_layerILi1ENSt3__14pairIKNS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS_13property_tree11basic_ptreeISB_SB_NS4_4lessISB_EEEEEENS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EEEENS0_18ordered_non_uniqueINSL_INSH_4subs7by_nameESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EENS0_6memberISI_SC_XadL_ZNSI_5firstEEEEESG_EESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EENS9_ISI_EEEENS_3mpl7vector0ISN_EEE13make_iteratorEPNS1_20sequenced_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseISI_SY_EEEEEE:
  718|  43.6M|                   {return const_iterator(node);}
_ZNK5boost11multi_index6detail15sequenced_indexINS1_9nth_layerILi1ENSt3__14pairIKNS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS_13property_tree11basic_ptreeISB_SB_NS4_4lessISB_EEEEEENS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EEEENS0_18ordered_non_uniqueINSL_INSH_4subs7by_nameESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EENS0_6memberISI_SC_XadL_ZNSI_5firstEEEEESG_EESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EENS9_ISI_EEEENS_3mpl7vector0ISN_EEE3endEv:
  228|  21.8M|    end()const BOOST_NOEXCEPT{return make_iterator(header());}
_ZN5boost11multi_index6detail15sequenced_indexINS1_9nth_layerILi1ENSt3__14pairIKNS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS_13property_tree11basic_ptreeISB_SB_NS4_4lessISB_EEEEEENS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EEEENS0_18ordered_non_uniqueINSL_INSH_4subs7by_nameESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EENS0_6memberISI_SC_XadL_ZNSI_5firstEEEEESG_EESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EENS9_ISI_EEEENS_3mpl7vector0ISN_EEE5copy_ERKS13_RKNS1_8copy_mapINS1_20sequenced_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseISI_SY_EEEEEESY_EE:
  723|  21.7M|  {
  724|  21.7M|    index_node_type* org=x.header();
  725|  21.7M|    index_node_type* cpy=header();
  726|  27.2M|    do{
  727|  27.2M|      index_node_type* next_org=index_node_type::from_impl(org->next());
  728|  27.2M|      index_node_type* next_cpy=map.find(
  729|  27.2M|        static_cast<final_node_type*>(next_org));
  730|  27.2M|      cpy->next()=next_cpy->impl();
  731|  27.2M|      next_cpy->prior()=cpy->impl();
  732|  27.2M|      org=next_org;
  733|  27.2M|      cpy=next_cpy;
  734|  27.2M|    }while(org!=x.header());
  ------------------
  |  Branch (734:12): [True: 5.43M, False: 21.7M]
  ------------------
  735|       |
  736|  21.7M|    super::copy_(x,map);
  737|  21.7M|  }
_ZN5boost11multi_index6detail15sequenced_indexINS1_9nth_layerILi1ENSt3__14pairIKNS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS_13property_tree11basic_ptreeISB_SB_NS4_4lessISB_EEEEEENS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EEEENS0_18ordered_non_uniqueINSL_INSH_4subs7by_nameESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EENS0_6memberISI_SC_XadL_ZNSI_5firstEEEEESG_EESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EENS9_ISI_EEEENS_3mpl7vector0ISN_EEE5beginEv:
  222|  3.21k|    {return make_iterator(index_node_type::from_impl(header()->next()));}
_ZN5boost11multi_index6detail15sequenced_indexINS1_9nth_layerILi1ENSt3__14pairIKNS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS_13property_tree11basic_ptreeISB_SB_NS4_4lessISB_EEEEEENS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EEEENS0_18ordered_non_uniqueINSL_INSH_4subs7by_nameESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EENS0_6memberISI_SC_XadL_ZNSI_5firstEEEEESG_EESN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_SN_EENS9_ISI_EEEENS_3mpl7vector0ISN_EEE17delete_all_nodes_Ev:
  770|  27.2M|  {
  771|  27.2M|    for(index_node_type* x=index_node_type::from_impl(header()->next());
  772|  38.1M|        x!=header();){
  ------------------
  |  Branch (772:9): [True: 10.8M, False: 27.2M]
  ------------------
  773|  10.8M|      index_node_type* y=index_node_type::from_impl(x->next());
  774|  10.8M|      this->final_delete_node_(static_cast<final_node_type*>(x));
  775|  10.8M|      x=y;
  776|  10.8M|    }
  777|  27.2M|  }

_ZN5boost11multi_index21multi_index_containerINSt3__14pairIKNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEENS_13property_tree11basic_ptreeIS9_S9_NS2_4lessIS9_EEEEEENS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EEEENS0_18ordered_non_uniqueINSJ_INSF_4subs7by_nameESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EENS0_6memberISG_SA_XadL_ZNSG_5firstEEEEESE_EESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EENS7_ISG_EEEC2Ev:
  180|  5.45M|    bfm_allocator(allocator_type()),
  181|  5.45M|    super(ctor_args_list(),bfm_allocator::member),
  182|  5.45M|    node_count(0)
  183|  5.45M|  {
  184|  5.45M|    BOOST_MULTI_INDEX_CHECK_INVARIANT;
  185|  5.45M|  }
_ZN5boost11multi_index21multi_index_containerINSt3__14pairIKNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEENS_13property_tree11basic_ptreeIS9_S9_NS2_4lessIS9_EEEEEENS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EEEENS0_18ordered_non_uniqueINSJ_INSF_4subs7by_nameESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EENS0_6memberISG_SA_XadL_ZNSG_5firstEEEEESE_EESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EENS7_ISG_EEE13allocate_nodeEv:
  644|  32.6M|  {
  645|  32.6M|    return &*node_alloc_traits::allocate(bfm_allocator::member,1);
  646|  32.6M|  }
_ZNK5boost11multi_index21multi_index_containerINSt3__14pairIKNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEENS_13property_tree11basic_ptreeIS9_S9_NS2_4lessIS9_EEEEEENS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EEEENS0_18ordered_non_uniqueINSJ_INSF_4subs7by_nameESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EENS0_6memberISG_SA_XadL_ZNSG_5firstEEEEESE_EESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EENS7_ISG_EEE6headerEv:
  639|   459M|  {
  640|   459M|    return &*bfm_header::member;
  641|   459M|  }
_ZN5boost11multi_index21multi_index_containerINSt3__14pairIKNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEENS_13property_tree11basic_ptreeIS9_S9_NS2_4lessIS9_EEEEEENS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EEEENS0_18ordered_non_uniqueINSJ_INSF_4subs7by_nameESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EENS0_6memberISG_SA_XadL_ZNSG_5firstEEEEESE_EESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EENS7_ISG_EEE15deallocate_nodeEPNS0_6detail20sequenced_index_nodeINSY_18ordered_index_nodeINSY_19null_augment_policyENSY_15index_node_baseISG_SW_EEEEEE:
  649|  38.1M|  {
  650|  38.1M|    node_alloc_traits::deallocate(
  651|  38.1M|      bfm_allocator::member,static_cast<node_pointer>(x),1);
  652|  38.1M|  }
_ZN5boost11multi_index21multi_index_containerINSt3__14pairIKNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEENS_13property_tree11basic_ptreeIS9_S9_NS2_4lessIS9_EEEEEENS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EEEENS0_18ordered_non_uniqueINSJ_INSF_4subs7by_nameESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EENS0_6memberISG_SA_XadL_ZNSG_5firstEEEEESE_EESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EENS7_ISG_EEE7insert_ERKSG_:
  705|  5.44M|  {
  706|  5.44M|    return insert_(v,detail::lvalue_tag());
  707|  5.44M|  }
_ZN5boost11multi_index21multi_index_containerINSt3__14pairIKNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEENS_13property_tree11basic_ptreeIS9_S9_NS2_4lessIS9_EEEEEENS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EEEENS0_18ordered_non_uniqueINSJ_INSF_4subs7by_nameESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EENS0_6memberISG_SA_XadL_ZNSG_5firstEEEEESE_EESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EENS7_ISG_EEE7insert_INS0_6detail10lvalue_tagEEENS3_IPNSZ_20sequenced_index_nodeINSZ_18ordered_index_nodeINSZ_19null_augment_policyENSZ_15index_node_baseISG_SW_EEEEEEbEERKSG_T_:
  692|  5.44M|  {
  693|  5.44M|    final_node_type* x=0;
  694|  5.44M|    final_node_type* res=super::insert_(v,x,variant);
  695|  5.44M|    if(res==x){
  ------------------
  |  Branch (695:8): [True: 5.44M, False: 0]
  ------------------
  696|  5.44M|      ++node_count;
  697|  5.44M|      return std::pair<final_node_type*,bool>(res,true);
  698|  5.44M|    }
  699|      0|    else{
  700|      0|      return std::pair<final_node_type*,bool>(res,false);
  701|      0|    }
  702|  5.44M|  }
_ZN5boost11multi_index21multi_index_containerINSt3__14pairIKNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEENS_13property_tree11basic_ptreeIS9_S9_NS2_4lessIS9_EEEEEENS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EEEENS0_18ordered_non_uniqueINSJ_INSF_4subs7by_nameESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EENS0_6memberISG_SA_XadL_ZNSG_5firstEEEEESE_EESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EENS7_ISG_EEE15construct_valueEPNS0_6detail20sequenced_index_nodeINSY_18ordered_index_nodeINSY_19null_augment_policyENSY_15index_node_baseISG_SW_EEEEEERKSG_:
  655|  5.44M|  {
  656|  5.44M|    node_alloc_traits::construct(
  657|  5.44M|      bfm_allocator::member,boost::addressof(x->value()),v);
  658|  5.44M|  }
_ZNK5boost11multi_index21multi_index_containerINSt3__14pairIKNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEENS_13property_tree11basic_ptreeIS9_S9_NS2_4lessIS9_EEEEEENS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EEEENS0_18ordered_non_uniqueINSJ_INSF_4subs7by_nameESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EENS0_6memberISG_SA_XadL_ZNSG_5firstEEEEESE_EESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EENS7_ISG_EEE3getISQ_EERKNSX_5indexIT_E4typeEv:
  467|   402k|  {
  468|   402k|    return *this;
  469|   402k|  }
_ZN5boost11multi_index21multi_index_containerINSt3__14pairIKNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEENS_13property_tree11basic_ptreeIS9_S9_NS2_4lessIS9_EEEEEENS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EEEENS0_18ordered_non_uniqueINSJ_INSF_4subs7by_nameESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EENS0_6memberISG_SA_XadL_ZNSG_5firstEEEEESE_EESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EENS7_ISG_EEEC2ERKSX_:
  287|  21.7M|    bfm_allocator(
  288|  21.7M|      node_alloc_traits::select_on_container_copy_construction(
  289|  21.7M|        x.bfm_allocator::member)),
  290|  21.7M|    bfm_header(),
  291|  21.7M|    super(x),
  292|  21.7M|    node_count(0)
  293|  21.7M|  {
  294|  21.7M|    copy_construct_from(x);
  295|  21.7M|  }
_ZN5boost11multi_index21multi_index_containerINSt3__14pairIKNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEENS_13property_tree11basic_ptreeIS9_S9_NS2_4lessIS9_EEEEEENS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EEEENS0_18ordered_non_uniqueINSJ_INSF_4subs7by_nameESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EENS0_6memberISG_SA_XadL_ZNSG_5firstEEEEESE_EESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EENS7_ISG_EEE19copy_construct_fromERKSX_:
  622|  21.7M|  {
  623|  21.7M|    copy_map_type map(bfm_allocator::member,x.size(),x.header(),header());
  624|  27.2M|    for(const_iterator it=x.begin(),it_end=x.end();it!=it_end;++it){
  ------------------
  |  Branch (624:52): [True: 5.43M, False: 21.7M]
  ------------------
  625|  5.43M|      map.copy_clone(it.get_node());
  626|  5.43M|    }
  627|  21.7M|    super::copy_(x,map);
  628|  21.7M|    map.release();
  629|  21.7M|    node_count=x.size();
  630|       |
  631|       |    /* Not until this point are the indices required to be consistent,
  632|       |     * hence the position of the invariant checker.
  633|       |     */
  634|       |
  635|  21.7M|    BOOST_MULTI_INDEX_CHECK_INVARIANT;
  636|  21.7M|  }
_ZNK5boost11multi_index21multi_index_containerINSt3__14pairIKNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEENS_13property_tree11basic_ptreeIS9_S9_NS2_4lessIS9_EEEEEENS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EEEENS0_18ordered_non_uniqueINSJ_INSF_4subs7by_nameESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EENS0_6memberISG_SA_XadL_ZNSG_5firstEEEEESE_EESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EENS7_ISG_EEE5size_Ev:
  681|  43.5M|  {
  682|  43.5M|    return node_count;
  683|  43.5M|  }
_ZN5boost11multi_index21multi_index_containerINSt3__14pairIKNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEENS_13property_tree11basic_ptreeIS9_S9_NS2_4lessIS9_EEEEEENS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EEEENS0_18ordered_non_uniqueINSJ_INSF_4subs7by_nameESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EENS0_6memberISG_SA_XadL_ZNSG_5firstEEEEESE_EESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EENS7_ISG_EEED2Ev:
  339|  27.2M|  {
  340|  27.2M|    delete_all_nodes_();
  341|  27.2M|  }
_ZN5boost11multi_index21multi_index_containerINSt3__14pairIKNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEENS_13property_tree11basic_ptreeIS9_S9_NS2_4lessIS9_EEEEEENS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EEEENS0_18ordered_non_uniqueINSJ_INSF_4subs7by_nameESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EENS0_6memberISG_SA_XadL_ZNSG_5firstEEEEESE_EESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EENS7_ISG_EEE17delete_all_nodes_Ev:
  965|  27.2M|  {
  966|  27.2M|    super::delete_all_nodes_();
  967|  27.2M|  }
_ZN5boost11multi_index21multi_index_containerINSt3__14pairIKNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEENS_13property_tree11basic_ptreeIS9_S9_NS2_4lessIS9_EEEEEENS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EEEENS0_18ordered_non_uniqueINSJ_INSF_4subs7by_nameESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EENS0_6memberISG_SA_XadL_ZNSG_5firstEEEEESE_EESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EENS7_ISG_EEE12delete_node_EPNS0_6detail20sequenced_index_nodeINSY_18ordered_index_nodeINSY_19null_augment_policyENSY_15index_node_baseISG_SW_EEEEEE:
  959|  10.8M|  {
  960|  10.8M|    destroy_value(x);
  961|  10.8M|    deallocate_node(x);
  962|  10.8M|  }
_ZN5boost11multi_index21multi_index_containerINSt3__14pairIKNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEENS_13property_tree11basic_ptreeIS9_S9_NS2_4lessIS9_EEEEEENS0_10indexed_byINS0_9sequencedINS0_3tagIN4mpl_2naESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EEEENS0_18ordered_non_uniqueINSJ_INSF_4subs7by_nameESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EENS0_6memberISG_SA_XadL_ZNSG_5firstEEEEESE_EESL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_SL_EENS7_ISG_EEE13destroy_valueEPNS0_6detail20sequenced_index_nodeINSY_18ordered_index_nodeINSY_19null_augment_policyENSY_15index_node_baseISG_SW_EEEEEE:
  670|  10.8M|  {
  671|  10.8M|    node_alloc_traits::destroy(
  672|  10.8M|      bfm_allocator::member,boost::addressof(x->value()));
  673|  10.8M|  }

_ZN5boost14operators_implneERKNS_11multi_index6detail19bidir_node_iteratorINS2_20sequenced_index_nodeINS2_18ordered_index_nodeINS2_19null_augment_policyENS2_15index_node_baseINSt3__14pairIKNS8_12basic_stringIcNS8_11char_traitsIcEENS8_9allocatorIcEEEENS_13property_tree11basic_ptreeISF_SF_NS8_4lessISF_EEEEEENSD_ISM_EEEEEEEEEEST_:
  171|  27.2M|     friend BOOST_OPERATORS_CONSTEXPR bool operator!=(const T& x, const T& y) { return !static_cast<bool>(x == y); }

_ZN5boost15optional_detail15aligned_storageINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEE7addressEv:
   40|   777k|    void      * address()       { return &dummy_; }
_ZNK5boost15optional_detail15aligned_storageINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEE3refEv:
   63|  48.9k|    T const& ref() const { return *boost::core::launder(ptr_ref()); }
_ZNK5boost15optional_detail15aligned_storageINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEE7ptr_refEv:
   49|  48.9k|    {
   50|  48.9k|        union { void const* ap_pvoid; T const* as_ptype; } caster = { address() };
   51|  48.9k|        return caster.as_ptype;
   52|  48.9k|    }
_ZNK5boost15optional_detail15aligned_storageINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEE7addressEv:
   39|  48.9k|    void const* address() const { return &dummy_; }
_ZN5boost15optional_detail15aligned_storageINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEE3refEv:
   64|   502k|    T &      ref()       { return *boost::core::launder(ptr_ref()); }
_ZN5boost15optional_detail15aligned_storageINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEE7ptr_refEv:
   54|   502k|    {
   55|   502k|        union { void* ap_pvoid; T* as_ptype; } caster = { address() };
   56|   502k|        return caster.as_ptype;
   57|   502k|    }

_ZN5boost8optionalIRKNS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEES9_NS3_4lessIS9_EEEEEC2Ev:
  126|  50.2k|    optional() BOOST_NOEXCEPT : ptr_() {}
_ZN5boost8optionalIRKNS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEES9_NS3_4lessIS9_EEEEEC2ISC_EERT_NS_11enable_if_cIXaasr6detail15is_same_decayedISD_SH_EE5valuentsr6detail36is_const_integral_bad_for_conversionISH_EE5valueEbE4typeE:
  140|  32.3k|      : ptr_(boost::addressof(rhs)) {}
_ZNK5boost8optionalIRKNS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEES9_NS3_4lessIS9_EEEEEcvbEv:
  163|  82.5k|    explicit operator bool() const BOOST_NOEXCEPT { return ptr_ != 0; }
_ZNK5boost8optionalIRKNS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEES9_NS3_4lessIS9_EEEEE3getEv:
  149|  32.3k|    T& get() const { BOOST_ASSERT(ptr_); return   *ptr_; }
  ------------------
  |  |   66|  32.3k|# define BOOST_ASSERT(expr) assert(expr)
  ------------------

_ZN5boost8optionalINSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEEC2ERKS7_:
  674|   275k|    optional ( argument_type val ) : base(optional_detail::init_value_tag(), val) {}
_ZN5boost15optional_detail13optional_baseINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEEC2ENS0_14init_value_tagERKS8_:
  169|   275k|      m_initialized(false)
  170|   275k|    {
  171|   275k|        construct(val);
  172|   275k|    }
_ZN5boost15optional_detail13optional_baseINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEE9constructERKS8_:
  377|   275k|     {
  378|   275k|       ::new (m_storage.address()) unqualified_value_type(val) ;
  379|   275k|       m_initialized = true ;
  380|   275k|     }
_ZNR5boost8optionalINSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEEdeEv:
  915|   225k|    reference_type       operator *() BOOST_OPTIONAL_REF_QUAL       { return this->get() ; }
_ZNK5boost8optionalINSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEE12get_value_orERKS7_:
  902|  84.5k|    reference_const_type get_value_or ( reference_const_type v ) const { return this->is_initialized() ? get() : v ; }
  ------------------
  |  Branch (902:81): [True: 48.9k, False: 35.6k]
  ------------------
_ZNK5boost15optional_detail13optional_baseINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEE14is_initializedEv:
  372|   325k|    bool is_initialized() const BOOST_NOEXCEPT { return m_initialized ; }
_ZNK5boost8optionalINSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEE3getEv:
  898|  48.9k|    reference_const_type get() const { BOOST_ASSERT(this->is_initialized()) ; return this->get_impl(); }
  ------------------
  |  |   66|  48.9k|# define BOOST_ASSERT(expr) assert(expr)
  ------------------
_ZNK5boost15optional_detail13optional_baseINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEE8get_implEv:
  515|  48.9k|    reference_const_type get_impl() const { return m_storage.ref() ; }
_ZN5boost8optionalINSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEEC2Ev:
  666|  50.2k|    optional() BOOST_NOEXCEPT : base() {}
_ZN5boost15optional_detail13optional_baseINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEEC2Ev:
  157|  50.2k|      m_initialized(false) {}
_ZNK5boost8optionalINSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEEcvbEv:
 1048|   241k|    explicit operator bool() const BOOST_NOEXCEPT { return this->has_value() ; }
_ZNK5boost8optionalINSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEE9has_valueEv:
 1046|   241k|    bool has_value() const BOOST_NOEXCEPT { return this->is_initialized() ; }
_ZN5boost8optionalINSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEE3getEv:
  899|   226k|    reference_type       get()       { BOOST_ASSERT(this->is_initialized()) ; return this->get_impl(); }
  ------------------
  |  |   66|   226k|# define BOOST_ASSERT(expr) assert(expr)
  ------------------
_ZN5boost15optional_detail13optional_baseINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEE8get_implEv:
  516|   226k|    reference_type       get_impl()       { return m_storage.ref() ; }
_ZN5boost15optional_detail13optional_baseINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEED2Ev:
  247|   325k|    ~optional_base() { destroy() ; }
_ZN5boost15optional_detail13optional_baseINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEE7destroyEv:
  510|   325k|    {
  511|   325k|      if ( m_initialized )
  ------------------
  |  Branch (511:12): [True: 275k, False: 50.2k]
  ------------------
  512|   275k|        destroy_impl() ;
  513|   325k|    }
_ZN5boost15optional_detail13optional_baseINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEE12destroy_implEv:
  526|   275k|    void destroy_impl ( ) { m_storage.ref().T::~T() ; m_initialized = false ; }

_ZN5boost8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEENS_11no_propertyEEC2ERKS8_:
   29|  3.73k|    property(const T& v = T()) : m_value(v) {}

_ZN5boost23ignore_other_propertiesERKNSt3__112basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEERKNS_3anyESB_:
  349|  20.9k|                        const boost::any&) {
  350|  20.9k|  return boost::shared_ptr<boost::dynamic_property_map>();
  351|  20.9k|}
_ZN5boost18dynamic_propertiesC2ERKNS_10function_nINS_10shared_ptrINS_20dynamic_property_mapEEEJRKNSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEERKNS_3anyESG_EEE:
  224|  6.25k|  dynamic_properties(const generate_fn_type& g) : generate_fn(g) {}
_ZN5boost18dynamic_propertiesD2Ev:
  226|  6.25k|  ~dynamic_properties() {}
_ZN5boost3putIPNS_14adjacency_listINS_4vecSES2_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS_11no_propertyEEENS4_INS_13edge_weight_tEdSD_EESD_NS_5listSEEEbEEbRKSC_RNS_18dynamic_propertiesERKT_RKT0_:
  286|  2.51k|{
  287|  2.51k|  for (dynamic_properties::iterator i = dp.lower_bound(name);
  288|  2.51k|       i != dp.end() && i->first == name; ++i) {
  ------------------
  |  Branch (288:8): [True: 0, False: 2.51k]
  |  Branch (288:8): [True: 0, False: 2.51k]
  |  Branch (288:25): [True: 0, False: 0]
  ------------------
  289|      0|    if (i->second->key() == typeid(key)) {
  ------------------
  |  Branch (289:9): [True: 0, False: 0]
  ------------------
  290|      0|      i->second->put(key, value);
  291|      0|      return true;
  292|      0|    }
  293|      0|  }
  294|       |
  295|  2.51k|  boost::shared_ptr<dynamic_property_map> new_map = dp.generate(name, key, value);
  296|  2.51k|  if (new_map.get()) {
  ------------------
  |  Branch (296:7): [True: 0, False: 2.51k]
  ------------------
  297|      0|    new_map->put(key, value);
  298|      0|    dp.insert(name, new_map);
  299|      0|    return true;
  300|  2.51k|  } else {
  301|  2.51k|    return false;
  302|  2.51k|  }
  303|  2.51k|}
_ZN5boost18dynamic_properties11lower_boundERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEE:
  255|  20.9k|  { return property_maps.lower_bound(name); }
_ZN5boost18dynamic_properties3endEv:
  251|  20.9k|  iterator       end()         { return property_maps.end(); }
_ZN5boost18dynamic_properties8generateIPNS_14adjacency_listINS_4vecSES3_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEENS_11no_propertyEEENS5_INS_13edge_weight_tEdSE_EESE_NS_5listSEEEbEENS_10shared_ptrINS_20dynamic_property_mapEEERKSD_RKT_RKT0_:
  269|  2.51k|  {
  270|  2.51k|    if(!generate_fn) {
  ------------------
  |  Branch (270:8): [True: 0, False: 2.51k]
  ------------------
  271|      0|      BOOST_THROW_EXCEPTION(property_not_found(name));
  ------------------
  |  |  182|      0|#define BOOST_THROW_EXCEPTION(x) ::boost::throw_exception(x, BOOST_CURRENT_LOCATION)
  |  |  ------------------
  |  |  |  |  175|      0|# define BOOST_CURRENT_LOCATION ::boost::source_location(__builtin_FILE(), __builtin_LINE(), __builtin_FUNCTION(), __builtin_COLUMN())
  |  |  ------------------
  ------------------
  272|  2.51k|    } else {
  273|  2.51k|      return generate_fn(name,key,value);
  274|  2.51k|    }
  275|  2.51k|  }
_ZN5boost3putIPNS_14adjacency_listINS_4vecSES2_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS_11no_propertyEEENS4_INS_13edge_weight_tEdSD_EESD_NS_5listSEEEiEEbRKSC_RNS_18dynamic_propertiesERKT_RKT0_:
  286|  1.70k|{
  287|  1.70k|  for (dynamic_properties::iterator i = dp.lower_bound(name);
  288|  1.70k|       i != dp.end() && i->first == name; ++i) {
  ------------------
  |  Branch (288:8): [True: 0, False: 1.70k]
  |  Branch (288:8): [True: 0, False: 1.70k]
  |  Branch (288:25): [True: 0, False: 0]
  ------------------
  289|      0|    if (i->second->key() == typeid(key)) {
  ------------------
  |  Branch (289:9): [True: 0, False: 0]
  ------------------
  290|      0|      i->second->put(key, value);
  291|      0|      return true;
  292|      0|    }
  293|      0|  }
  294|       |
  295|  1.70k|  boost::shared_ptr<dynamic_property_map> new_map = dp.generate(name, key, value);
  296|  1.70k|  if (new_map.get()) {
  ------------------
  |  Branch (296:7): [True: 0, False: 1.70k]
  ------------------
  297|      0|    new_map->put(key, value);
  298|      0|    dp.insert(name, new_map);
  299|      0|    return true;
  300|  1.70k|  } else {
  301|  1.70k|    return false;
  302|  1.70k|  }
  303|  1.70k|}
_ZN5boost18dynamic_properties8generateIPNS_14adjacency_listINS_4vecSES3_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEENS_11no_propertyEEENS5_INS_13edge_weight_tEdSE_EESE_NS_5listSEEEiEENS_10shared_ptrINS_20dynamic_property_mapEEERKSD_RKT_RKT0_:
  269|  1.70k|  {
  270|  1.70k|    if(!generate_fn) {
  ------------------
  |  Branch (270:8): [True: 0, False: 1.70k]
  ------------------
  271|      0|      BOOST_THROW_EXCEPTION(property_not_found(name));
  ------------------
  |  |  182|      0|#define BOOST_THROW_EXCEPTION(x) ::boost::throw_exception(x, BOOST_CURRENT_LOCATION)
  |  |  ------------------
  |  |  |  |  175|      0|# define BOOST_CURRENT_LOCATION ::boost::source_location(__builtin_FILE(), __builtin_LINE(), __builtin_FUNCTION(), __builtin_COLUMN())
  |  |  ------------------
  ------------------
  272|  1.70k|    } else {
  273|  1.70k|      return generate_fn(name,key,value);
  274|  1.70k|    }
  275|  1.70k|  }
_ZN5boost3putIPNS_14adjacency_listINS_4vecSES2_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS_11no_propertyEEENS4_INS_13edge_weight_tEdSD_EESD_NS_5listSEEElEEbRKSC_RNS_18dynamic_propertiesERKT_RKT0_:
  286|  1.71k|{
  287|  1.71k|  for (dynamic_properties::iterator i = dp.lower_bound(name);
  288|  1.71k|       i != dp.end() && i->first == name; ++i) {
  ------------------
  |  Branch (288:8): [True: 0, False: 1.71k]
  |  Branch (288:8): [True: 0, False: 1.71k]
  |  Branch (288:25): [True: 0, False: 0]
  ------------------
  289|      0|    if (i->second->key() == typeid(key)) {
  ------------------
  |  Branch (289:9): [True: 0, False: 0]
  ------------------
  290|      0|      i->second->put(key, value);
  291|      0|      return true;
  292|      0|    }
  293|      0|  }
  294|       |
  295|  1.71k|  boost::shared_ptr<dynamic_property_map> new_map = dp.generate(name, key, value);
  296|  1.71k|  if (new_map.get()) {
  ------------------
  |  Branch (296:7): [True: 0, False: 1.71k]
  ------------------
  297|      0|    new_map->put(key, value);
  298|      0|    dp.insert(name, new_map);
  299|      0|    return true;
  300|  1.71k|  } else {
  301|  1.71k|    return false;
  302|  1.71k|  }
  303|  1.71k|}
_ZN5boost18dynamic_properties8generateIPNS_14adjacency_listINS_4vecSES3_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEENS_11no_propertyEEENS5_INS_13edge_weight_tEdSE_EESE_NS_5listSEEElEENS_10shared_ptrINS_20dynamic_property_mapEEERKSD_RKT_RKT0_:
  269|  1.71k|  {
  270|  1.71k|    if(!generate_fn) {
  ------------------
  |  Branch (270:8): [True: 0, False: 1.71k]
  ------------------
  271|      0|      BOOST_THROW_EXCEPTION(property_not_found(name));
  ------------------
  |  |  182|      0|#define BOOST_THROW_EXCEPTION(x) ::boost::throw_exception(x, BOOST_CURRENT_LOCATION)
  |  |  ------------------
  |  |  |  |  175|      0|# define BOOST_CURRENT_LOCATION ::boost::source_location(__builtin_FILE(), __builtin_LINE(), __builtin_FUNCTION(), __builtin_COLUMN())
  |  |  ------------------
  ------------------
  272|  1.71k|    } else {
  273|  1.71k|      return generate_fn(name,key,value);
  274|  1.71k|    }
  275|  1.71k|  }
_ZN5boost3putIPNS_14adjacency_listINS_4vecSES2_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS_11no_propertyEEENS4_INS_13edge_weight_tEdSD_EESD_NS_5listSEEEfEEbRKSC_RNS_18dynamic_propertiesERKT_RKT0_:
  286|  3.60k|{
  287|  3.60k|  for (dynamic_properties::iterator i = dp.lower_bound(name);
  288|  3.60k|       i != dp.end() && i->first == name; ++i) {
  ------------------
  |  Branch (288:8): [True: 0, False: 3.60k]
  |  Branch (288:8): [True: 0, False: 3.60k]
  |  Branch (288:25): [True: 0, False: 0]
  ------------------
  289|      0|    if (i->second->key() == typeid(key)) {
  ------------------
  |  Branch (289:9): [True: 0, False: 0]
  ------------------
  290|      0|      i->second->put(key, value);
  291|      0|      return true;
  292|      0|    }
  293|      0|  }
  294|       |
  295|  3.60k|  boost::shared_ptr<dynamic_property_map> new_map = dp.generate(name, key, value);
  296|  3.60k|  if (new_map.get()) {
  ------------------
  |  Branch (296:7): [True: 0, False: 3.60k]
  ------------------
  297|      0|    new_map->put(key, value);
  298|      0|    dp.insert(name, new_map);
  299|      0|    return true;
  300|  3.60k|  } else {
  301|  3.60k|    return false;
  302|  3.60k|  }
  303|  3.60k|}
_ZN5boost18dynamic_properties8generateIPNS_14adjacency_listINS_4vecSES3_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEENS_11no_propertyEEENS5_INS_13edge_weight_tEdSE_EESE_NS_5listSEEEfEENS_10shared_ptrINS_20dynamic_property_mapEEERKSD_RKT_RKT0_:
  269|  3.60k|  {
  270|  3.60k|    if(!generate_fn) {
  ------------------
  |  Branch (270:8): [True: 0, False: 3.60k]
  ------------------
  271|      0|      BOOST_THROW_EXCEPTION(property_not_found(name));
  ------------------
  |  |  182|      0|#define BOOST_THROW_EXCEPTION(x) ::boost::throw_exception(x, BOOST_CURRENT_LOCATION)
  |  |  ------------------
  |  |  |  |  175|      0|# define BOOST_CURRENT_LOCATION ::boost::source_location(__builtin_FILE(), __builtin_LINE(), __builtin_FUNCTION(), __builtin_COLUMN())
  |  |  ------------------
  ------------------
  272|  3.60k|    } else {
  273|  3.60k|      return generate_fn(name,key,value);
  274|  3.60k|    }
  275|  3.60k|  }
_ZN5boost3putIPNS_14adjacency_listINS_4vecSES2_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS_11no_propertyEEENS4_INS_13edge_weight_tEdSD_EESD_NS_5listSEEEdEEbRKSC_RNS_18dynamic_propertiesERKT_RKT0_:
  286|  2.72k|{
  287|  2.72k|  for (dynamic_properties::iterator i = dp.lower_bound(name);
  288|  2.72k|       i != dp.end() && i->first == name; ++i) {
  ------------------
  |  Branch (288:8): [True: 0, False: 2.72k]
  |  Branch (288:8): [True: 0, False: 2.72k]
  |  Branch (288:25): [True: 0, False: 0]
  ------------------
  289|      0|    if (i->second->key() == typeid(key)) {
  ------------------
  |  Branch (289:9): [True: 0, False: 0]
  ------------------
  290|      0|      i->second->put(key, value);
  291|      0|      return true;
  292|      0|    }
  293|      0|  }
  294|       |
  295|  2.72k|  boost::shared_ptr<dynamic_property_map> new_map = dp.generate(name, key, value);
  296|  2.72k|  if (new_map.get()) {
  ------------------
  |  Branch (296:7): [True: 0, False: 2.72k]
  ------------------
  297|      0|    new_map->put(key, value);
  298|      0|    dp.insert(name, new_map);
  299|      0|    return true;
  300|  2.72k|  } else {
  301|  2.72k|    return false;
  302|  2.72k|  }
  303|  2.72k|}
_ZN5boost18dynamic_properties8generateIPNS_14adjacency_listINS_4vecSES3_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEENS_11no_propertyEEENS5_INS_13edge_weight_tEdSE_EESE_NS_5listSEEEdEENS_10shared_ptrINS_20dynamic_property_mapEEERKSD_RKT_RKT0_:
  269|  2.72k|  {
  270|  2.72k|    if(!generate_fn) {
  ------------------
  |  Branch (270:8): [True: 0, False: 2.72k]
  ------------------
  271|      0|      BOOST_THROW_EXCEPTION(property_not_found(name));
  ------------------
  |  |  182|      0|#define BOOST_THROW_EXCEPTION(x) ::boost::throw_exception(x, BOOST_CURRENT_LOCATION)
  |  |  ------------------
  |  |  |  |  175|      0|# define BOOST_CURRENT_LOCATION ::boost::source_location(__builtin_FILE(), __builtin_LINE(), __builtin_FUNCTION(), __builtin_COLUMN())
  |  |  ------------------
  ------------------
  272|  2.72k|    } else {
  273|  2.72k|      return generate_fn(name,key,value);
  274|  2.72k|    }
  275|  2.72k|  }
_ZN5boost3putIPNS_14adjacency_listINS_4vecSES2_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS_11no_propertyEEENS4_INS_13edge_weight_tEdSD_EESD_NS_5listSEEESC_EEbRKSC_RNS_18dynamic_propertiesERKT_RKT0_:
  286|    715|{
  287|    715|  for (dynamic_properties::iterator i = dp.lower_bound(name);
  288|    715|       i != dp.end() && i->first == name; ++i) {
  ------------------
  |  Branch (288:8): [True: 0, False: 715]
  |  Branch (288:8): [True: 0, False: 715]
  |  Branch (288:25): [True: 0, False: 0]
  ------------------
  289|      0|    if (i->second->key() == typeid(key)) {
  ------------------
  |  Branch (289:9): [True: 0, False: 0]
  ------------------
  290|      0|      i->second->put(key, value);
  291|      0|      return true;
  292|      0|    }
  293|      0|  }
  294|       |
  295|    715|  boost::shared_ptr<dynamic_property_map> new_map = dp.generate(name, key, value);
  296|    715|  if (new_map.get()) {
  ------------------
  |  Branch (296:7): [True: 0, False: 715]
  ------------------
  297|      0|    new_map->put(key, value);
  298|      0|    dp.insert(name, new_map);
  299|      0|    return true;
  300|    715|  } else {
  301|    715|    return false;
  302|    715|  }
  303|    715|}
_ZN5boost18dynamic_properties8generateIPNS_14adjacency_listINS_4vecSES3_NS_9directedSENS_8propertyINS_13vertex_name_tENSt3__112basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEENS_11no_propertyEEENS5_INS_13edge_weight_tEdSE_EESE_NS_5listSEEESD_EENS_10shared_ptrINS_20dynamic_property_mapEEERKSD_RKT_RKT0_:
  269|    715|  {
  270|    715|    if(!generate_fn) {
  ------------------
  |  Branch (270:8): [True: 0, False: 715]
  ------------------
  271|      0|      BOOST_THROW_EXCEPTION(property_not_found(name));
  ------------------
  |  |  182|      0|#define BOOST_THROW_EXCEPTION(x) ::boost::throw_exception(x, BOOST_CURRENT_LOCATION)
  |  |  ------------------
  |  |  |  |  175|      0|# define BOOST_CURRENT_LOCATION ::boost::source_location(__builtin_FILE(), __builtin_LINE(), __builtin_FUNCTION(), __builtin_COLUMN())
  |  |  ------------------
  ------------------
  272|    715|    } else {
  273|    715|      return generate_fn(name,key,value);
  274|    715|    }
  275|    715|  }
_ZN5boost3putImbEEbRKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEERNS_18dynamic_propertiesERKT_RKT0_:
  286|  4.23k|{
  287|  4.23k|  for (dynamic_properties::iterator i = dp.lower_bound(name);
  288|  4.23k|       i != dp.end() && i->first == name; ++i) {
  ------------------
  |  Branch (288:8): [True: 0, False: 4.23k]
  |  Branch (288:8): [True: 0, False: 4.23k]
  |  Branch (288:25): [True: 0, False: 0]
  ------------------
  289|      0|    if (i->second->key() == typeid(key)) {
  ------------------
  |  Branch (289:9): [True: 0, False: 0]
  ------------------
  290|      0|      i->second->put(key, value);
  291|      0|      return true;
  292|      0|    }
  293|      0|  }
  294|       |
  295|  4.23k|  boost::shared_ptr<dynamic_property_map> new_map = dp.generate(name, key, value);
  296|  4.23k|  if (new_map.get()) {
  ------------------
  |  Branch (296:7): [True: 0, False: 4.23k]
  ------------------
  297|      0|    new_map->put(key, value);
  298|      0|    dp.insert(name, new_map);
  299|      0|    return true;
  300|  4.23k|  } else {
  301|  4.23k|    return false;
  302|  4.23k|  }
  303|  4.23k|}
_ZN5boost18dynamic_properties8generateImbEENS_10shared_ptrINS_20dynamic_property_mapEEERKNSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEERKT_RKT0_:
  269|  4.23k|  {
  270|  4.23k|    if(!generate_fn) {
  ------------------
  |  Branch (270:8): [True: 0, False: 4.23k]
  ------------------
  271|      0|      BOOST_THROW_EXCEPTION(property_not_found(name));
  ------------------
  |  |  182|      0|#define BOOST_THROW_EXCEPTION(x) ::boost::throw_exception(x, BOOST_CURRENT_LOCATION)
  |  |  ------------------
  |  |  |  |  175|      0|# define BOOST_CURRENT_LOCATION ::boost::source_location(__builtin_FILE(), __builtin_LINE(), __builtin_FUNCTION(), __builtin_COLUMN())
  |  |  ------------------
  ------------------
  272|  4.23k|    } else {
  273|  4.23k|      return generate_fn(name,key,value);
  274|  4.23k|    }
  275|  4.23k|  }
_ZN5boost3putImiEEbRKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEERNS_18dynamic_propertiesERKT_RKT0_:
  286|    713|{
  287|    713|  for (dynamic_properties::iterator i = dp.lower_bound(name);
  288|    713|       i != dp.end() && i->first == name; ++i) {
  ------------------
  |  Branch (288:8): [True: 0, False: 713]
  |  Branch (288:8): [True: 0, False: 713]
  |  Branch (288:25): [True: 0, False: 0]
  ------------------
  289|      0|    if (i->second->key() == typeid(key)) {
  ------------------
  |  Branch (289:9): [True: 0, False: 0]
  ------------------
  290|      0|      i->second->put(key, value);
  291|      0|      return true;
  292|      0|    }
  293|      0|  }
  294|       |
  295|    713|  boost::shared_ptr<dynamic_property_map> new_map = dp.generate(name, key, value);
  296|    713|  if (new_map.get()) {
  ------------------
  |  Branch (296:7): [True: 0, False: 713]
  ------------------
  297|      0|    new_map->put(key, value);
  298|      0|    dp.insert(name, new_map);
  299|      0|    return true;
  300|    713|  } else {
  301|    713|    return false;
  302|    713|  }
  303|    713|}
_ZN5boost18dynamic_properties8generateImiEENS_10shared_ptrINS_20dynamic_property_mapEEERKNSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEERKT_RKT0_:
  269|    713|  {
  270|    713|    if(!generate_fn) {
  ------------------
  |  Branch (270:8): [True: 0, False: 713]
  ------------------
  271|      0|      BOOST_THROW_EXCEPTION(property_not_found(name));
  ------------------
  |  |  182|      0|#define BOOST_THROW_EXCEPTION(x) ::boost::throw_exception(x, BOOST_CURRENT_LOCATION)
  |  |  ------------------
  |  |  |  |  175|      0|# define BOOST_CURRENT_LOCATION ::boost::source_location(__builtin_FILE(), __builtin_LINE(), __builtin_FUNCTION(), __builtin_COLUMN())
  |  |  ------------------
  ------------------
  272|    713|    } else {
  273|    713|      return generate_fn(name,key,value);
  274|    713|    }
  275|    713|  }
_ZN5boost3putImlEEbRKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEERNS_18dynamic_propertiesERKT_RKT0_:
  286|    923|{
  287|    923|  for (dynamic_properties::iterator i = dp.lower_bound(name);
  288|    923|       i != dp.end() && i->first == name; ++i) {
  ------------------
  |  Branch (288:8): [True: 0, False: 923]
  |  Branch (288:8): [True: 0, False: 923]
  |  Branch (288:25): [True: 0, False: 0]
  ------------------
  289|      0|    if (i->second->key() == typeid(key)) {
  ------------------
  |  Branch (289:9): [True: 0, False: 0]
  ------------------
  290|      0|      i->second->put(key, value);
  291|      0|      return true;
  292|      0|    }
  293|      0|  }
  294|       |
  295|    923|  boost::shared_ptr<dynamic_property_map> new_map = dp.generate(name, key, value);
  296|    923|  if (new_map.get()) {
  ------------------
  |  Branch (296:7): [True: 0, False: 923]
  ------------------
  297|      0|    new_map->put(key, value);
  298|      0|    dp.insert(name, new_map);
  299|      0|    return true;
  300|    923|  } else {
  301|    923|    return false;
  302|    923|  }
  303|    923|}
_ZN5boost18dynamic_properties8generateImlEENS_10shared_ptrINS_20dynamic_property_mapEEERKNSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEERKT_RKT0_:
  269|    923|  {
  270|    923|    if(!generate_fn) {
  ------------------
  |  Branch (270:8): [True: 0, False: 923]
  ------------------
  271|      0|      BOOST_THROW_EXCEPTION(property_not_found(name));
  ------------------
  |  |  182|      0|#define BOOST_THROW_EXCEPTION(x) ::boost::throw_exception(x, BOOST_CURRENT_LOCATION)
  |  |  ------------------
  |  |  |  |  175|      0|# define BOOST_CURRENT_LOCATION ::boost::source_location(__builtin_FILE(), __builtin_LINE(), __builtin_FUNCTION(), __builtin_COLUMN())
  |  |  ------------------
  ------------------
  272|    923|    } else {
  273|    923|      return generate_fn(name,key,value);
  274|    923|    }
  275|    923|  }
_ZN5boost3putImfEEbRKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEERNS_18dynamic_propertiesERKT_RKT0_:
  286|    891|{
  287|    891|  for (dynamic_properties::iterator i = dp.lower_bound(name);
  288|    891|       i != dp.end() && i->first == name; ++i) {
  ------------------
  |  Branch (288:8): [True: 0, False: 891]
  |  Branch (288:8): [True: 0, False: 891]
  |  Branch (288:25): [True: 0, False: 0]
  ------------------
  289|      0|    if (i->second->key() == typeid(key)) {
  ------------------
  |  Branch (289:9): [True: 0, False: 0]
  ------------------
  290|      0|      i->second->put(key, value);
  291|      0|      return true;
  292|      0|    }
  293|      0|  }
  294|       |
  295|    891|  boost::shared_ptr<dynamic_property_map> new_map = dp.generate(name, key, value);
  296|    891|  if (new_map.get()) {
  ------------------
  |  Branch (296:7): [True: 0, False: 891]
  ------------------
  297|      0|    new_map->put(key, value);
  298|      0|    dp.insert(name, new_map);
  299|      0|    return true;
  300|    891|  } else {
  301|    891|    return false;
  302|    891|  }
  303|    891|}
_ZN5boost18dynamic_properties8generateImfEENS_10shared_ptrINS_20dynamic_property_mapEEERKNSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEERKT_RKT0_:
  269|    891|  {
  270|    891|    if(!generate_fn) {
  ------------------
  |  Branch (270:8): [True: 0, False: 891]
  ------------------
  271|      0|      BOOST_THROW_EXCEPTION(property_not_found(name));
  ------------------
  |  |  182|      0|#define BOOST_THROW_EXCEPTION(x) ::boost::throw_exception(x, BOOST_CURRENT_LOCATION)
  |  |  ------------------
  |  |  |  |  175|      0|# define BOOST_CURRENT_LOCATION ::boost::source_location(__builtin_FILE(), __builtin_LINE(), __builtin_FUNCTION(), __builtin_COLUMN())
  |  |  ------------------
  ------------------
  272|    891|    } else {
  273|    891|      return generate_fn(name,key,value);
  274|    891|    }
  275|    891|  }
_ZN5boost3putImdEEbRKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEERNS_18dynamic_propertiesERKT_RKT0_:
  286|    644|{
  287|    644|  for (dynamic_properties::iterator i = dp.lower_bound(name);
  288|    644|       i != dp.end() && i->first == name; ++i) {
  ------------------
  |  Branch (288:8): [True: 0, False: 644]
  |  Branch (288:8): [True: 0, False: 644]
  |  Branch (288:25): [True: 0, False: 0]
  ------------------
  289|      0|    if (i->second->key() == typeid(key)) {
  ------------------
  |  Branch (289:9): [True: 0, False: 0]
  ------------------
  290|      0|      i->second->put(key, value);
  291|      0|      return true;
  292|      0|    }
  293|      0|  }
  294|       |
  295|    644|  boost::shared_ptr<dynamic_property_map> new_map = dp.generate(name, key, value);
  296|    644|  if (new_map.get()) {
  ------------------
  |  Branch (296:7): [True: 0, False: 644]
  ------------------
  297|      0|    new_map->put(key, value);
  298|      0|    dp.insert(name, new_map);
  299|      0|    return true;
  300|    644|  } else {
  301|    644|    return false;
  302|    644|  }
  303|    644|}
_ZN5boost18dynamic_properties8generateImdEENS_10shared_ptrINS_20dynamic_property_mapEEERKNSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEERKT_RKT0_:
  269|    644|  {
  270|    644|    if(!generate_fn) {
  ------------------
  |  Branch (270:8): [True: 0, False: 644]
  ------------------
  271|      0|      BOOST_THROW_EXCEPTION(property_not_found(name));
  ------------------
  |  |  182|      0|#define BOOST_THROW_EXCEPTION(x) ::boost::throw_exception(x, BOOST_CURRENT_LOCATION)
  |  |  ------------------
  |  |  |  |  175|      0|# define BOOST_CURRENT_LOCATION ::boost::source_location(__builtin_FILE(), __builtin_LINE(), __builtin_FUNCTION(), __builtin_COLUMN())
  |  |  ------------------
  ------------------
  272|    644|    } else {
  273|    644|      return generate_fn(name,key,value);
  274|    644|    }
  275|    644|  }
_ZN5boost3putImNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEEEbRKS7_RNS_18dynamic_propertiesERKT_RKT0_:
  286|    603|{
  287|    603|  for (dynamic_properties::iterator i = dp.lower_bound(name);
  288|    603|       i != dp.end() && i->first == name; ++i) {
  ------------------
  |  Branch (288:8): [True: 0, False: 603]
  |  Branch (288:8): [True: 0, False: 603]
  |  Branch (288:25): [True: 0, False: 0]
  ------------------
  289|      0|    if (i->second->key() == typeid(key)) {
  ------------------
  |  Branch (289:9): [True: 0, False: 0]
  ------------------
  290|      0|      i->second->put(key, value);
  291|      0|      return true;
  292|      0|    }
  293|      0|  }
  294|       |
  295|    603|  boost::shared_ptr<dynamic_property_map> new_map = dp.generate(name, key, value);
  296|    603|  if (new_map.get()) {
  ------------------
  |  Branch (296:7): [True: 0, False: 603]
  ------------------
  297|      0|    new_map->put(key, value);
  298|      0|    dp.insert(name, new_map);
  299|      0|    return true;
  300|    603|  } else {
  301|    603|    return false;
  302|    603|  }
  303|    603|}
_ZN5boost18dynamic_properties8generateImNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEEENS_10shared_ptrINS_20dynamic_property_mapEEERKS8_RKT_RKT0_:
  269|    603|  {
  270|    603|    if(!generate_fn) {
  ------------------
  |  Branch (270:8): [True: 0, False: 603]
  ------------------
  271|      0|      BOOST_THROW_EXCEPTION(property_not_found(name));
  ------------------
  |  |  182|      0|#define BOOST_THROW_EXCEPTION(x) ::boost::throw_exception(x, BOOST_CURRENT_LOCATION)
  |  |  ------------------
  |  |  |  |  175|      0|# define BOOST_CURRENT_LOCATION ::boost::source_location(__builtin_FILE(), __builtin_LINE(), __builtin_FUNCTION(), __builtin_COLUMN())
  |  |  ------------------
  ------------------
  272|    603|    } else {
  273|    603|      return generate_fn(name,key,value);
  274|    603|    }
  275|    603|  }

_ZN5boost13property_tree11ptree_errorC2ERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEE:
   38|  4.25k|        std::runtime_error(w) 
   39|  4.25k|    {
   40|  4.25k|    }
_ZN5boost13property_tree14ptree_bad_pathC2INS0_11string_pathINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS0_13id_translatorISA_EEEEEERKSA_RKT_:
   62|  1.90k|        ptree_error(detail::prepare_bad_path_what(w, p)), m_path(p)
   63|  1.90k|    {
   64|       |
   65|  1.90k|    }
_ZN5boost13property_tree6detail21prepare_bad_path_whatINS0_11string_pathINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS0_13id_translatorISA_EEEEEESA_RKSA_RKT_:
   28|  1.90k|        {
   29|  1.90k|            return what + " (" + path.dump() + ")";
   30|  1.90k|        }

_ZN5boost13property_tree17file_parser_errorC2ERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESA_m:
   33|  2.35k|            ptree_error(format_what(msg, file, l)),
   34|  2.35k|            m_message(msg), m_filename(file), m_line(l)
   35|  2.35k|        {
   36|  2.35k|        }
_ZN5boost13property_tree17file_parser_error11format_whatERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESA_m:
   70|  2.35k|        {
   71|  2.35k|            std::stringstream stream;
   72|  2.35k|            stream << (file.empty() ? "<unspecified file>" : file.c_str());
  ------------------
  |  Branch (72:24): [True: 2.35k, False: 0]
  ------------------
   73|  2.35k|            if (l > 0)
  ------------------
  |  Branch (73:17): [True: 2.35k, False: 0]
  ------------------
   74|  2.35k|                stream << '(' << l << ')';
   75|  2.35k|            stream << ": " << msg;
   76|  2.35k|            return stream.str();
   77|  2.35k|        }

_ZN5boost13property_tree11basic_ptreeINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES8_NS2_4lessIS8_EEEC2Ev:
  182|  5.45M|        : m_children(new typename subs::base_container)
  183|  5.45M|    {
  184|  5.45M|    }
_ZN5boost13property_tree11basic_ptreeINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES8_NS2_4lessIS8_EEE9push_backERKNS2_4pairIKS8_SB_EE:
  365|  5.44M|    {
  366|  5.44M|        return iterator(subs::ch(this).push_back(value).first);
  367|  5.44M|    }
_ZN5boost13property_tree11basic_ptreeINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES8_NS2_4lessIS8_EEE4subs2chEPSB_:
   63|  32.6M|        static base_container& ch(self_type *s) {
   64|  32.6M|            return *static_cast<base_container*>(s->m_children);
   65|  32.6M|        }
_ZN5boost13property_tree11basic_ptreeINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES8_NS2_4lessIS8_EEE8iteratorC2ENS_11multi_index6detail19bidir_node_iteratorINSE_20sequenced_index_nodeINSE_18ordered_index_nodeINSE_19null_augment_policyENSE_15index_node_baseINS2_4pairIKS8_SB_EENS6_ISM_EEEEEEEEEE:
   88|  5.45M|            : iterator::iterator_adaptor_(b)
   89|  5.45M|        {}
_ZNK5boost13property_tree11basic_ptreeINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES8_NS2_4lessIS8_EEE8iterator11dereferenceEv:
   91|  7.20M|        {
   92|       |            // multi_index doesn't allow modification of its values, because
   93|       |            // indexes could sort by anything, and modification screws that up.
   94|       |            // However, we only sort by the key, and it's protected against
   95|       |            // modification in the value_type, so this const_cast is safe.
   96|  7.20M|            return const_cast<reference>(*this->base_reference());
   97|  7.20M|        }
_ZN5boost13property_tree11basic_ptreeINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES8_NS2_4lessIS8_EEE4dataEv:
  553|   461k|    {
  554|   461k|        return m_data;
  555|   461k|    }
_ZN5boost13property_tree11basic_ptreeINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES8_NS2_4lessIS8_EEE4swapERSB_:
  215|  3.90k|    {
  216|  3.90k|        boost::core::invoke_swap(m_data, rhs.m_data);
  217|       |        // Void pointers, no ADL necessary
  218|  3.90k|        std::swap(m_children, rhs.m_children);
  219|  3.90k|    }
_ZN5boost13property_tree11basic_ptreeINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES8_NS2_4lessIS8_EEE9get_childERKNS0_11string_pathIS8_NS0_13id_translatorIS8_EEEE:
  574|  28.8k|    {
  575|  28.8k|        path_type p(path);
  576|  28.8k|        self_type *n = walk_path(p);
  577|  28.8k|        if (!n) {
  ------------------
  |  Branch (577:13): [True: 1.90k, False: 26.9k]
  ------------------
  578|  1.90k|            BOOST_PROPERTY_TREE_THROW(ptree_bad_path("No such node", path));
  ------------------
  |  |  140|  1.90k|#   define BOOST_PROPERTY_TREE_THROW(e) BOOST_THROW_EXCEPTION(e)
  |  |  ------------------
  |  |  |  |  182|  1.90k|#define BOOST_THROW_EXCEPTION(x) ::boost::throw_exception(x, BOOST_CURRENT_LOCATION)
  |  |  |  |  ------------------
  |  |  |  |  |  |  175|  1.90k|# define BOOST_CURRENT_LOCATION ::boost::source_location(__builtin_FILE(), __builtin_LINE(), __builtin_FUNCTION(), __builtin_COLUMN())
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  579|  1.90k|        }
  580|  26.9k|        return *n;
  581|  28.8k|    }
_ZNK5boost13property_tree11basic_ptreeINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES8_NS2_4lessIS8_EEE9walk_pathERNS0_11string_pathIS8_NS0_13id_translatorIS8_EEEE:
  888|   260k|    {
  889|   260k|        if(p.empty()) {
  ------------------
  |  Branch (889:12): [True: 59.2k, False: 201k]
  ------------------
  890|       |            // I'm the child we're looking for.
  891|  59.2k|            return const_cast<basic_ptree*>(this);
  892|  59.2k|        }
  893|       |        // Recurse down the tree to find the path.
  894|   201k|        key_type fragment = p.reduce();
  895|   201k|        const_assoc_iterator el = find(fragment);
  896|   201k|        if(el == not_found()) {
  ------------------
  |  Branch (896:12): [True: 52.1k, False: 149k]
  ------------------
  897|       |            // No such child.
  898|  52.1k|            return 0;
  899|  52.1k|        }
  900|       |        // Not done yet, recurse.
  901|   149k|        return el->second.walk_path(p);
  902|   201k|    }
_ZNK5boost13property_tree11basic_ptreeINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES8_NS2_4lessIS8_EEE4findERKS8_:
  488|   201k|    {
  489|   201k|        return const_assoc_iterator(subs::assoc(this).find(key));
  490|   201k|    }
_ZN5boost13property_tree11basic_ptreeINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES8_NS2_4lessIS8_EEE4subs5assocEPKSB_:
   72|   402k|        static const by_name_index& assoc(const self_type *s) {
   73|   402k|            return ch(s).BOOST_NESTED_TEMPLATE get<by_name>();
   74|   402k|        }
_ZN5boost13property_tree11basic_ptreeINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES8_NS2_4lessIS8_EEE4subs2chEPKSB_:
   66|  22.2M|        static const base_container& ch(const self_type *s) {
   67|  22.2M|            return *static_cast<const base_container*>(s->m_children);
   68|  22.2M|        }
_ZN5boost13property_tree11basic_ptreeINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES8_NS2_4lessIS8_EEE20const_assoc_iteratorC2ENS_11multi_index6detail19bidir_node_iteratorINSE_18ordered_index_nodeINSE_19null_augment_policyENSE_15index_node_baseINS2_4pairIKS8_SB_EENS6_ISL_EEEEEEEE:
  167|   402k|            : const_assoc_iterator::iterator_adaptor_(b)
  168|   402k|        {}
_ZNK5boost13property_tree11basic_ptreeINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES8_NS2_4lessIS8_EEE9not_foundEv:
  474|   201k|    {
  475|   201k|        return const_assoc_iterator(subs::assoc(this).end());
  476|   201k|    }
_ZN5boost13property_tree11basic_ptreeINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES8_NS2_4lessIS8_EEEC2ERKSB_:
  194|  21.7M|        : m_data(rhs.m_data),
  195|  21.7M|          m_children(new typename subs::base_container(subs::ch(&rhs)))
  196|  21.7M|    {
  197|  21.7M|    }
_ZN5boost13property_tree11basic_ptreeINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES8_NS2_4lessIS8_EEE5beginEv:
  246|  3.21k|    {
  247|  3.21k|        return iterator(subs::ch(this).begin());
  248|  3.21k|    }
_ZN5boost13property_tree11basic_ptreeINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES8_NS2_4lessIS8_EEE3endEv:
  260|  3.21k|    {
  261|  3.21k|        return iterator(subs::ch(this).end());
  262|  3.21k|    }
_ZNK5boost13property_tree11basic_ptreeINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES8_NS2_4lessIS8_EEE3getIcEENS_9enable_ifINS0_6detail12is_characterIT_EENS3_ISG_NS4_ISG_EENS6_ISG_EEEEE4typeERKNS0_11string_pathIS8_NS0_13id_translatorIS8_EEEEPKSG_:
  794|  66.3k|    {
  795|  66.3k|        return get< std::basic_string<Ch> >(path, default_value);
  796|  66.3k|    }
_ZNK5boost13property_tree11basic_ptreeINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES8_NS2_4lessIS8_EEE3getIS8_EENS_10disable_ifINS0_6detail13is_translatorIT_EESG_E4typeERKNS0_11string_pathIS8_NS0_13id_translatorIS8_EEEERKSG_:
  782|  66.3k|    {
  783|  66.3k|        return get_optional<Type>(path).get_value_or(default_value);
  784|  66.3k|    }
_ZNK5boost13property_tree11basic_ptreeINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES8_NS2_4lessIS8_EEE12get_optionalIS8_EENS_8optionalIT_EERKNS0_11string_pathIS8_NS0_13id_translatorIS8_EEEE:
  814|  82.5k|    {
  815|  82.5k|        if (optional<const self_type&> child = get_child_optional(path))
  ------------------
  |  Branch (815:40): [True: 32.3k, False: 50.2k]
  ------------------
  816|  32.3k|            return child.get().BOOST_NESTED_TEMPLATE get_value_optional<Type>();
  817|  50.2k|        else
  818|  50.2k|            return optional<Type>();
  819|  82.5k|    }
_ZNK5boost13property_tree11basic_ptreeINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES8_NS2_4lessIS8_EEE18get_child_optionalERKNS0_11string_pathIS8_NS0_13id_translatorIS8_EEEE:
  625|  82.5k|    {
  626|  82.5k|        path_type p(path);
  627|  82.5k|        self_type *n = walk_path(p);
  628|  82.5k|        if (!n) {
  ------------------
  |  Branch (628:13): [True: 50.2k, False: 32.3k]
  ------------------
  629|  50.2k|            return optional<const self_type&>();
  630|  50.2k|        }
  631|  32.3k|        return *n;
  632|  82.5k|    }
_ZNK5boost13property_tree11basic_ptreeINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES8_NS2_4lessIS8_EEE18get_value_optionalIS8_EENS_8optionalIT_EEv:
  735|  32.3k|    {
  736|  32.3k|        return get_value_optional<Type>(
  737|  32.3k|            typename translator_between<data_type, Type>::type());
  738|  32.3k|    }
_ZNK5boost13property_tree11basic_ptreeINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES8_NS2_4lessIS8_EEE18get_value_optionalIS8_NS0_13id_translatorIS8_EEEENS_8optionalIT_EET0_:
  728|  74.2k|    {
  729|  74.2k|        return tr.get_value(data());
  730|  74.2k|    }
_ZNK5boost13property_tree11basic_ptreeINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES8_NS2_4lessIS8_EEE4dataEv:
  560|  74.2k|    {
  561|  74.2k|        return m_data;
  562|  74.2k|    }
_ZNK5boost13property_tree11basic_ptreeINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES8_NS2_4lessIS8_EEE5beginEv:
  253|  23.0k|    {
  254|  23.0k|        return const_iterator(subs::ch(this).begin());
  255|  23.0k|    }
_ZN5boost13property_tree11basic_ptreeINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES8_NS2_4lessIS8_EEE14const_iteratorC2ENS_11multi_index6detail19bidir_node_iteratorINSE_20sequenced_index_nodeINSE_18ordered_index_nodeINSE_19null_augment_policyENSE_15index_node_baseINS2_4pairIKS8_SB_EENS6_ISM_EEEEEEEEEE:
  106|  46.1k|            : const_iterator::iterator_adaptor_(b)
  107|  46.1k|        {}
_ZNK5boost13property_tree11basic_ptreeINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES8_NS2_4lessIS8_EEE3endEv:
  267|  23.0k|    {
  268|  23.0k|        return const_iterator(subs::ch(this).end());
  269|  23.0k|    }
_ZNK5boost13property_tree11basic_ptreeINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES8_NS2_4lessIS8_EEE3getIS8_EET_RKNS0_11string_pathIS8_NS0_13id_translatorIS8_EEEE:
  752|  24.9k|    {
  753|  24.9k|        return get_child(path).BOOST_NESTED_TEMPLATE get_value<Type>();
  754|  24.9k|    }
_ZNK5boost13property_tree11basic_ptreeINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES8_NS2_4lessIS8_EEE9get_childERKNS0_11string_pathIS8_NS0_13id_translatorIS8_EEEE:
  586|  24.9k|    {
  587|  24.9k|        return const_cast<self_type*>(this)->get_child(path);
  588|  24.9k|    }
_ZNK5boost13property_tree11basic_ptreeINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES8_NS2_4lessIS8_EEE9get_valueIS8_EET_v:
  680|  23.6k|    {
  681|  23.6k|        return get_value<Type>(
  682|  23.6k|            typename translator_between<data_type, Type>::type());
  683|  23.6k|    }
_ZNK5boost13property_tree11basic_ptreeINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES8_NS2_4lessIS8_EEE9get_valueIS8_NS0_13id_translatorIS8_EEEENS_9enable_ifINS0_6detail13is_translatorIT0_EET_E4typeESI_:
  668|  23.6k|    {
  669|  23.6k|        if(boost::optional<Type> o = get_value_optional<Type>(tr)) {
  ------------------
  |  Branch (669:34): [True: 23.6k, False: 0]
  ------------------
  670|  23.6k|            return *o;
  671|  23.6k|        }
  672|      0|        BOOST_PROPERTY_TREE_THROW(ptree_bad_data(
  ------------------
  |  |  140|      0|#   define BOOST_PROPERTY_TREE_THROW(e) BOOST_THROW_EXCEPTION(e)
  |  |  ------------------
  |  |  |  |  182|      0|#define BOOST_THROW_EXCEPTION(x) ::boost::throw_exception(x, BOOST_CURRENT_LOCATION)
  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|# define BOOST_CURRENT_LOCATION ::boost::source_location(__builtin_FILE(), __builtin_LINE(), __builtin_FUNCTION(), __builtin_COLUMN())
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  673|  23.6k|            std::string("conversion of data to type \"") +
  674|  23.6k|            boost::core::type_name<Type>() + "\" failed", data()));
  675|  23.6k|    }
_ZNK5boost13property_tree11basic_ptreeINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES8_NS2_4lessIS8_EEE9get_valueIcEENS_9enable_ifINS0_6detail12is_characterIT_EENS3_ISG_NS4_ISG_EENS6_ISG_EEEEE4typeEPKSG_:
  720|  18.1k|    {
  721|  18.1k|        return get_value< std::basic_string<Ch> >(default_value);
  722|  18.1k|    }
_ZNK5boost13property_tree11basic_ptreeINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES8_NS2_4lessIS8_EEE9get_valueIS8_EENS_10disable_ifINS0_6detail13is_translatorIT_EESG_E4typeERKSG_:
  708|  18.1k|    {
  709|  18.1k|        return get_value(default_value,
  710|  18.1k|                         typename translator_between<data_type, Type>::type());
  711|  18.1k|    }
_ZNK5boost13property_tree11basic_ptreeINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES8_NS2_4lessIS8_EEE9get_valueIS8_NS0_13id_translatorIS8_EEEET_RKSF_T0_:
  689|  18.1k|    {
  690|  18.1k|        return get_value_optional<Type>(tr).get_value_or(default_value);
  691|  18.1k|    }
_ZN5boost13property_tree11basic_ptreeINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES8_NS2_4lessIS8_EEED2Ev:
  209|  27.2M|    {
  210|  27.2M|        delete &subs::ch(this);
  211|  27.2M|    }

_ZN5boost13property_tree6detail5widenINSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEET_PKc:
   59|      1|    {
   60|      1|        Str result;
   61|     10|        while (*text)
  ------------------
  |  Branch (61:16): [True: 9, False: 1]
  ------------------
   62|      9|        {
   63|      9|            result += typename Str::value_type(*text);
   64|      9|            ++text;
   65|      9|        }
   66|      1|        return result;
   67|      1|    }

_ZN5boost13property_tree6detail8rapidxml12xml_documentIcEC2Ev:
 1350|  6.25k|            : xml_node<Ch>(node_document)
 1351|  6.25k|        {
 1352|  6.25k|        }
_ZN5boost13property_tree6detail8rapidxml8xml_nodeIcEC2ENS2_9node_typeE:
  887|  6.26M|            : m_type(t)
  888|  6.26M|            , m_first_node(0)
  889|  6.26M|            , m_first_attribute(0)
  890|  6.26M|        {
  891|  6.26M|        }
_ZN5boost13property_tree6detail8rapidxml8xml_baseIcEC2Ev:
  643|  6.59M|            : m_name(0)
  644|  6.59M|            , m_value(0)
  645|  6.59M|            , m_parent(0)
  646|  6.59M|        {
  647|  6.59M|        }
_ZN5boost13property_tree6detail8rapidxml11memory_poolIcEC2Ev:
  380|  6.25k|            : m_alloc_func(0)
  381|  6.25k|            , m_free_func(0)
  382|  6.25k|        {
  383|  6.25k|            init();
  384|  6.25k|        }
_ZN5boost13property_tree6detail8rapidxml11memory_poolIcE4initEv:
  556|  12.5k|        {
  557|  12.5k|            m_begin = m_static_memory;
  558|  12.5k|            m_ptr = align(m_begin);
  559|  12.5k|            m_end = m_static_memory + sizeof(m_static_memory);
  560|  12.5k|        }
_ZN5boost13property_tree6detail8rapidxml11memory_poolIcE5alignEPc:
  563|  6.62M|        {
  564|  6.62M|            std::size_t alignment = ((BOOST_PROPERTY_TREE_RAPIDXML_ALIGNMENT - (std::size_t(ptr) & (BOOST_PROPERTY_TREE_RAPIDXML_ALIGNMENT - 1))) & (BOOST_PROPERTY_TREE_RAPIDXML_ALIGNMENT - 1));
  ------------------
  |  |  106|  6.62M|    #define BOOST_PROPERTY_TREE_RAPIDXML_ALIGNMENT sizeof(void *)
  ------------------
                          std::size_t alignment = ((BOOST_PROPERTY_TREE_RAPIDXML_ALIGNMENT - (std::size_t(ptr) & (BOOST_PROPERTY_TREE_RAPIDXML_ALIGNMENT - 1))) & (BOOST_PROPERTY_TREE_RAPIDXML_ALIGNMENT - 1));
  ------------------
  |  |  106|  6.62M|    #define BOOST_PROPERTY_TREE_RAPIDXML_ALIGNMENT sizeof(void *)
  ------------------
                          std::size_t alignment = ((BOOST_PROPERTY_TREE_RAPIDXML_ALIGNMENT - (std::size_t(ptr) & (BOOST_PROPERTY_TREE_RAPIDXML_ALIGNMENT - 1))) & (BOOST_PROPERTY_TREE_RAPIDXML_ALIGNMENT - 1));
  ------------------
  |  |  106|  6.62M|    #define BOOST_PROPERTY_TREE_RAPIDXML_ALIGNMENT sizeof(void *)
  ------------------
  565|  6.62M|            return ptr + alignment;
  566|  6.62M|        }
_ZN5boost13property_tree6detail8rapidxml12xml_documentIcE5parseILi3072EEEvPc:
 1367|  6.25k|        {
 1368|  6.25k|            BOOST_ASSERT(text);
  ------------------
  |  |   66|  6.25k|# define BOOST_ASSERT(expr) assert(expr)
  ------------------
 1369|       |            
 1370|       |            // Remove current contents
 1371|  6.25k|            this->remove_all_nodes();
 1372|  6.25k|            this->remove_all_attributes();
 1373|       |            
 1374|       |            // Parse BOM, if any
 1375|  6.25k|            parse_bom<Flags>(text);
 1376|       |            
 1377|       |            // Parse children
 1378|  21.5k|            while (true)
  ------------------
  |  Branch (1378:20): [Folded - Ignored]
  ------------------
 1379|  19.2k|            {
 1380|       |                // Skip whitespace before node
 1381|  19.2k|                skip<whitespace_pred, Flags>(text);
 1382|  19.2k|                if (*text == 0)
  ------------------
  |  Branch (1382:21): [True: 3.90k, False: 15.3k]
  ------------------
 1383|  3.90k|                    break;
 1384|       |
 1385|       |                // Parse and append new child
 1386|  15.3k|                if (*text == Ch('<'))
  ------------------
  |  Branch (1386:21): [True: 15.2k, False: 56]
  ------------------
 1387|  15.2k|                {
 1388|  15.2k|                    ++text;     // Skip '<'
 1389|  15.2k|                    if (xml_node<Ch> *node = parse_node<Flags>(text))
  ------------------
  |  Branch (1389:39): [True: 10.3k, False: 4.96k]
  ------------------
 1390|  10.3k|                        this->append_node(node);
 1391|  15.2k|                }
 1392|     56|                else
 1393|     56|                    BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("expected <", text);
  ------------------
  |  |   32|     56|#define BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR(what, where) throw parse_error(what, where)
  ------------------
 1394|  15.3k|            }
 1395|       |
 1396|  6.25k|        }
_ZN5boost13property_tree6detail8rapidxml8xml_nodeIcE16remove_all_nodesEv:
 1174|  6.25k|        {
 1175|  6.25k|            for (xml_node<Ch> *node = first_node(); node; node = node->m_next_sibling)
  ------------------
  |  Branch (1175:53): [True: 0, False: 6.25k]
  ------------------
 1176|      0|                node->m_parent = 0;
 1177|  6.25k|            m_first_node = 0;
 1178|  6.25k|        }
_ZN5boost13property_tree6detail8rapidxml8xml_nodeIcE21remove_all_attributesEv:
 1295|  6.25k|        {
 1296|  6.25k|            for (xml_attribute<Ch> *attribute = first_attribute(); attribute; attribute = attribute->m_next_attribute)
  ------------------
  |  Branch (1296:68): [True: 0, False: 6.25k]
  ------------------
 1297|      0|                attribute->m_parent = 0;
 1298|  6.25k|            m_first_attribute = 0;
 1299|  6.25k|        }
_ZNK5boost13property_tree6detail8rapidxml8xml_nodeIcE15first_attributeEPKcmb:
 1011|  5.57M|        {
 1012|  5.57M|            if (n)
  ------------------
  |  Branch (1012:17): [True: 0, False: 5.57M]
  ------------------
 1013|      0|            {
 1014|      0|                if (nsize == 0)
  ------------------
  |  Branch (1014:21): [True: 0, False: 0]
  ------------------
 1015|      0|                    nsize = internal::measure(n);
 1016|      0|                for (xml_attribute<Ch> *attribute = m_first_attribute; attribute; attribute = attribute->m_next_attribute)
  ------------------
  |  Branch (1016:72): [True: 0, False: 0]
  ------------------
 1017|      0|                    if (internal::compare(attribute->name(), attribute->name_size(), n, nsize, case_sensitive))
  ------------------
  |  Branch (1017:25): [True: 0, False: 0]
  ------------------
 1018|      0|                        return attribute;
 1019|      0|                return 0;
 1020|      0|            }
 1021|  5.57M|            else
 1022|  5.57M|                return m_first_attribute;
 1023|  5.57M|        }
_ZNK5boost13property_tree6detail8rapidxml8xml_baseIcE4nameEv:
  659|  11.1M|        {
  660|  11.1M|            return m_name ? m_name : nullstr();
  ------------------
  |  Branch (660:20): [True: 11.1M, False: 0]
  ------------------
  661|  11.1M|        }
_ZN5boost13property_tree6detail8rapidxml8xml_baseIcE7nullstrEv:
  764|   119k|        {
  765|   119k|            static Ch zero = Ch('\0');
  766|   119k|            return &zero;
  767|   119k|        }
_ZNK5boost13property_tree6detail8rapidxml8xml_baseIcE9name_sizeEv:
  667|  5.74M|        {
  668|  5.74M|            return m_name ? m_name_size : 0;
  ------------------
  |  Branch (668:20): [True: 5.74M, False: 0]
  ------------------
  669|  5.74M|        }
_ZN5boost13property_tree6detail8rapidxml12xml_documentIcE9parse_bomILi3072EEEvRPc:
 1711|  6.25k|        {
 1712|  6.25k|            if (static_cast<unsigned char>(text[0]) == 0xEF && 
  ------------------
  |  Branch (1712:17): [True: 21, False: 6.23k]
  ------------------
 1713|  6.25k|                static_cast<unsigned char>(text[1]) == 0xBB && 
  ------------------
  |  Branch (1713:17): [True: 11, False: 10]
  ------------------
 1714|  6.25k|                static_cast<unsigned char>(text[2]) == 0xBF)
  ------------------
  |  Branch (1714:17): [True: 1, False: 10]
  ------------------
 1715|      1|            {
 1716|      1|                text += 3;
 1717|      1|            }
 1718|  6.25k|        }
_ZN5boost13property_tree6detail8rapidxml12xml_documentIcE4skipINS4_15whitespace_predELi3072EEEvRPc:
 1544|  12.9M|        {
 1545|  12.9M|            Ch *tmp = text;
 1546|  18.0M|            while (StopPred::test(*tmp))
  ------------------
  |  Branch (1546:20): [True: 5.08M, False: 12.9M]
  ------------------
 1547|  5.08M|                ++tmp;
 1548|  12.9M|            text = tmp;
 1549|  12.9M|        }
_ZN5boost13property_tree6detail8rapidxml12xml_documentIcE15whitespace_pred4testEc:
 1416|  18.9M|            {
 1417|  18.9M|                return internal::lookup_tables<0>::lookup_whitespace[internal::get_index(ch)];
 1418|  18.9M|            }
_ZN5boost13property_tree6detail8rapidxml8internal9get_indexIcEEmT_:
  316|  93.6M|        {
  317|       |            // If not ASCII char, its semantic is same as plain 'z'.
  318|       |            // char could be signed, so first stretch and make unsigned.
  319|  93.6M|            unsigned n = c;
  320|  93.6M|            if (n > 127)
  ------------------
  |  Branch (320:17): [True: 15.3M, False: 78.2M]
  ------------------
  321|  15.3M|            {
  322|  15.3M|                return 'z';
  323|  15.3M|            }
  324|  78.2M|            return c;
  325|  93.6M|        }
_ZN5boost13property_tree6detail8rapidxml12xml_documentIcE10parse_nodeILi3072EEEPNS2_8xml_nodeIcEERPc:
 2078|  5.94M|        {
 2079|       |            // Parse proper node type
 2080|  5.94M|            switch (text[0])
 2081|  5.94M|            {
 2082|       |
 2083|       |            // <...
 2084|  5.89M|            default: 
  ------------------
  |  Branch (2084:13): [True: 5.89M, False: 51.5k]
  ------------------
 2085|       |                // Parse and append element node
 2086|  5.89M|                return parse_element<Flags>(text);
 2087|       |
 2088|       |            // <?...
 2089|  1.90k|            case Ch('?'): 
  ------------------
  |  Branch (2089:13): [True: 1.90k, False: 5.94M]
  ------------------
 2090|  1.90k|                ++text;     // Skip ?
 2091|  1.90k|                if ((text[0] == Ch('x') || text[0] == Ch('X')) &&
  ------------------
  |  Branch (2091:22): [True: 1.14k, False: 759]
  |  Branch (2091:44): [True: 443, False: 316]
  ------------------
 2092|  1.90k|                    (text[1] == Ch('m') || text[1] == Ch('M')) && 
  ------------------
  |  Branch (2092:22): [True: 1.11k, False: 469]
  |  Branch (2092:44): [True: 197, False: 272]
  ------------------
 2093|  1.90k|                    (text[2] == Ch('l') || text[2] == Ch('L')) &&
  ------------------
  |  Branch (2093:22): [True: 488, False: 828]
  |  Branch (2093:44): [True: 439, False: 389]
  ------------------
 2094|  1.90k|                    whitespace_pred::test(text[3]))
  ------------------
  |  Branch (2094:21): [True: 398, False: 529]
  ------------------
 2095|    398|                {
 2096|       |                    // '<?xml ' - xml declaration
 2097|    398|                    text += 4;      // Skip 'xml '
 2098|    398|                    return parse_xml_declaration<Flags>(text);
 2099|    398|                }
 2100|  1.50k|                else
 2101|  1.50k|                {
 2102|       |                    // Parse PI
 2103|  1.50k|                    return parse_pi<Flags>(text);
 2104|  1.50k|                }
 2105|       |            
 2106|       |            // <!...
 2107|  49.6k|            case Ch('!'): 
  ------------------
  |  Branch (2107:13): [True: 49.6k, False: 5.89M]
  ------------------
 2108|       |
 2109|       |                // Parse proper subset of <! node
 2110|  49.6k|                switch (text[1])    
 2111|  49.6k|                {
 2112|       |                
 2113|       |                // <!-
 2114|    504|                case Ch('-'):
  ------------------
  |  Branch (2114:17): [True: 504, False: 49.1k]
  ------------------
 2115|    504|                    if (text[2] == Ch('-'))
  ------------------
  |  Branch (2115:25): [True: 275, False: 229]
  ------------------
 2116|    275|                    {
 2117|       |                        // '<!--' - xml comment
 2118|    275|                        text += 3;     // Skip '!--'
 2119|    275|                        return parse_comment<Flags>(text);
 2120|    275|                    }
 2121|    229|                    break;
 2122|       |
 2123|       |                // <![
 2124|  46.2k|                case Ch('['):
  ------------------
  |  Branch (2124:17): [True: 46.2k, False: 3.42k]
  ------------------
 2125|  46.2k|                    if (text[2] == Ch('C') && text[3] == Ch('D') && text[4] == Ch('A') && 
  ------------------
  |  Branch (2125:25): [True: 45.8k, False: 375]
  |  Branch (2125:47): [True: 45.4k, False: 450]
  |  Branch (2125:69): [True: 45.1k, False: 313]
  ------------------
 2126|  46.2k|                        text[5] == Ch('T') && text[6] == Ch('A') && text[7] == Ch('['))
  ------------------
  |  Branch (2126:25): [True: 44.7k, False: 310]
  |  Branch (2126:47): [True: 43.3k, False: 1.44k]
  |  Branch (2126:69): [True: 43.0k, False: 270]
  ------------------
 2127|  43.0k|                    {
 2128|       |                        // '<![CDATA[' - cdata
 2129|  43.0k|                        text += 8;     // Skip '![CDATA['
 2130|  43.0k|                        return parse_cdata<Flags>(text);
 2131|  43.0k|                    }
 2132|  3.16k|                    break;
 2133|       |
 2134|       |                // <!D
 2135|  3.16k|                case Ch('D'):
  ------------------
  |  Branch (2135:17): [True: 2.04k, False: 47.6k]
  ------------------
 2136|  2.04k|                    if (text[2] == Ch('O') && text[3] == Ch('C') && text[4] == Ch('T') && 
  ------------------
  |  Branch (2136:25): [True: 1.74k, False: 295]
  |  Branch (2136:47): [True: 1.53k, False: 213]
  |  Branch (2136:69): [True: 1.32k, False: 210]
  ------------------
 2137|  2.04k|                        text[5] == Ch('Y') && text[6] == Ch('P') && text[7] == Ch('E') && 
  ------------------
  |  Branch (2137:25): [True: 1.11k, False: 210]
  |  Branch (2137:47): [True: 909, False: 204]
  |  Branch (2137:69): [True: 699, False: 210]
  ------------------
 2138|  2.04k|                        whitespace_pred::test(text[8]))
  ------------------
  |  Branch (2138:25): [True: 299, False: 400]
  ------------------
 2139|    299|                    {
 2140|       |                        // '<!DOCTYPE ' - doctype
 2141|    299|                        text += 9;      // skip '!DOCTYPE '
 2142|    299|                        return parse_doctype<Flags>(text);
 2143|    299|                    }
 2144|  1.74k|                    break;
 2145|       |
 2146|  1.74k|                default: break;
  ------------------
  |  Branch (2146:17): [True: 878, False: 48.7k]
  ------------------
 2147|       |
 2148|  49.6k|                }   // switch
 2149|       |
 2150|       |                // Attempt to skip other, unrecognized node types starting with <!
 2151|  6.01k|                ++text;     // Skip !
 2152|   111k|                while (*text != Ch('>'))
  ------------------
  |  Branch (2152:24): [True: 105k, False: 5.78k]
  ------------------
 2153|   105k|                {
 2154|   105k|                    if (*text == 0)
  ------------------
  |  Branch (2154:25): [True: 227, False: 105k]
  ------------------
 2155|    227|                        BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("unexpected end of data", text);
  ------------------
  |  |   32|    227|#define BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR(what, where) throw parse_error(what, where)
  ------------------
 2156|   105k|                    ++text;
 2157|   105k|                }
 2158|  5.78k|                ++text;     // Skip '>'
 2159|  5.78k|                return 0;   // No node recognized
 2160|       |
 2161|  5.94M|            }
 2162|  5.94M|        }
_ZN5boost13property_tree6detail8rapidxml12xml_documentIcE13parse_elementILi3072EEEPNS2_8xml_nodeIcEERPc:
 2034|  5.89M|        {
 2035|       |            // Create element node
 2036|  5.89M|            xml_node<Ch> *element = this->allocate_node(node_element);
 2037|       |
 2038|       |            // Extract element name
 2039|  5.89M|            Ch *n = text;
 2040|  5.89M|            skip<node_name_pred, Flags>(text);
 2041|  5.89M|            if (text == n)
  ------------------
  |  Branch (2041:17): [True: 36, False: 5.89M]
  ------------------
 2042|     36|                BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("expected element name", text);
  ------------------
  |  |   32|     36|#define BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR(what, where) throw parse_error(what, where)
  ------------------
 2043|  5.89M|            element->name(n, text - n);
 2044|       |            
 2045|       |            // Skip whitespace between element name and attributes or >
 2046|  5.89M|            skip<whitespace_pred, Flags>(text);
 2047|       |
 2048|       |            // Parse attributes, if any
 2049|  5.89M|            parse_node_attributes<Flags>(text, element);
 2050|       |
 2051|       |            // Determine ending type
 2052|  5.89M|            if (*text == Ch('>'))
  ------------------
  |  Branch (2052:17): [True: 538k, False: 5.35M]
  ------------------
 2053|   538k|            {
 2054|   538k|                ++text;
 2055|   538k|                parse_node_contents<Flags>(text, element);
 2056|   538k|            }
 2057|  5.35M|            else if (*text == Ch('/'))
  ------------------
  |  Branch (2057:22): [True: 5.35M, False: 989]
  ------------------
 2058|  5.35M|            {
 2059|  5.35M|                ++text;
 2060|  5.35M|                if (*text != Ch('>'))
  ------------------
  |  Branch (2060:21): [True: 13, False: 5.35M]
  ------------------
 2061|     13|                    BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("expected >", text);
  ------------------
  |  |   32|     13|#define BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR(what, where) throw parse_error(what, where)
  ------------------
 2062|  5.35M|                ++text;
 2063|  5.35M|            }
 2064|    989|            else
 2065|    989|                BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("expected >", text);
  ------------------
  |  |   32|    989|#define BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR(what, where) throw parse_error(what, where)
  ------------------
 2066|       |
 2067|       |            // Place zero terminator after name
 2068|  5.89M|            if (!(Flags & parse_no_string_terminators))
  ------------------
  |  Branch (2068:17): [Folded - Ignored]
  ------------------
 2069|  5.41M|                element->name()[element->name_size()] = Ch('\0');
 2070|       |
 2071|       |            // Return parsed element
 2072|  5.89M|            return element;
 2073|  5.89M|        }
_ZN5boost13property_tree6detail8rapidxml11memory_poolIcE13allocate_nodeENS2_9node_typeEPKcS7_mm:
  407|  6.25M|        {
  408|  6.25M|            void *memory = allocate_aligned(sizeof(xml_node<Ch>));
  409|  6.25M|            xml_node<Ch> *node = new(memory) xml_node<Ch>(type);
  410|  6.25M|            if (name)
  ------------------
  |  Branch (410:17): [True: 0, False: 6.25M]
  ------------------
  411|      0|            {
  412|      0|                if (name_size > 0)
  ------------------
  |  Branch (412:21): [True: 0, False: 0]
  ------------------
  413|      0|                    node->name(name, name_size);
  414|      0|                else
  415|      0|                    node->name(name);
  416|      0|            }
  417|  6.25M|            if (value)
  ------------------
  |  Branch (417:17): [True: 0, False: 6.25M]
  ------------------
  418|      0|            {
  419|      0|                if (value_size > 0)
  ------------------
  |  Branch (419:21): [True: 0, False: 0]
  ------------------
  420|      0|                    node->value(value, value_size);
  421|      0|                else
  422|      0|                    node->value(value);
  423|      0|            }
  424|  6.25M|            return node;
  425|  6.25M|        }
_ZN5boost13property_tree6detail8rapidxml11memory_poolIcE16allocate_alignedEm:
  585|  6.58M|        {
  586|       |            // Calculate aligned pointer
  587|  6.58M|            char *result = align(m_ptr);
  588|       |
  589|       |            // If not enough memory left in current pool, allocate a new pool
  590|  6.58M|            if (result + size > m_end)
  ------------------
  |  Branch (590:17): [True: 9.09k, False: 6.57M]
  ------------------
  591|  9.09k|            {
  592|       |                // Calculate required pool size (may be bigger than BOOST_PROPERTY_TREE_RAPIDXML_DYNAMIC_POOL_SIZE)
  593|  9.09k|                std::size_t pool_size = BOOST_PROPERTY_TREE_RAPIDXML_DYNAMIC_POOL_SIZE;
  ------------------
  |  |   98|  9.09k|    #define BOOST_PROPERTY_TREE_RAPIDXML_DYNAMIC_POOL_SIZE (64 * 1024)
  ------------------
  594|  9.09k|                if (pool_size < size)
  ------------------
  |  Branch (594:21): [True: 0, False: 9.09k]
  ------------------
  595|      0|                    pool_size = size;
  596|       |                
  597|       |                // Allocate
  598|  9.09k|                std::size_t alloc_size = sizeof(header) + (2 * BOOST_PROPERTY_TREE_RAPIDXML_ALIGNMENT - 2) + pool_size;     // 2 alignments required in worst case: one for header, one for actual allocation
  ------------------
  |  |  106|  9.09k|    #define BOOST_PROPERTY_TREE_RAPIDXML_ALIGNMENT sizeof(void *)
  ------------------
  599|  9.09k|                char *raw_memory = allocate_raw(alloc_size);
  600|       |                    
  601|       |                // Setup new pool in allocated memory
  602|  9.09k|                char *pool = align(raw_memory);
  603|  9.09k|                header *new_header = reinterpret_cast<header *>(pool);
  604|  9.09k|                new_header->previous_begin = m_begin;
  605|  9.09k|                m_begin = raw_memory;
  606|  9.09k|                m_ptr = pool + sizeof(header);
  607|  9.09k|                m_end = raw_memory + alloc_size;
  608|       |
  609|       |                // Calculate aligned pointer again using new pool
  610|  9.09k|                result = align(m_ptr);
  611|  9.09k|            }
  612|       |
  613|       |            // Update pool and return aligned pointer
  614|  6.58M|            m_ptr = result + size;
  615|  6.58M|            return result;
  616|  6.58M|        }
_ZN5boost13property_tree6detail8rapidxml11memory_poolIcE12allocate_rawEm:
  569|  9.09k|        {
  570|       |            // Allocate
  571|  9.09k|            void *memory;   
  572|  9.09k|            if (m_alloc_func)   // Allocate memory using either user-specified allocation function or global operator new[]
  ------------------
  |  Branch (572:17): [True: 0, False: 9.09k]
  ------------------
  573|      0|            {
  574|      0|                memory = m_alloc_func(size);
  575|      0|                BOOST_ASSERT(memory); // Allocator is not allowed to return 0, on failure it must either throw, stop the program or use longjmp
  ------------------
  |  |   66|      0|# define BOOST_ASSERT(expr) assert(expr)
  ------------------
  576|      0|            }
  577|  9.09k|            else
  578|  9.09k|            {
  579|  9.09k|                memory = new char[size];
  580|  9.09k|            }
  581|  9.09k|            return static_cast<char *>(memory);
  582|  9.09k|        }
_ZN5boost13property_tree6detail8rapidxml8xml_baseIcE5valueEPKcm:
  737|   811k|        {
  738|   811k|            m_value = const_cast<Ch *>(val);
  739|   811k|            m_value_size = size;
  740|   811k|        }
_ZN5boost13property_tree6detail8rapidxml12xml_documentIcE4skipINS4_14node_name_predELi3072EEEvRPc:
 1544|  5.95M|        {
 1545|  5.95M|            Ch *tmp = text;
 1546|  24.9M|            while (StopPred::test(*tmp))
  ------------------
  |  Branch (1546:20): [True: 19.0M, False: 5.95M]
  ------------------
 1547|  19.0M|                ++tmp;
 1548|  5.95M|            text = tmp;
 1549|  5.95M|        }
_ZN5boost13property_tree6detail8rapidxml12xml_documentIcE14node_name_pred4testEc:
 1425|  24.9M|            {
 1426|  24.9M|                return internal::lookup_tables<0>::lookup_node_name[internal::get_index(ch)];
 1427|  24.9M|            }
_ZN5boost13property_tree6detail8rapidxml8xml_baseIcE4nameEPKcm:
  707|  6.22M|        {
  708|  6.22M|            m_name = const_cast<Ch *>(n);
  709|  6.22M|            m_name_size = size;
  710|  6.22M|        }
_ZN5boost13property_tree6detail8rapidxml12xml_documentIcE21parse_node_attributesILi3072EEEvRPcPNS2_8xml_nodeIcEE:
 2238|  5.89M|        {
 2239|       |            // For all attributes 
 2240|  6.22M|            while (attribute_name_pred::test(*text))
  ------------------
  |  Branch (2240:20): [True: 333k, False: 5.89M]
  ------------------
 2241|   333k|            {
 2242|       |                // Extract attribute name
 2243|   333k|                Ch *n = text;
 2244|   333k|                ++text;     // Skip first character of attribute name
 2245|   333k|                skip<attribute_name_pred, Flags>(text);
 2246|   333k|                if (text == n)
  ------------------
  |  Branch (2246:21): [True: 0, False: 333k]
  ------------------
 2247|      0|                    BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("expected attribute name", n);
  ------------------
  |  |   32|      0|#define BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR(what, where) throw parse_error(what, where)
  ------------------
 2248|       |
 2249|       |                // Create new attribute
 2250|   333k|                xml_attribute<Ch> *attribute = this->allocate_attribute();
 2251|   333k|                attribute->name(n, text - n);
 2252|   333k|                node->append_attribute(attribute);
 2253|       |
 2254|       |                // Skip whitespace after attribute name
 2255|   333k|                skip<whitespace_pred, Flags>(text);
 2256|       |
 2257|       |                // Skip =
 2258|   333k|                if (*text != Ch('='))
  ------------------
  |  Branch (2258:21): [True: 66, False: 333k]
  ------------------
 2259|     66|                    BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("expected =", text);
  ------------------
  |  |   32|     66|#define BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR(what, where) throw parse_error(what, where)
  ------------------
 2260|   333k|                ++text;
 2261|       |
 2262|       |                // Add terminating zero after name
 2263|   333k|                if (!(Flags & parse_no_string_terminators))
  ------------------
  |  Branch (2263:21): [Folded - Ignored]
  ------------------
 2264|   333k|                    attribute->name()[attribute->name_size()] = 0;
 2265|       |
 2266|       |                // Skip whitespace after =
 2267|   333k|                skip<whitespace_pred, Flags>(text);
 2268|       |
 2269|       |                // Skip quote and remember if it was ' or "
 2270|   333k|                Ch quote = *text;
 2271|   333k|                if (quote != Ch('\'') && quote != Ch('"'))
  ------------------
  |  Branch (2271:21): [True: 119k, False: 213k]
  |  Branch (2271:42): [True: 32, False: 119k]
  ------------------
 2272|     32|                    BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("expected ' or \"", text);
  ------------------
  |  |   32|     32|#define BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR(what, where) throw parse_error(what, where)
  ------------------
 2273|   333k|                ++text;
 2274|       |
 2275|       |                // Extract attribute value and expand char refs in it
 2276|   333k|                Ch *val = text, *end;
 2277|   333k|                const int AttFlags = Flags & ~parse_normalize_whitespace;   // No whitespace normalization in attributes
 2278|   333k|                if (quote == Ch('\''))
  ------------------
  |  Branch (2278:21): [True: 213k, False: 119k]
  ------------------
 2279|   213k|                    end = skip_and_expand_character_refs<attribute_value_pred<Ch('\'')>, attribute_value_pure_pred<Ch('\'')>, AttFlags>(text);
 2280|   119k|                else
 2281|   119k|                    end = skip_and_expand_character_refs<attribute_value_pred<Ch('"')>, attribute_value_pure_pred<Ch('"')>, AttFlags>(text);
 2282|       |                
 2283|       |                // Set attribute value
 2284|   333k|                attribute->value(val, end - val);
 2285|       |                
 2286|       |                // Make sure that end quote is present
 2287|   333k|                if (*text != quote)
  ------------------
  |  Branch (2287:21): [True: 531, False: 333k]
  ------------------
 2288|    531|                    BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("expected ' or \"", text);
  ------------------
  |  |   32|    531|#define BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR(what, where) throw parse_error(what, where)
  ------------------
 2289|   333k|                ++text;     // Skip quote
 2290|       |
 2291|       |                // Add terminating zero after value
 2292|   333k|                if (!(Flags & parse_no_string_terminators))
  ------------------
  |  Branch (2292:21): [Folded - Ignored]
  ------------------
 2293|   332k|                    attribute->value()[attribute->value_size()] = 0;
 2294|       |
 2295|       |                // Skip whitespace after attribute value
 2296|   333k|                skip<whitespace_pred, Flags>(text);
 2297|   333k|            }
 2298|  5.89M|        }
_ZN5boost13property_tree6detail8rapidxml12xml_documentIcE19attribute_name_pred4testEc:
 1434|  8.25M|            {
 1435|  8.25M|                return internal::lookup_tables<0>::lookup_attribute_name[internal::get_index(ch)];
 1436|  8.25M|            }
_ZN5boost13property_tree6detail8rapidxml12xml_documentIcE4skipINS4_19attribute_name_predELi3072EEEvRPc:
 1544|   333k|        {
 1545|   333k|            Ch *tmp = text;
 1546|  2.02M|            while (StopPred::test(*tmp))
  ------------------
  |  Branch (1546:20): [True: 1.69M, False: 333k]
  ------------------
 1547|  1.69M|                ++tmp;
 1548|   333k|            text = tmp;
 1549|   333k|        }
_ZN5boost13property_tree6detail8rapidxml11memory_poolIcE18allocate_attributeEPKcS6_mm:
  438|   333k|        {
  439|   333k|            void *memory = allocate_aligned(sizeof(xml_attribute<Ch>));
  440|   333k|            xml_attribute<Ch> *attribute = new(memory) xml_attribute<Ch>;
  441|   333k|            if (name)
  ------------------
  |  Branch (441:17): [True: 0, False: 333k]
  ------------------
  442|      0|            {
  443|      0|                if (name_size > 0)
  ------------------
  |  Branch (443:21): [True: 0, False: 0]
  ------------------
  444|      0|                    attribute->name(name, name_size);
  445|      0|                else
  446|      0|                    attribute->name(name);
  447|      0|            }
  448|   333k|            if (value)
  ------------------
  |  Branch (448:17): [True: 0, False: 333k]
  ------------------
  449|      0|            {
  450|      0|                if (value_size > 0)
  ------------------
  |  Branch (450:21): [True: 0, False: 0]
  ------------------
  451|      0|                    attribute->value(value, value_size);
  452|      0|                else
  453|      0|                    attribute->value(value);
  454|      0|            }
  455|   333k|            return attribute;
  456|   333k|        }
_ZN5boost13property_tree6detail8rapidxml13xml_attributeIcEC2Ev:
  796|   333k|        {
  797|   333k|        }
_ZN5boost13property_tree6detail8rapidxml8xml_nodeIcE16append_attributeEPNS2_13xml_attributeIcEE:
 1203|   333k|        {
 1204|   333k|            BOOST_ASSERT(attribute && !attribute->parent());
  ------------------
  |  |   66|   333k|# define BOOST_ASSERT(expr) assert(expr)
  ------------------
 1205|   333k|            if (first_attribute())
  ------------------
  |  Branch (1205:17): [True: 198k, False: 135k]
  ------------------
 1206|   198k|            {
 1207|   198k|                attribute->m_prev_attribute = m_last_attribute;
 1208|   198k|                m_last_attribute->m_next_attribute = attribute;
 1209|   198k|            }
 1210|   135k|            else
 1211|   135k|            {
 1212|   135k|                attribute->m_prev_attribute = 0;
 1213|   135k|                m_first_attribute = attribute;
 1214|   135k|            }
 1215|   333k|            m_last_attribute = attribute;
 1216|   333k|            attribute->m_parent = this;
 1217|   333k|            attribute->m_next_attribute = 0;
 1218|   333k|        }
_ZN5boost13property_tree6detail8rapidxml12xml_documentIcE30skip_and_expand_character_refsINS4_20attribute_value_predILc39EEENS4_25attribute_value_pure_predILc39EEELi1024EEEPcRSA_:
 1556|   213k|        {
 1557|       |            // If entity translation, whitespace condense and whitespace trimming is disabled, use plain skip
 1558|   213k|            if (Flags & parse_no_entity_translation && 
  ------------------
  |  Branch (1558:17): [Folded - Ignored]
  ------------------
 1559|   213k|                !(Flags & parse_normalize_whitespace) &&
  ------------------
  |  Branch (1559:17): [Folded - Ignored]
  ------------------
 1560|   213k|                !(Flags & parse_trim_whitespace))
  ------------------
  |  Branch (1560:17): [Folded - Ignored]
  ------------------
 1561|      0|            {
 1562|      0|                skip<StopPred, Flags>(text);
 1563|      0|                return text;
 1564|      0|            }
 1565|       |            
 1566|       |            // Use simple skip until first modification is detected
 1567|   213k|            skip<StopPredPure, Flags>(text);
 1568|       |
 1569|       |            // Use translation skip
 1570|   213k|            Ch *src = text;
 1571|   213k|            Ch *dest = src;
 1572|  27.4M|            while (StopPred::test(*src))
  ------------------
  |  Branch (1572:20): [True: 27.2M, False: 213k]
  ------------------
 1573|  27.2M|            {
 1574|       |                // If entity translation is enabled    
 1575|  27.2M|                if (!(Flags & parse_no_entity_translation))
  ------------------
  |  Branch (1575:21): [Folded - Ignored]
  ------------------
 1576|  27.2M|                {
 1577|       |                    // Test if replacement is needed
 1578|  27.2M|                    if (src[0] == Ch('&'))
  ------------------
  |  Branch (1578:25): [True: 23.6k, False: 27.1M]
  ------------------
 1579|  23.6k|                    {
 1580|  23.6k|                        switch (src[1])
 1581|  23.6k|                        {
 1582|       |
 1583|       |                        // &amp; &apos;
 1584|  3.50k|                        case Ch('a'): 
  ------------------
  |  Branch (1584:25): [True: 3.50k, False: 20.1k]
  ------------------
 1585|  3.50k|                            if (src[2] == Ch('m') && src[3] == Ch('p') && src[4] == Ch(';'))
  ------------------
  |  Branch (1585:33): [True: 2.14k, False: 1.35k]
  |  Branch (1585:54): [True: 1.61k, False: 531]
  |  Branch (1585:75): [True: 1.31k, False: 301]
  ------------------
 1586|  1.31k|                            {
 1587|  1.31k|                                *dest = Ch('&');
 1588|  1.31k|                                ++dest;
 1589|  1.31k|                                src += 5;
 1590|  1.31k|                                continue;
 1591|  1.31k|                            }
 1592|  2.18k|                            if (src[2] == Ch('p') && src[3] == Ch('o') && src[4] == Ch('s') && src[5] == Ch(';'))
  ------------------
  |  Branch (1592:33): [True: 934, False: 1.25k]
  |  Branch (1592:54): [True: 695, False: 239]
  |  Branch (1592:75): [True: 415, False: 280]
  |  Branch (1592:96): [True: 203, False: 212]
  ------------------
 1593|    203|                            {
 1594|    203|                                *dest = Ch('\'');
 1595|    203|                                ++dest;
 1596|    203|                                src += 6;
 1597|    203|                                continue;
 1598|    203|                            }
 1599|  1.98k|                            break;
 1600|       |
 1601|       |                        // &quot;
 1602|  5.21k|                        case Ch('q'): 
  ------------------
  |  Branch (1602:25): [True: 5.21k, False: 18.4k]
  ------------------
 1603|  5.21k|                            if (src[2] == Ch('u') && src[3] == Ch('o') && src[4] == Ch('t') && src[5] == Ch(';'))
  ------------------
  |  Branch (1603:33): [True: 1.68k, False: 3.53k]
  |  Branch (1603:54): [True: 1.10k, False: 579]
  |  Branch (1603:75): [True: 806, False: 297]
  |  Branch (1603:96): [True: 332, False: 474]
  ------------------
 1604|    332|                            {
 1605|    332|                                *dest = Ch('"');
 1606|    332|                                ++dest;
 1607|    332|                                src += 6;
 1608|    332|                                continue;
 1609|    332|                            }
 1610|  4.88k|                            break;
 1611|       |
 1612|       |                        // &gt;
 1613|  4.88k|                        case Ch('g'): 
  ------------------
  |  Branch (1613:25): [True: 1.11k, False: 22.5k]
  ------------------
 1614|  1.11k|                            if (src[2] == Ch('t') && src[3] == Ch(';'))
  ------------------
  |  Branch (1614:33): [True: 719, False: 393]
  |  Branch (1614:54): [True: 424, False: 295]
  ------------------
 1615|    424|                            {
 1616|    424|                                *dest = Ch('>');
 1617|    424|                                ++dest;
 1618|    424|                                src += 4;
 1619|    424|                                continue;
 1620|    424|                            }
 1621|    688|                            break;
 1622|       |
 1623|       |                        // &lt;
 1624|  2.19k|                        case Ch('l'): 
  ------------------
  |  Branch (1624:25): [True: 2.19k, False: 21.4k]
  ------------------
 1625|  2.19k|                            if (src[2] == Ch('t') && src[3] == Ch(';'))
  ------------------
  |  Branch (1625:33): [True: 676, False: 1.51k]
  |  Branch (1625:54): [True: 306, False: 370]
  ------------------
 1626|    306|                            {
 1627|    306|                                *dest = Ch('<');
 1628|    306|                                ++dest;
 1629|    306|                                src += 4;
 1630|    306|                                continue;
 1631|    306|                            }
 1632|  1.88k|                            break;
 1633|       |
 1634|       |                        // &#...; - assumes ASCII
 1635|  1.88k|                        case Ch('#'): 
  ------------------
  |  Branch (1635:25): [True: 676, False: 22.9k]
  ------------------
 1636|    676|                            if (src[2] == Ch('x'))
  ------------------
  |  Branch (1636:33): [True: 336, False: 340]
  ------------------
 1637|    336|                            {
 1638|    336|                                unsigned long code = 0;
 1639|    336|                                src += 3;   // Skip &#x
 1640|  1.59k|                                while (true)
  ------------------
  |  Branch (1640:40): [Folded - Ignored]
  ------------------
 1641|  1.59k|                                {
 1642|  1.59k|                                    unsigned char digit = internal::lookup_tables<0>::lookup_digits[static_cast<unsigned char>(*src)];
 1643|  1.59k|                                    if (digit == 0xFF)
  ------------------
  |  Branch (1643:41): [True: 336, False: 1.25k]
  ------------------
 1644|    336|                                        break;
 1645|  1.25k|                                    code = code * 16 + digit;
 1646|  1.25k|                                    ++src;
 1647|  1.25k|                                }
 1648|    336|                                insert_coded_character<Flags>(dest, code);    // Put character in output
 1649|    336|                            }
 1650|    340|                            else
 1651|    340|                            {
 1652|    340|                                unsigned long code = 0;
 1653|    340|                                src += 2;   // Skip &#
 1654|    877|                                while (true)
  ------------------
  |  Branch (1654:40): [Folded - Ignored]
  ------------------
 1655|    877|                                {
 1656|    877|                                    unsigned char digit = internal::lookup_tables<0>::lookup_digits[static_cast<unsigned char>(*src)];
 1657|    877|                                    if (digit == 0xFF)
  ------------------
  |  Branch (1657:41): [True: 340, False: 537]
  ------------------
 1658|    340|                                        break;
 1659|    537|                                    code = code * 10 + digit;
 1660|    537|                                    ++src;
 1661|    537|                                }
 1662|    340|                                insert_coded_character<Flags>(dest, code);    // Put character in output
 1663|    340|                            }
 1664|    676|                            if (*src == Ch(';'))
  ------------------
  |  Branch (1664:33): [True: 523, False: 153]
  ------------------
 1665|    523|                                ++src;
 1666|    153|                            else
 1667|    153|                                BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("expected ;", src);
  ------------------
  |  |   32|    153|#define BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR(what, where) throw parse_error(what, where)
  ------------------
 1668|    523|                            continue;
 1669|       |
 1670|       |                        // Something else
 1671|  10.9k|                        default:
  ------------------
  |  Branch (1671:25): [True: 10.9k, False: 12.7k]
  ------------------
 1672|       |                            // Ignore, just copy '&' verbatim
 1673|  10.9k|                            break;
 1674|       |
 1675|  23.6k|                        }
 1676|  23.6k|                    }
 1677|  27.2M|                }
 1678|       |                
 1679|       |                // If whitespace condensing is enabled
 1680|  27.2M|                if (Flags & parse_normalize_whitespace)
  ------------------
  |  Branch (1680:21): [Folded - Ignored]
  ------------------
 1681|      0|                {
 1682|       |                    // Test if condensing is needed                 
 1683|      0|                    if (whitespace_pred::test(*src))
  ------------------
  |  Branch (1683:25): [True: 0, False: 0]
  ------------------
 1684|      0|                    {
 1685|      0|                        *dest = Ch(' '); ++dest;    // Put single space in dest
 1686|      0|                        ++src;                      // Skip first whitespace char
 1687|       |                        // Skip remaining whitespace chars
 1688|      0|                        while (whitespace_pred::test(*src))
  ------------------
  |  Branch (1688:32): [True: 0, False: 0]
  ------------------
 1689|      0|                            ++src;
 1690|      0|                        continue;
 1691|      0|                    }
 1692|      0|                }
 1693|       |
 1694|       |                // No replacement, only copy character
 1695|  27.2M|                *dest++ = *src++;
 1696|       |
 1697|  27.2M|            }
 1698|       |
 1699|       |            // Return new end
 1700|   213k|            text = src;
 1701|   213k|            return dest;
 1702|       |
 1703|   213k|        }
_ZN5boost13property_tree6detail8rapidxml12xml_documentIcE4skipINS4_25attribute_value_pure_predILc39EEELi1024EEEvRPc:
 1544|   213k|        {
 1545|   213k|            Ch *tmp = text;
 1546|  8.04M|            while (StopPred::test(*tmp))
  ------------------
  |  Branch (1546:20): [True: 7.83M, False: 213k]
  ------------------
 1547|  7.83M|                ++tmp;
 1548|   213k|            text = tmp;
 1549|   213k|        }
_ZN5boost13property_tree6detail8rapidxml12xml_documentIcE25attribute_value_pure_predILc39EE4testEc:
 1485|  8.04M|            {
 1486|  8.04M|                if (Quote == Ch('\''))
  ------------------
  |  Branch (1486:21): [Folded - Ignored]
  ------------------
 1487|  8.04M|                    return internal::lookup_tables<0>::lookup_attribute_data_1_pure[internal::get_index(ch)];
 1488|      0|                if (Quote == Ch('\"'))
  ------------------
  |  Branch (1488:21): [Folded - Ignored]
  ------------------
 1489|      0|                    return internal::lookup_tables<0>::lookup_attribute_data_2_pure[internal::get_index(ch)];
 1490|      0|                return 0;       // Should never be executed, to avoid warnings on Comeau
 1491|      0|            }
_ZN5boost13property_tree6detail8rapidxml12xml_documentIcE20attribute_value_predILc39EE4testEc:
 1471|  27.4M|            {
 1472|  27.4M|                if (Quote == Ch('\''))
  ------------------
  |  Branch (1472:21): [Folded - Ignored]
  ------------------
 1473|  27.4M|                    return internal::lookup_tables<0>::lookup_attribute_data_1[internal::get_index(ch)];
 1474|      0|                if (Quote == Ch('\"'))
  ------------------
  |  Branch (1474:21): [Folded - Ignored]
  ------------------
 1475|      0|                    return internal::lookup_tables<0>::lookup_attribute_data_2[internal::get_index(ch)];
 1476|      0|                return 0;       // Should never be executed, to avoid warnings on Comeau
 1477|      0|            }
_ZN5boost13property_tree6detail8rapidxml12xml_documentIcE22insert_coded_characterILi1024EEEvRPcm:
 1497|  1.92k|        {
 1498|  1.92k|            if (Flags & parse_no_utf8)
  ------------------
  |  Branch (1498:17): [Folded - Ignored]
  ------------------
 1499|      0|            {
 1500|       |                // Insert 8-bit ASCII character
 1501|       |                // Todo: possibly verify that code is less than 256 and use replacement char otherwise?
 1502|      0|                text[0] = static_cast<unsigned char>(code);
 1503|      0|                text += 1;
 1504|      0|            }
 1505|  1.92k|            else
 1506|  1.92k|            {
 1507|       |                // Insert UTF8 sequence
 1508|  1.92k|                if (code < 0x80)    // 1 byte sequence
  ------------------
  |  Branch (1508:21): [True: 873, False: 1.05k]
  ------------------
 1509|    873|                {
 1510|    873|                    text[0] = static_cast<unsigned char>(code);
 1511|    873|                    text += 1;
 1512|    873|                }
 1513|  1.05k|                else if (code < 0x800)  // 2 byte sequence
  ------------------
  |  Branch (1513:26): [True: 349, False: 703]
  ------------------
 1514|    349|                {
 1515|    349|                    text[1] = static_cast<unsigned char>((code | 0x80) & 0xBF); code >>= 6;
 1516|    349|                    text[0] = static_cast<unsigned char>(code | 0xC0);
 1517|    349|                    text += 2;
 1518|    349|                }
 1519|    703|                else if (code < 0x10000)    // 3 byte sequence
  ------------------
  |  Branch (1519:26): [True: 231, False: 472]
  ------------------
 1520|    231|                {
 1521|    231|                    text[2] = static_cast<unsigned char>((code | 0x80) & 0xBF); code >>= 6;
 1522|    231|                    text[1] = static_cast<unsigned char>((code | 0x80) & 0xBF); code >>= 6;
 1523|    231|                    text[0] = static_cast<unsigned char>(code | 0xE0);
 1524|    231|                    text += 3;
 1525|    231|                }
 1526|    472|                else if (code < 0x110000)   // 4 byte sequence
  ------------------
  |  Branch (1526:26): [True: 352, False: 120]
  ------------------
 1527|    352|                {
 1528|    352|                    text[3] = static_cast<unsigned char>((code | 0x80) & 0xBF); code >>= 6;
 1529|    352|                    text[2] = static_cast<unsigned char>((code | 0x80) & 0xBF); code >>= 6;
 1530|    352|                    text[1] = static_cast<unsigned char>((code | 0x80) & 0xBF); code >>= 6;
 1531|    352|                    text[0] = static_cast<unsigned char>(code | 0xF0);
 1532|    352|                    text += 4;
 1533|    352|                }
 1534|    120|                else    // Invalid, only codes up to 0x10FFFF are allowed in Unicode
 1535|    120|                {
 1536|    120|                    BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("invalid numeric character entity", text);
  ------------------
  |  |   32|    120|#define BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR(what, where) throw parse_error(what, where)
  ------------------
 1537|    120|                }
 1538|  1.92k|            }
 1539|  1.92k|        }
_ZN5boost13property_tree6detail8rapidxml12xml_documentIcE30skip_and_expand_character_refsINS4_20attribute_value_predILc34EEENS4_25attribute_value_pure_predILc34EEELi1024EEEPcRSA_:
 1556|   119k|        {
 1557|       |            // If entity translation, whitespace condense and whitespace trimming is disabled, use plain skip
 1558|   119k|            if (Flags & parse_no_entity_translation && 
  ------------------
  |  Branch (1558:17): [Folded - Ignored]
  ------------------
 1559|   119k|                !(Flags & parse_normalize_whitespace) &&
  ------------------
  |  Branch (1559:17): [Folded - Ignored]
  ------------------
 1560|   119k|                !(Flags & parse_trim_whitespace))
  ------------------
  |  Branch (1560:17): [Folded - Ignored]
  ------------------
 1561|      0|            {
 1562|      0|                skip<StopPred, Flags>(text);
 1563|      0|                return text;
 1564|      0|            }
 1565|       |            
 1566|       |            // Use simple skip until first modification is detected
 1567|   119k|            skip<StopPredPure, Flags>(text);
 1568|       |
 1569|       |            // Use translation skip
 1570|   119k|            Ch *src = text;
 1571|   119k|            Ch *dest = src;
 1572|   423k|            while (StopPred::test(*src))
  ------------------
  |  Branch (1572:20): [True: 303k, False: 119k]
  ------------------
 1573|   303k|            {
 1574|       |                // If entity translation is enabled    
 1575|   303k|                if (!(Flags & parse_no_entity_translation))
  ------------------
  |  Branch (1575:21): [Folded - Ignored]
  ------------------
 1576|   303k|                {
 1577|       |                    // Test if replacement is needed
 1578|   303k|                    if (src[0] == Ch('&'))
  ------------------
  |  Branch (1578:25): [True: 6.93k, False: 296k]
  ------------------
 1579|  6.93k|                    {
 1580|  6.93k|                        switch (src[1])
 1581|  6.93k|                        {
 1582|       |
 1583|       |                        // &amp; &apos;
 1584|  1.86k|                        case Ch('a'): 
  ------------------
  |  Branch (1584:25): [True: 1.86k, False: 5.06k]
  ------------------
 1585|  1.86k|                            if (src[2] == Ch('m') && src[3] == Ch('p') && src[4] == Ch(';'))
  ------------------
  |  Branch (1585:33): [True: 662, False: 1.20k]
  |  Branch (1585:54): [True: 420, False: 242]
  |  Branch (1585:75): [True: 194, False: 226]
  ------------------
 1586|    194|                            {
 1587|    194|                                *dest = Ch('&');
 1588|    194|                                ++dest;
 1589|    194|                                src += 5;
 1590|    194|                                continue;
 1591|    194|                            }
 1592|  1.67k|                            if (src[2] == Ch('p') && src[3] == Ch('o') && src[4] == Ch('s') && src[5] == Ch(';'))
  ------------------
  |  Branch (1592:33): [True: 813, False: 857]
  |  Branch (1592:54): [True: 600, False: 213]
  |  Branch (1592:75): [True: 393, False: 207]
  |  Branch (1592:96): [True: 194, False: 199]
  ------------------
 1593|    194|                            {
 1594|    194|                                *dest = Ch('\'');
 1595|    194|                                ++dest;
 1596|    194|                                src += 6;
 1597|    194|                                continue;
 1598|    194|                            }
 1599|  1.47k|                            break;
 1600|       |
 1601|       |                        // &quot;
 1602|  1.47k|                        case Ch('q'): 
  ------------------
  |  Branch (1602:25): [True: 1.04k, False: 5.88k]
  ------------------
 1603|  1.04k|                            if (src[2] == Ch('u') && src[3] == Ch('o') && src[4] == Ch('t') && src[5] == Ch(';'))
  ------------------
  |  Branch (1603:33): [True: 806, False: 242]
  |  Branch (1603:54): [True: 597, False: 209]
  |  Branch (1603:75): [True: 393, False: 204]
  |  Branch (1603:96): [True: 195, False: 198]
  ------------------
 1604|    195|                            {
 1605|    195|                                *dest = Ch('"');
 1606|    195|                                ++dest;
 1607|    195|                                src += 6;
 1608|    195|                                continue;
 1609|    195|                            }
 1610|    853|                            break;
 1611|       |
 1612|       |                        // &gt;
 1613|    965|                        case Ch('g'): 
  ------------------
  |  Branch (1613:25): [True: 965, False: 5.96k]
  ------------------
 1614|    965|                            if (src[2] == Ch('t') && src[3] == Ch(';'))
  ------------------
  |  Branch (1614:33): [True: 411, False: 554]
  |  Branch (1614:54): [True: 206, False: 205]
  ------------------
 1615|    206|                            {
 1616|    206|                                *dest = Ch('>');
 1617|    206|                                ++dest;
 1618|    206|                                src += 4;
 1619|    206|                                continue;
 1620|    206|                            }
 1621|    759|                            break;
 1622|       |
 1623|       |                        // &lt;
 1624|    759|                        case Ch('l'): 
  ------------------
  |  Branch (1624:25): [True: 598, False: 6.33k]
  ------------------
 1625|    598|                            if (src[2] == Ch('t') && src[3] == Ch(';'))
  ------------------
  |  Branch (1625:33): [True: 396, False: 202]
  |  Branch (1625:54): [True: 194, False: 202]
  ------------------
 1626|    194|                            {
 1627|    194|                                *dest = Ch('<');
 1628|    194|                                ++dest;
 1629|    194|                                src += 4;
 1630|    194|                                continue;
 1631|    194|                            }
 1632|    404|                            break;
 1633|       |
 1634|       |                        // &#...; - assumes ASCII
 1635|  1.24k|                        case Ch('#'): 
  ------------------
  |  Branch (1635:25): [True: 1.24k, False: 5.68k]
  ------------------
 1636|  1.24k|                            if (src[2] == Ch('x'))
  ------------------
  |  Branch (1636:33): [True: 663, False: 586]
  ------------------
 1637|    663|                            {
 1638|    663|                                unsigned long code = 0;
 1639|    663|                                src += 3;   // Skip &#x
 1640|  2.89k|                                while (true)
  ------------------
  |  Branch (1640:40): [Folded - Ignored]
  ------------------
 1641|  2.89k|                                {
 1642|  2.89k|                                    unsigned char digit = internal::lookup_tables<0>::lookup_digits[static_cast<unsigned char>(*src)];
 1643|  2.89k|                                    if (digit == 0xFF)
  ------------------
  |  Branch (1643:41): [True: 663, False: 2.23k]
  ------------------
 1644|    663|                                        break;
 1645|  2.23k|                                    code = code * 16 + digit;
 1646|  2.23k|                                    ++src;
 1647|  2.23k|                                }
 1648|    663|                                insert_coded_character<Flags>(dest, code);    // Put character in output
 1649|    663|                            }
 1650|    586|                            else
 1651|    586|                            {
 1652|    586|                                unsigned long code = 0;
 1653|    586|                                src += 2;   // Skip &#
 1654|  2.22k|                                while (true)
  ------------------
  |  Branch (1654:40): [Folded - Ignored]
  ------------------
 1655|  2.22k|                                {
 1656|  2.22k|                                    unsigned char digit = internal::lookup_tables<0>::lookup_digits[static_cast<unsigned char>(*src)];
 1657|  2.22k|                                    if (digit == 0xFF)
  ------------------
  |  Branch (1657:41): [True: 586, False: 1.63k]
  ------------------
 1658|    586|                                        break;
 1659|  1.63k|                                    code = code * 10 + digit;
 1660|  1.63k|                                    ++src;
 1661|  1.63k|                                }
 1662|    586|                                insert_coded_character<Flags>(dest, code);    // Put character in output
 1663|    586|                            }
 1664|  1.24k|                            if (*src == Ch(';'))
  ------------------
  |  Branch (1664:33): [True: 1.13k, False: 114]
  ------------------
 1665|  1.13k|                                ++src;
 1666|    114|                            else
 1667|    114|                                BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("expected ;", src);
  ------------------
  |  |   32|    114|#define BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR(what, where) throw parse_error(what, where)
  ------------------
 1668|  1.13k|                            continue;
 1669|       |
 1670|       |                        // Something else
 1671|  1.20k|                        default:
  ------------------
  |  Branch (1671:25): [True: 1.20k, False: 5.72k]
  ------------------
 1672|       |                            // Ignore, just copy '&' verbatim
 1673|  1.20k|                            break;
 1674|       |
 1675|  6.93k|                        }
 1676|  6.93k|                    }
 1677|   303k|                }
 1678|       |                
 1679|       |                // If whitespace condensing is enabled
 1680|   301k|                if (Flags & parse_normalize_whitespace)
  ------------------
  |  Branch (1680:21): [Folded - Ignored]
  ------------------
 1681|      0|                {
 1682|       |                    // Test if condensing is needed                 
 1683|      0|                    if (whitespace_pred::test(*src))
  ------------------
  |  Branch (1683:25): [True: 0, False: 0]
  ------------------
 1684|      0|                    {
 1685|      0|                        *dest = Ch(' '); ++dest;    // Put single space in dest
 1686|      0|                        ++src;                      // Skip first whitespace char
 1687|       |                        // Skip remaining whitespace chars
 1688|      0|                        while (whitespace_pred::test(*src))
  ------------------
  |  Branch (1688:32): [True: 0, False: 0]
  ------------------
 1689|      0|                            ++src;
 1690|      0|                        continue;
 1691|      0|                    }
 1692|      0|                }
 1693|       |
 1694|       |                // No replacement, only copy character
 1695|   301k|                *dest++ = *src++;
 1696|       |
 1697|   301k|            }
 1698|       |
 1699|       |            // Return new end
 1700|   119k|            text = src;
 1701|   119k|            return dest;
 1702|       |
 1703|   119k|        }
_ZN5boost13property_tree6detail8rapidxml12xml_documentIcE4skipINS4_25attribute_value_pure_predILc34EEELi1024EEEvRPc:
 1544|   119k|        {
 1545|   119k|            Ch *tmp = text;
 1546|  1.04M|            while (StopPred::test(*tmp))
  ------------------
  |  Branch (1546:20): [True: 922k, False: 119k]
  ------------------
 1547|   922k|                ++tmp;
 1548|   119k|            text = tmp;
 1549|   119k|        }
_ZN5boost13property_tree6detail8rapidxml12xml_documentIcE25attribute_value_pure_predILc34EE4testEc:
 1485|  1.04M|            {
 1486|  1.04M|                if (Quote == Ch('\''))
  ------------------
  |  Branch (1486:21): [Folded - Ignored]
  ------------------
 1487|      0|                    return internal::lookup_tables<0>::lookup_attribute_data_1_pure[internal::get_index(ch)];
 1488|  1.04M|                if (Quote == Ch('\"'))
  ------------------
  |  Branch (1488:21): [Folded - Ignored]
  ------------------
 1489|  1.04M|                    return internal::lookup_tables<0>::lookup_attribute_data_2_pure[internal::get_index(ch)];
 1490|      0|                return 0;       // Should never be executed, to avoid warnings on Comeau
 1491|  1.04M|            }
_ZN5boost13property_tree6detail8rapidxml12xml_documentIcE20attribute_value_predILc34EE4testEc:
 1471|   423k|            {
 1472|   423k|                if (Quote == Ch('\''))
  ------------------
  |  Branch (1472:21): [Folded - Ignored]
  ------------------
 1473|      0|                    return internal::lookup_tables<0>::lookup_attribute_data_1[internal::get_index(ch)];
 1474|   423k|                if (Quote == Ch('\"'))
  ------------------
  |  Branch (1474:21): [Folded - Ignored]
  ------------------
 1475|   423k|                    return internal::lookup_tables<0>::lookup_attribute_data_2[internal::get_index(ch)];
 1476|      0|                return 0;       // Should never be executed, to avoid warnings on Comeau
 1477|   423k|            }
_ZNK5boost13property_tree6detail8rapidxml8xml_baseIcE5valueEv:
  678|  1.11M|        {
  679|  1.11M|            return m_value ? m_value : nullstr();
  ------------------
  |  Branch (679:20): [True: 990k, False: 119k]
  ------------------
  680|  1.11M|        }
_ZNK5boost13property_tree6detail8rapidxml8xml_baseIcE10value_sizeEv:
  686|   794k|        {
  687|   794k|            return m_value ? m_value_size : 0;
  ------------------
  |  Branch (687:20): [True: 794k, False: 0]
  ------------------
  688|   794k|        }
_ZN5boost13property_tree6detail8rapidxml12xml_documentIcE19parse_node_contentsILi3072EEEvRPcPNS2_8xml_nodeIcEE:
 2167|   538k|        {
 2168|       |            // For all children and text
 2169|  5.99M|            while (true)
  ------------------
  |  Branch (2169:20): [Folded - Ignored]
  ------------------
 2170|  5.99M|            {
 2171|       |                // Skip whitespace between > and node contents
 2172|  5.99M|                Ch *contents_start = text;      // Store start of node contents before whitespace is skipped
 2173|  5.99M|                if (Flags & parse_trim_whitespace)
  ------------------
  |  Branch (2173:21): [Folded - Ignored]
  ------------------
 2174|  5.99M|                    skip<whitespace_pred, Flags>(text);
 2175|  5.99M|                Ch next_char = *text;
 2176|       |
 2177|       |            // After data nodes, instead of continuing the loop, control jumps here.
 2178|       |            // This is because zero termination inside parse_and_append_data() function
 2179|       |            // would wreak havoc with the above code.
 2180|       |            // Also, skipping whitespace after data nodes is unnecessary.
 2181|  6.30M|            after_data_node:    
 2182|       |                
 2183|       |                // Determine what comes next: node closing, child node, data node, or 0?
 2184|  6.30M|                switch (next_char)
 2185|  6.30M|                {
 2186|       |                
 2187|       |                // Node closing or child node
 2188|  5.99M|                case Ch('<'):
  ------------------
  |  Branch (2188:17): [True: 5.99M, False: 316k]
  ------------------
 2189|  5.99M|                    if (text[1] == Ch('/'))
  ------------------
  |  Branch (2189:25): [True: 59.9k, False: 5.93M]
  ------------------
 2190|  59.9k|                    {
 2191|       |                        // Node closing
 2192|  59.9k|                        text += 2;      // Skip '</'
 2193|  59.9k|                        if (Flags & parse_validate_closing_tags)
  ------------------
  |  Branch (2193:29): [Folded - Ignored]
  ------------------
 2194|      0|                        {
 2195|       |                            // Skip and validate closing tag name
 2196|      0|                            Ch *closing_name = text;
 2197|      0|                            skip<node_name_pred, Flags>(text);
 2198|      0|                            if (!internal::compare(node->name(), node->name_size(), closing_name, text - closing_name, true))
  ------------------
  |  Branch (2198:33): [True: 0, False: 0]
  ------------------
 2199|      0|                                BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("invalid closing tag name", text);
  ------------------
  |  |   32|      0|#define BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR(what, where) throw parse_error(what, where)
  ------------------
 2200|      0|                        }
 2201|  59.9k|                        else
 2202|  59.9k|                        {
 2203|       |                            // No validation, just skip name
 2204|  59.9k|                            skip<node_name_pred, Flags>(text);
 2205|  59.9k|                        }
 2206|       |                        // Skip remaining whitespace after node name
 2207|  59.9k|                        skip<whitespace_pred, Flags>(text);
 2208|  59.9k|                        if (*text != Ch('>'))
  ------------------
  |  Branch (2208:29): [True: 40, False: 59.9k]
  ------------------
 2209|     40|                            BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("expected >", text);
  ------------------
  |  |   32|     40|#define BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR(what, where) throw parse_error(what, where)
  ------------------
 2210|  59.9k|                        ++text;     // Skip '>'
 2211|  59.9k|                        return;     // Node closed, finished parsing contents
 2212|  59.9k|                    }
 2213|  5.93M|                    else
 2214|  5.93M|                    {
 2215|       |                        // Child node
 2216|  5.93M|                        ++text;     // Skip '<'
 2217|  5.93M|                        if (xml_node<Ch> *child = parse_node<Flags>(text))
  ------------------
  |  Branch (2217:43): [True: 5.44M, False: 483k]
  ------------------
 2218|  5.44M|                            node->append_node(child);
 2219|  5.93M|                    }
 2220|  5.93M|                    break;
 2221|       |
 2222|       |                // End of data - error
 2223|  5.93M|                case Ch('\0'):
  ------------------
  |  Branch (2223:17): [True: 449, False: 6.30M]
  ------------------
 2224|    449|                    BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("unexpected end of data", text);
  ------------------
  |  |   32|    449|#define BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR(what, where) throw parse_error(what, where)
  ------------------
 2225|       |
 2226|       |                // Data node
 2227|   315k|                default:
  ------------------
  |  Branch (2227:17): [True: 315k, False: 5.99M]
  ------------------
 2228|   315k|                    next_char = parse_and_append_data<Flags>(node, text, contents_start);
 2229|   315k|                    goto after_data_node;   // Bypass regular processing after data nodes
 2230|       |
 2231|  6.30M|                }
 2232|  6.30M|            }
 2233|   538k|        }
_ZN5boost13property_tree6detail8rapidxml12xml_documentIcE21parse_and_append_dataILi3072EEEcPNS2_8xml_nodeIcEERPcS9_:
 1937|   315k|        {
 1938|       |            // Backup to contents start if whitespace trimming is disabled
 1939|   315k|            if (!(Flags & parse_trim_whitespace))
  ------------------
  |  Branch (1939:17): [Folded - Ignored]
  ------------------
 1940|      0|                text = contents_start;     
 1941|       |            
 1942|       |            // Skip until end of data
 1943|   315k|            Ch *val = text, *end;
 1944|   315k|            if (Flags & parse_normalize_whitespace)
  ------------------
  |  Branch (1944:17): [Folded - Ignored]
  ------------------
 1945|   315k|                end = skip_and_expand_character_refs<text_pred, text_pure_with_ws_pred, Flags>(text);   
 1946|      0|            else
 1947|      0|                end = skip_and_expand_character_refs<text_pred, text_pure_no_ws_pred, Flags>(text);
 1948|       |
 1949|       |            // Trim trailing whitespace if flag is set; leading was already trimmed by whitespace skip after >
 1950|   315k|            if (Flags & parse_trim_whitespace)
  ------------------
  |  Branch (1950:17): [Folded - Ignored]
  ------------------
 1951|   315k|            {
 1952|   315k|                if (Flags & parse_normalize_whitespace)
  ------------------
  |  Branch (1952:21): [Folded - Ignored]
  ------------------
 1953|   315k|                {
 1954|       |                    // Whitespace is already condensed to single space characters by skipping function, so just trim 1 char off the end
 1955|   315k|                    if (*(end - 1) == Ch(' '))
  ------------------
  |  Branch (1955:25): [True: 14.4k, False: 301k]
  ------------------
 1956|  14.4k|                        --end;
 1957|   315k|                }
 1958|      0|                else
 1959|      0|                {
 1960|       |                    // Backup until non-whitespace character is found
 1961|      0|                    while (whitespace_pred::test(*(end - 1)))
  ------------------
  |  Branch (1961:28): [True: 0, False: 0]
  ------------------
 1962|      0|                        --end;
 1963|      0|                }
 1964|   315k|            }
 1965|       |            
 1966|       |            // If characters are still left between end and value (this test is only necessary if normalization is enabled)
 1967|       |            // Create new data node
 1968|   315k|            if (!(Flags & parse_no_data_nodes))
  ------------------
  |  Branch (1968:17): [Folded - Ignored]
  ------------------
 1969|   315k|            {
 1970|   315k|                xml_node<Ch> *data = this->allocate_node(node_data);
 1971|   315k|                data->value(val, end - val);
 1972|   315k|                node->append_node(data);
 1973|   315k|            }
 1974|       |
 1975|       |            // Add data to parent node if no data exists yet
 1976|   315k|            if (!(Flags & parse_no_element_values)) 
  ------------------
  |  Branch (1976:17): [Folded - Ignored]
  ------------------
 1977|   315k|                if (*node->value() == Ch('\0'))
  ------------------
  |  Branch (1977:21): [True: 119k, False: 196k]
  ------------------
 1978|   119k|                    node->value(val, end - val);
 1979|       |
 1980|       |            // Place zero terminator after value
 1981|   315k|            if (!(Flags & parse_no_string_terminators))
  ------------------
  |  Branch (1981:17): [Folded - Ignored]
  ------------------
 1982|   315k|            {
 1983|   315k|                Ch ch = *text;
 1984|   315k|                *end = Ch('\0');
 1985|   315k|                return ch;      // Return character that ends data; this is required because zero terminator overwritten it
 1986|   315k|            }
 1987|       |
 1988|       |            // Return character that ends data
 1989|    240|            return *text;
 1990|   315k|        }
_ZN5boost13property_tree6detail8rapidxml12xml_documentIcE30skip_and_expand_character_refsINS4_9text_predENS4_22text_pure_with_ws_predELi3072EEEPcRS8_:
 1556|   315k|        {
 1557|       |            // If entity translation, whitespace condense and whitespace trimming is disabled, use plain skip
 1558|   315k|            if (Flags & parse_no_entity_translation && 
  ------------------
  |  Branch (1558:17): [Folded - Ignored]
  ------------------
 1559|   315k|                !(Flags & parse_normalize_whitespace) &&
  ------------------
  |  Branch (1559:17): [Folded - Ignored]
  ------------------
 1560|   315k|                !(Flags & parse_trim_whitespace))
  ------------------
  |  Branch (1560:17): [Folded - Ignored]
  ------------------
 1561|      0|            {
 1562|      0|                skip<StopPred, Flags>(text);
 1563|      0|                return text;
 1564|      0|            }
 1565|       |            
 1566|       |            // Use simple skip until first modification is detected
 1567|   315k|            skip<StopPredPure, Flags>(text);
 1568|       |
 1569|       |            // Use translation skip
 1570|   315k|            Ch *src = text;
 1571|   315k|            Ch *dest = src;
 1572|  1.12M|            while (StopPred::test(*src))
  ------------------
  |  Branch (1572:20): [True: 807k, False: 315k]
  ------------------
 1573|   807k|            {
 1574|       |                // If entity translation is enabled    
 1575|   807k|                if (!(Flags & parse_no_entity_translation))
  ------------------
  |  Branch (1575:21): [Folded - Ignored]
  ------------------
 1576|   807k|                {
 1577|       |                    // Test if replacement is needed
 1578|   807k|                    if (src[0] == Ch('&'))
  ------------------
  |  Branch (1578:25): [True: 83.4k, False: 723k]
  ------------------
 1579|  83.4k|                    {
 1580|  83.4k|                        switch (src[1])
 1581|  83.4k|                        {
 1582|       |
 1583|       |                        // &amp; &apos;
 1584|  7.13k|                        case Ch('a'): 
  ------------------
  |  Branch (1584:25): [True: 7.13k, False: 76.3k]
  ------------------
 1585|  7.13k|                            if (src[2] == Ch('m') && src[3] == Ch('p') && src[4] == Ch(';'))
  ------------------
  |  Branch (1585:33): [True: 3.87k, False: 3.25k]
  |  Branch (1585:54): [True: 921, False: 2.95k]
  |  Branch (1585:75): [True: 605, False: 316]
  ------------------
 1586|    605|                            {
 1587|    605|                                *dest = Ch('&');
 1588|    605|                                ++dest;
 1589|    605|                                src += 5;
 1590|    605|                                continue;
 1591|    605|                            }
 1592|  6.52k|                            if (src[2] == Ch('p') && src[3] == Ch('o') && src[4] == Ch('s') && src[5] == Ch(';'))
  ------------------
  |  Branch (1592:33): [True: 1.96k, False: 4.56k]
  |  Branch (1592:54): [True: 1.38k, False: 576]
  |  Branch (1592:75): [True: 921, False: 464]
  |  Branch (1592:96): [True: 292, False: 629]
  ------------------
 1593|    292|                            {
 1594|    292|                                *dest = Ch('\'');
 1595|    292|                                ++dest;
 1596|    292|                                src += 6;
 1597|    292|                                continue;
 1598|    292|                            }
 1599|  6.23k|                            break;
 1600|       |
 1601|       |                        // &quot;
 1602|  6.23k|                        case Ch('q'): 
  ------------------
  |  Branch (1602:25): [True: 4.56k, False: 78.9k]
  ------------------
 1603|  4.56k|                            if (src[2] == Ch('u') && src[3] == Ch('o') && src[4] == Ch('t') && src[5] == Ch(';'))
  ------------------
  |  Branch (1603:33): [True: 958, False: 3.60k]
  |  Branch (1603:54): [True: 650, False: 308]
  |  Branch (1603:75): [True: 415, False: 235]
  |  Branch (1603:96): [True: 194, False: 221]
  ------------------
 1604|    194|                            {
 1605|    194|                                *dest = Ch('"');
 1606|    194|                                ++dest;
 1607|    194|                                src += 6;
 1608|    194|                                continue;
 1609|    194|                            }
 1610|  4.37k|                            break;
 1611|       |
 1612|       |                        // &gt;
 1613|  4.37k|                        case Ch('g'): 
  ------------------
  |  Branch (1613:25): [True: 1.37k, False: 82.0k]
  ------------------
 1614|  1.37k|                            if (src[2] == Ch('t') && src[3] == Ch(';'))
  ------------------
  |  Branch (1614:33): [True: 480, False: 897]
  |  Branch (1614:54): [True: 252, False: 228]
  ------------------
 1615|    252|                            {
 1616|    252|                                *dest = Ch('>');
 1617|    252|                                ++dest;
 1618|    252|                                src += 4;
 1619|    252|                                continue;
 1620|    252|                            }
 1621|  1.12k|                            break;
 1622|       |
 1623|       |                        // &lt;
 1624|  2.55k|                        case Ch('l'): 
  ------------------
  |  Branch (1624:25): [True: 2.55k, False: 80.9k]
  ------------------
 1625|  2.55k|                            if (src[2] == Ch('t') && src[3] == Ch(';'))
  ------------------
  |  Branch (1625:33): [True: 2.19k, False: 359]
  |  Branch (1625:54): [True: 443, False: 1.75k]
  ------------------
 1626|    443|                            {
 1627|    443|                                *dest = Ch('<');
 1628|    443|                                ++dest;
 1629|    443|                                src += 4;
 1630|    443|                                continue;
 1631|    443|                            }
 1632|  2.11k|                            break;
 1633|       |
 1634|       |                        // &#...; - assumes ASCII
 1635|  2.11k|                        case Ch('#'): 
  ------------------
  |  Branch (1635:25): [True: 1.47k, False: 81.9k]
  ------------------
 1636|  1.47k|                            if (src[2] == Ch('x'))
  ------------------
  |  Branch (1636:33): [True: 766, False: 707]
  ------------------
 1637|    766|                            {
 1638|    766|                                unsigned long code = 0;
 1639|    766|                                src += 3;   // Skip &#x
 1640|  3.67k|                                while (true)
  ------------------
  |  Branch (1640:40): [Folded - Ignored]
  ------------------
 1641|  3.67k|                                {
 1642|  3.67k|                                    unsigned char digit = internal::lookup_tables<0>::lookup_digits[static_cast<unsigned char>(*src)];
 1643|  3.67k|                                    if (digit == 0xFF)
  ------------------
  |  Branch (1643:41): [True: 766, False: 2.91k]
  ------------------
 1644|    766|                                        break;
 1645|  2.91k|                                    code = code * 16 + digit;
 1646|  2.91k|                                    ++src;
 1647|  2.91k|                                }
 1648|    766|                                insert_coded_character<Flags>(dest, code);    // Put character in output
 1649|    766|                            }
 1650|    707|                            else
 1651|    707|                            {
 1652|    707|                                unsigned long code = 0;
 1653|    707|                                src += 2;   // Skip &#
 1654|  2.09k|                                while (true)
  ------------------
  |  Branch (1654:40): [Folded - Ignored]
  ------------------
 1655|  2.09k|                                {
 1656|  2.09k|                                    unsigned char digit = internal::lookup_tables<0>::lookup_digits[static_cast<unsigned char>(*src)];
 1657|  2.09k|                                    if (digit == 0xFF)
  ------------------
  |  Branch (1657:41): [True: 707, False: 1.39k]
  ------------------
 1658|    707|                                        break;
 1659|  1.39k|                                    code = code * 10 + digit;
 1660|  1.39k|                                    ++src;
 1661|  1.39k|                                }
 1662|    707|                                insert_coded_character<Flags>(dest, code);    // Put character in output
 1663|    707|                            }
 1664|  1.47k|                            if (*src == Ch(';'))
  ------------------
  |  Branch (1664:33): [True: 1.23k, False: 240]
  ------------------
 1665|  1.23k|                                ++src;
 1666|    240|                            else
 1667|    240|                                BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("expected ;", src);
  ------------------
  |  |   32|    240|#define BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR(what, where) throw parse_error(what, where)
  ------------------
 1668|  1.23k|                            continue;
 1669|       |
 1670|       |                        // Something else
 1671|  66.3k|                        default:
  ------------------
  |  Branch (1671:25): [True: 66.3k, False: 17.1k]
  ------------------
 1672|       |                            // Ignore, just copy '&' verbatim
 1673|  66.3k|                            break;
 1674|       |
 1675|  83.4k|                        }
 1676|  83.4k|                    }
 1677|   807k|                }
 1678|       |                
 1679|       |                // If whitespace condensing is enabled
 1680|   804k|                if (Flags & parse_normalize_whitespace)
  ------------------
  |  Branch (1680:21): [Folded - Ignored]
  ------------------
 1681|   804k|                {
 1682|       |                    // Test if condensing is needed                 
 1683|   804k|                    if (whitespace_pred::test(*src))
  ------------------
  |  Branch (1683:25): [True: 49.6k, False: 754k]
  ------------------
 1684|  49.6k|                    {
 1685|  49.6k|                        *dest = Ch(' '); ++dest;    // Put single space in dest
 1686|  49.6k|                        ++src;                      // Skip first whitespace char
 1687|       |                        // Skip remaining whitespace chars
 1688|  89.4k|                        while (whitespace_pred::test(*src))
  ------------------
  |  Branch (1688:32): [True: 39.7k, False: 49.6k]
  ------------------
 1689|  39.7k|                            ++src;
 1690|  49.6k|                        continue;
 1691|  49.6k|                    }
 1692|   804k|                }
 1693|       |
 1694|       |                // No replacement, only copy character
 1695|   754k|                *dest++ = *src++;
 1696|       |
 1697|   754k|            }
 1698|       |
 1699|       |            // Return new end
 1700|   315k|            text = src;
 1701|   315k|            return dest;
 1702|       |
 1703|   315k|        }
_ZN5boost13property_tree6detail8rapidxml12xml_documentIcE4skipINS4_22text_pure_with_ws_predELi3072EEEvRPc:
 1544|   315k|        {
 1545|   315k|            Ch *tmp = text;
 1546|  3.35M|            while (StopPred::test(*tmp))
  ------------------
  |  Branch (1546:20): [True: 3.03M, False: 315k]
  ------------------
 1547|  3.03M|                ++tmp;
 1548|   315k|            text = tmp;
 1549|   315k|        }
_ZN5boost13property_tree6detail8rapidxml12xml_documentIcE22text_pure_with_ws_pred4testEc:
 1461|  3.35M|            {
 1462|  3.35M|                return internal::lookup_tables<0>::lookup_text_pure_with_ws[internal::get_index(ch)];
 1463|  3.35M|            }
_ZN5boost13property_tree6detail8rapidxml12xml_documentIcE9text_pred4testEc:
 1443|  1.12M|            {
 1444|  1.12M|                return internal::lookup_tables<0>::lookup_text[internal::get_index(ch)];
 1445|  1.12M|            }
_ZN5boost13property_tree6detail8rapidxml12xml_documentIcE22insert_coded_characterILi3072EEEvRPcm:
 1497|  1.47k|        {
 1498|  1.47k|            if (Flags & parse_no_utf8)
  ------------------
  |  Branch (1498:17): [Folded - Ignored]
  ------------------
 1499|      0|            {
 1500|       |                // Insert 8-bit ASCII character
 1501|       |                // Todo: possibly verify that code is less than 256 and use replacement char otherwise?
 1502|      0|                text[0] = static_cast<unsigned char>(code);
 1503|      0|                text += 1;
 1504|      0|            }
 1505|  1.47k|            else
 1506|  1.47k|            {
 1507|       |                // Insert UTF8 sequence
 1508|  1.47k|                if (code < 0x80)    // 1 byte sequence
  ------------------
  |  Branch (1508:21): [True: 641, False: 832]
  ------------------
 1509|    641|                {
 1510|    641|                    text[0] = static_cast<unsigned char>(code);
 1511|    641|                    text += 1;
 1512|    641|                }
 1513|    832|                else if (code < 0x800)  // 2 byte sequence
  ------------------
  |  Branch (1513:26): [True: 271, False: 561]
  ------------------
 1514|    271|                {
 1515|    271|                    text[1] = static_cast<unsigned char>((code | 0x80) & 0xBF); code >>= 6;
 1516|    271|                    text[0] = static_cast<unsigned char>(code | 0xC0);
 1517|    271|                    text += 2;
 1518|    271|                }
 1519|    561|                else if (code < 0x10000)    // 3 byte sequence
  ------------------
  |  Branch (1519:26): [True: 225, False: 336]
  ------------------
 1520|    225|                {
 1521|    225|                    text[2] = static_cast<unsigned char>((code | 0x80) & 0xBF); code >>= 6;
 1522|    225|                    text[1] = static_cast<unsigned char>((code | 0x80) & 0xBF); code >>= 6;
 1523|    225|                    text[0] = static_cast<unsigned char>(code | 0xE0);
 1524|    225|                    text += 3;
 1525|    225|                }
 1526|    336|                else if (code < 0x110000)   // 4 byte sequence
  ------------------
  |  Branch (1526:26): [True: 226, False: 110]
  ------------------
 1527|    226|                {
 1528|    226|                    text[3] = static_cast<unsigned char>((code | 0x80) & 0xBF); code >>= 6;
 1529|    226|                    text[2] = static_cast<unsigned char>((code | 0x80) & 0xBF); code >>= 6;
 1530|    226|                    text[1] = static_cast<unsigned char>((code | 0x80) & 0xBF); code >>= 6;
 1531|    226|                    text[0] = static_cast<unsigned char>(code | 0xF0);
 1532|    226|                    text += 4;
 1533|    226|                }
 1534|    110|                else    // Invalid, only codes up to 0x10FFFF are allowed in Unicode
 1535|    110|                {
 1536|    110|                    BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("invalid numeric character entity", text);
  ------------------
  |  |   32|    110|#define BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR(what, where) throw parse_error(what, where)
  ------------------
 1537|    110|                }
 1538|  1.47k|            }
 1539|  1.47k|        }
_ZN5boost13property_tree6detail8rapidxml12xml_documentIcE21parse_xml_declarationILi3072EEEPNS2_8xml_nodeIcEERPc:
 1734|    398|        {
 1735|       |            // If parsing of declaration is disabled
 1736|    398|            if (!(Flags & parse_declaration_node))
  ------------------
  |  Branch (1736:17): [Folded - Ignored]
  ------------------
 1737|    398|            {
 1738|       |                // Skip until end of declaration
 1739|  1.30k|                while (text[0] != Ch('?') || text[1] != Ch('>'))
  ------------------
  |  Branch (1739:24): [True: 719, False: 588]
  |  Branch (1739:46): [True: 221, False: 367]
  ------------------
 1740|    940|                {
 1741|    940|                    if (!text[0])
  ------------------
  |  Branch (1741:25): [True: 31, False: 909]
  ------------------
 1742|     31|                        BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("unexpected end of data", text);
  ------------------
  |  |   32|     31|#define BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR(what, where) throw parse_error(what, where)
  ------------------
 1743|    909|                    ++text;
 1744|    909|                }
 1745|    367|                text += 2;    // Skip '?>'
 1746|    367|                return 0;
 1747|    398|            }
 1748|       |
 1749|       |            // Create declaration
 1750|      0|            xml_node<Ch> *declaration = this->allocate_node(node_declaration);
 1751|       |
 1752|       |            // Skip whitespace before attributes or ?>
 1753|      0|            skip<whitespace_pred, Flags>(text);
 1754|       |
 1755|       |            // Parse declaration attributes
 1756|      0|            parse_node_attributes<Flags>(text, declaration);
 1757|       |            
 1758|       |            // Skip ?>
 1759|      0|            if (text[0] != Ch('?') || text[1] != Ch('>'))
  ------------------
  |  Branch (1759:17): [True: 0, False: 0]
  |  Branch (1759:39): [True: 0, False: 0]
  ------------------
 1760|      0|                BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("expected ?>", text);
  ------------------
  |  |   32|      0|#define BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR(what, where) throw parse_error(what, where)
  ------------------
 1761|      0|            text += 2;
 1762|       |            
 1763|      0|            return declaration;
 1764|      0|        }
_ZN5boost13property_tree6detail8rapidxml12xml_documentIcE8parse_piILi3072EEEPNS2_8xml_nodeIcEERPc:
 1877|  1.50k|        {
 1878|       |            // If creation of PI nodes is enabled
 1879|  1.50k|            if (Flags & parse_pi_nodes)
  ------------------
  |  Branch (1879:17): [Folded - Ignored]
  ------------------
 1880|      0|            {
 1881|       |                // Create pi node
 1882|      0|                xml_node<Ch> *pi = this->allocate_node(node_pi);
 1883|       |
 1884|       |                // Extract PI target name
 1885|      0|                Ch *n = text;
 1886|      0|                skip<node_name_pred, Flags>(text);
 1887|      0|                if (text == n)
  ------------------
  |  Branch (1887:21): [True: 0, False: 0]
  ------------------
 1888|      0|                    BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("expected PI target", text);
  ------------------
  |  |   32|      0|#define BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR(what, where) throw parse_error(what, where)
  ------------------
 1889|      0|                pi->name(n, text - n);
 1890|       |                
 1891|       |                // Skip whitespace between pi target and pi
 1892|      0|                skip<whitespace_pred, Flags>(text);
 1893|       |
 1894|       |                // Remember start of pi
 1895|      0|                Ch *val = text;
 1896|       |                
 1897|       |                // Skip to '?>'
 1898|      0|                while (text[0] != Ch('?') || text[1] != Ch('>'))
  ------------------
  |  Branch (1898:24): [True: 0, False: 0]
  |  Branch (1898:46): [True: 0, False: 0]
  ------------------
 1899|      0|                {
 1900|      0|                    if (*text == Ch('\0'))
  ------------------
  |  Branch (1900:25): [True: 0, False: 0]
  ------------------
 1901|      0|                        BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("unexpected end of data", text);
  ------------------
  |  |   32|      0|#define BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR(what, where) throw parse_error(what, where)
  ------------------
 1902|      0|                    ++text;
 1903|      0|                }
 1904|       |
 1905|       |                // Set pi value (verbatim, no entity expansion or whitespace normalization)
 1906|      0|                pi->value(val, text - val);
 1907|       |
 1908|       |                // Place zero terminator after name and value
 1909|      0|                if (!(Flags & parse_no_string_terminators))
  ------------------
  |  Branch (1909:21): [Folded - Ignored]
  ------------------
 1910|      0|                {
 1911|      0|                    pi->name()[pi->name_size()] = Ch('\0');
 1912|      0|                    pi->value()[pi->value_size()] = Ch('\0');
 1913|      0|                }
 1914|       |                
 1915|      0|                text += 2;                          // Skip '?>'
 1916|      0|                return pi;
 1917|      0|            }
 1918|  1.50k|            else
 1919|  1.50k|            {
 1920|       |                // Skip to '?>'
 1921|   530k|                while (text[0] != Ch('?') || text[1] != Ch('>'))
  ------------------
  |  Branch (1921:24): [True: 529k, False: 1.85k]
  |  Branch (1921:46): [True: 477, False: 1.38k]
  ------------------
 1922|   529k|                {
 1923|   529k|                    if (*text == Ch('\0'))
  ------------------
  |  Branch (1923:25): [True: 125, False: 529k]
  ------------------
 1924|    125|                        BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("unexpected end of data", text);
  ------------------
  |  |   32|    125|#define BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR(what, where) throw parse_error(what, where)
  ------------------
 1925|   529k|                    ++text;
 1926|   529k|                }
 1927|  1.38k|                text += 2;    // Skip '?>'
 1928|  1.38k|                return 0;
 1929|  1.50k|            }
 1930|  1.50k|        }
_ZN5boost13property_tree6detail8rapidxml12xml_documentIcE13parse_commentILi3072EEEPNS2_8xml_nodeIcEERPc:
 1769|    275|        {
 1770|       |            // If parsing of comments is disabled
 1771|    275|            if (!(Flags & parse_comment_nodes))
  ------------------
  |  Branch (1771:17): [Folded - Ignored]
  ------------------
 1772|    275|            {
 1773|       |                // Skip until end of comment
 1774|  1.96k|                while (text[0] != Ch('-') || text[1] != Ch('-') || text[2] != Ch('>'))
  ------------------
  |  Branch (1774:24): [True: 1.20k, False: 759]
  |  Branch (1774:46): [True: 242, False: 517]
  |  Branch (1774:68): [True: 303, False: 214]
  ------------------
 1775|  1.74k|                {
 1776|  1.74k|                    if (!text[0])
  ------------------
  |  Branch (1776:25): [True: 61, False: 1.68k]
  ------------------
 1777|     61|                        BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("unexpected end of data", text);
  ------------------
  |  |   32|     61|#define BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR(what, where) throw parse_error(what, where)
  ------------------
 1778|  1.68k|                    ++text;
 1779|  1.68k|                }
 1780|    214|                text += 3;     // Skip '-->'
 1781|    214|                return 0;      // Do not produce comment node
 1782|    275|            }
 1783|       |
 1784|       |            // Remember value start
 1785|      0|            Ch *val = text;
 1786|       |
 1787|       |            // Skip until end of comment
 1788|      0|            while (text[0] != Ch('-') || text[1] != Ch('-') || text[2] != Ch('>'))
  ------------------
  |  Branch (1788:20): [True: 0, False: 0]
  |  Branch (1788:42): [True: 0, False: 0]
  |  Branch (1788:64): [True: 0, False: 0]
  ------------------
 1789|      0|            {
 1790|      0|                if (!text[0])
  ------------------
  |  Branch (1790:21): [True: 0, False: 0]
  ------------------
 1791|      0|                    BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("unexpected end of data", text);
  ------------------
  |  |   32|      0|#define BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR(what, where) throw parse_error(what, where)
  ------------------
 1792|      0|                ++text;
 1793|      0|            }
 1794|       |
 1795|       |            // Create comment node
 1796|      0|            xml_node<Ch> *comment = this->allocate_node(node_comment);
 1797|      0|            comment->value(val, text - val);
 1798|       |            
 1799|       |            // Place zero terminator after comment value
 1800|      0|            if (!(Flags & parse_no_string_terminators))
  ------------------
  |  Branch (1800:17): [Folded - Ignored]
  ------------------
 1801|      0|                *text = Ch('\0');
 1802|       |            
 1803|      0|            text += 3;     // Skip '-->'
 1804|      0|            return comment;
 1805|      0|        }
_ZN5boost13property_tree6detail8rapidxml12xml_documentIcE11parse_cdataILi3072EEEPNS2_8xml_nodeIcEERPc:
 1995|  43.0k|        {
 1996|       |            // If CDATA is disabled
 1997|  43.0k|            if (Flags & parse_no_data_nodes)
  ------------------
  |  Branch (1997:17): [Folded - Ignored]
  ------------------
 1998|      0|            {
 1999|       |                // Skip until end of cdata
 2000|      0|                while (text[0] != Ch(']') || text[1] != Ch(']') || text[2] != Ch('>'))
  ------------------
  |  Branch (2000:24): [True: 0, False: 0]
  |  Branch (2000:46): [True: 0, False: 0]
  |  Branch (2000:68): [True: 0, False: 0]
  ------------------
 2001|      0|                {
 2002|      0|                    if (!text[0])
  ------------------
  |  Branch (2002:25): [True: 0, False: 0]
  ------------------
 2003|      0|                        BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("unexpected end of data", text);
  ------------------
  |  |   32|      0|#define BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR(what, where) throw parse_error(what, where)
  ------------------
 2004|      0|                    ++text;
 2005|      0|                }
 2006|      0|                text += 3;      // Skip ]]>
 2007|      0|                return 0;       // Do not produce CDATA node
 2008|      0|            }
 2009|       |
 2010|       |            // Skip until end of cdata
 2011|  43.0k|            Ch *val = text;
 2012|   240k|            while (text[0] != Ch(']') || text[1] != Ch(']') || text[2] != Ch('>'))
  ------------------
  |  Branch (2012:20): [True: 189k, False: 50.7k]
  |  Branch (2012:42): [True: 5.11k, False: 45.6k]
  |  Branch (2012:64): [True: 2.62k, False: 43.0k]
  ------------------
 2013|   197k|            {
 2014|   197k|                if (!text[0])
  ------------------
  |  Branch (2014:21): [True: 48, False: 196k]
  ------------------
 2015|     48|                    BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("unexpected end of data", text);
  ------------------
  |  |   32|     48|#define BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR(what, where) throw parse_error(what, where)
  ------------------
 2016|   196k|                ++text;
 2017|   196k|            }
 2018|       |
 2019|       |            // Create new cdata node
 2020|  43.0k|            xml_node<Ch> *cdata = this->allocate_node(node_cdata);
 2021|  43.0k|            cdata->value(val, text - val);
 2022|       |
 2023|       |            // Place zero terminator after value
 2024|  43.0k|            if (!(Flags & parse_no_string_terminators))
  ------------------
  |  Branch (2024:17): [Folded - Ignored]
  ------------------
 2025|  43.0k|                *text = Ch('\0');
 2026|       |
 2027|  43.0k|            text += 3;      // Skip ]]>
 2028|  43.0k|            return cdata;
 2029|  43.0k|        }
_ZN5boost13property_tree6detail8rapidxml12xml_documentIcE13parse_doctypeILi3072EEEPNS2_8xml_nodeIcEERPc:
 1810|    299|        {
 1811|       |            // Remember value start
 1812|    299|            Ch *val = text;
 1813|       |
 1814|       |            // Skip to >
 1815|  1.24k|            while (*text != Ch('>'))
  ------------------
  |  Branch (1815:20): [True: 985, False: 263]
  ------------------
 1816|    985|            {
 1817|       |                // Determine character type
 1818|    985|                switch (*text)
 1819|    985|                {
 1820|       |                
 1821|       |                // If '[' encountered, scan for matching ending ']' using naive algorithm with depth
 1822|       |                // This works for all W3C test files except for 2 most wicked
 1823|    281|                case Ch('['):
  ------------------
  |  Branch (1823:17): [True: 281, False: 704]
  ------------------
 1824|    281|                {
 1825|    281|                    ++text;     // Skip '['
 1826|    281|                    int depth = 1;
 1827|  1.18k|                    while (depth > 0)
  ------------------
  |  Branch (1827:28): [True: 923, False: 265]
  ------------------
 1828|    923|                    {
 1829|    923|                        switch (*text)
 1830|    923|                        {
 1831|    304|                            case Ch('['): ++depth; break;
  ------------------
  |  Branch (1831:29): [True: 304, False: 619]
  ------------------
 1832|    375|                            case Ch(']'): --depth; break;
  ------------------
  |  Branch (1832:29): [True: 375, False: 548]
  ------------------
 1833|     16|                            case 0: BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("unexpected end of data", text);
  ------------------
  |  |   32|     16|#define BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR(what, where) throw parse_error(what, where)
  ------------------
  |  Branch (1833:29): [True: 16, False: 907]
  ------------------
 1834|    228|                            default: break;
  ------------------
  |  Branch (1834:29): [True: 228, False: 695]
  ------------------
 1835|    923|                        }
 1836|    907|                        ++text;
 1837|    907|                    }
 1838|    265|                    break;
 1839|    281|                }
 1840|       |                
 1841|       |                // Error on end of text
 1842|    265|                case Ch('\0'):
  ------------------
  |  Branch (1842:17): [True: 20, False: 965]
  ------------------
 1843|     20|                    BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("unexpected end of data", text);
  ------------------
  |  |   32|     20|#define BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR(what, where) throw parse_error(what, where)
  ------------------
 1844|       |                
 1845|       |                // Other character, skip it
 1846|    684|                default:
  ------------------
  |  Branch (1846:17): [True: 684, False: 301]
  ------------------
 1847|    684|                    ++text;
 1848|       |
 1849|    985|                }
 1850|    985|            }
 1851|       |            
 1852|       |            // If DOCTYPE nodes enabled
 1853|    263|            if (Flags & parse_doctype_node)
  ------------------
  |  Branch (1853:17): [Folded - Ignored]
  ------------------
 1854|      0|            {
 1855|       |                // Create a new doctype node
 1856|      0|                xml_node<Ch> *doctype = this->allocate_node(node_doctype);
 1857|      0|                doctype->value(val, text - val);
 1858|       |                
 1859|       |                // Place zero terminator after value
 1860|      0|                if (!(Flags & parse_no_string_terminators))
  ------------------
  |  Branch (1860:21): [Folded - Ignored]
  ------------------
 1861|      0|                    *text = Ch('\0');
 1862|       |
 1863|      0|                text += 1;      // skip '>'
 1864|      0|                return doctype;
 1865|      0|            }
 1866|    263|            else
 1867|    263|            {
 1868|    263|                text += 1;      // skip '>'
 1869|    263|                return 0;
 1870|    263|            }
 1871|       |
 1872|    263|        }
_ZN5boost13property_tree6detail8rapidxml8xml_nodeIcE11append_nodeEPS4_:
 1083|  5.77M|        {
 1084|  5.77M|            BOOST_ASSERT(child && !child->parent() && child->type() != node_document);
  ------------------
  |  |   66|  5.77M|# define BOOST_ASSERT(expr) assert(expr)
  ------------------
 1085|  5.77M|            if (first_node())
  ------------------
  |  Branch (1085:17): [True: 5.64M, False: 129k]
  ------------------
 1086|  5.64M|            {
 1087|  5.64M|                child->m_prev_sibling = m_last_node;
 1088|  5.64M|                m_last_node->m_next_sibling = child;
 1089|  5.64M|            }
 1090|   129k|            else
 1091|   129k|            {
 1092|   129k|                child->m_prev_sibling = 0;
 1093|   129k|                m_first_node = child;
 1094|   129k|            }
 1095|  5.77M|            m_last_node = child;
 1096|  5.77M|            child->m_parent = this;
 1097|  5.77M|            child->m_next_sibling = 0;
 1098|  5.77M|        }
_ZN5boost13property_tree6detail8rapidxml11parse_errorC2EPKcPv:
   55|  2.35k|            : m_what(wa)
   56|  2.35k|            , m_where(we)
   57|  2.35k|        {
   58|  2.35k|        }
_ZNK5boost13property_tree6detail8rapidxml11parse_error4whatEv:
   63|  2.35k|        {
   64|  2.35k|            return m_what;
   65|  2.35k|        }
_ZNK5boost13property_tree6detail8rapidxml8xml_nodeIcE10first_nodeEPKcmb:
  922|  10.9M|        {
  923|  10.9M|            if (n)
  ------------------
  |  Branch (923:17): [True: 0, False: 10.9M]
  ------------------
  924|      0|            {
  925|      0|                if (nsize == 0)
  ------------------
  |  Branch (925:21): [True: 0, False: 0]
  ------------------
  926|      0|                    nsize = internal::measure(n);
  927|      0|                for (xml_node<Ch> *child = m_first_node; child; child = child->next_sibling())
  ------------------
  |  Branch (927:58): [True: 0, False: 0]
  ------------------
  928|      0|                    if (internal::compare(child->name(), child->name_size(), n, nsize, case_sensitive))
  ------------------
  |  Branch (928:25): [True: 0, False: 0]
  ------------------
  929|      0|                        return child;
  930|      0|                return 0;
  931|      0|            }
  932|  10.9M|            else
  933|  10.9M|                return m_first_node;
  934|  10.9M|        }
_ZNK5boost13property_tree6detail8rapidxml8xml_nodeIcE4typeEv:
  899|  5.38M|        {
  900|  5.38M|            return m_type;
  901|  5.38M|        }
_ZNK5boost13property_tree6detail8rapidxml13xml_attributeIcE14next_attributeEPKcmb:
  842|   217k|        {
  843|   217k|            if (n)
  ------------------
  |  Branch (843:17): [True: 0, False: 217k]
  ------------------
  844|      0|            {
  845|      0|                if (nsize == 0)
  ------------------
  |  Branch (845:21): [True: 0, False: 0]
  ------------------
  846|      0|                    nsize = internal::measure(n);
  847|      0|                for (xml_attribute<Ch> *attribute = m_next_attribute; attribute; attribute = attribute->m_next_attribute)
  ------------------
  |  Branch (847:71): [True: 0, False: 0]
  ------------------
  848|      0|                    if (internal::compare(attribute->name(), attribute->name_size(), n, nsize, case_sensitive))
  ------------------
  |  Branch (848:25): [True: 0, False: 0]
  ------------------
  849|      0|                        return attribute;
  850|      0|                return 0;
  851|      0|            }
  852|   217k|            else
  853|   217k|                return this->m_parent ? m_next_attribute : 0;
  ------------------
  |  Branch (853:24): [True: 217k, False: 0]
  ------------------
  854|   217k|        }
_ZNK5boost13property_tree6detail8rapidxml8xml_nodeIcE12next_siblingEPKcmb:
  990|  5.38M|        {
  991|  5.38M|            BOOST_ASSERT(this->m_parent);     // Cannot query for siblings if node has no parent
  ------------------
  |  |   66|  5.38M|# define BOOST_ASSERT(expr) assert(expr)
  ------------------
  992|  5.38M|            if (n)
  ------------------
  |  Branch (992:17): [True: 0, False: 5.38M]
  ------------------
  993|      0|            {
  994|      0|                if (nsize == 0)
  ------------------
  |  Branch (994:21): [True: 0, False: 0]
  ------------------
  995|      0|                    nsize = internal::measure(n);
  996|      0|                for (xml_node<Ch> *sibling = m_next_sibling; sibling; sibling = sibling->m_next_sibling)
  ------------------
  |  Branch (996:62): [True: 0, False: 0]
  ------------------
  997|      0|                    if (internal::compare(sibling->name(), sibling->name_size(), n, nsize, case_sensitive))
  ------------------
  |  Branch (997:25): [True: 0, False: 0]
  ------------------
  998|      0|                        return sibling;
  999|      0|                return 0;
 1000|      0|            }
 1001|  5.38M|            else
 1002|  5.38M|                return m_next_sibling;
 1003|  5.38M|        }
_ZN5boost13property_tree6detail8rapidxml11memory_poolIcED2Ev:
  390|  6.25k|        {
  391|  6.25k|            clear();
  392|  6.25k|        }
_ZN5boost13property_tree6detail8rapidxml11memory_poolIcE5clearEv:
  515|  6.25k|        {
  516|  15.3k|            while (m_begin != m_static_memory)
  ------------------
  |  Branch (516:20): [True: 9.09k, False: 6.25k]
  ------------------
  517|  9.09k|            {
  518|  9.09k|                char *previous_begin = reinterpret_cast<header *>(align(m_begin))->previous_begin;
  519|  9.09k|                if (m_free_func)
  ------------------
  |  Branch (519:21): [True: 0, False: 9.09k]
  ------------------
  520|      0|                    m_free_func(m_begin);
  521|  9.09k|                else
  522|  9.09k|                    delete[] m_begin;
  523|  9.09k|                m_begin = previous_begin;
  524|  9.09k|            }
  525|  6.25k|            init();
  526|  6.25k|        }
_ZNK5boost13property_tree6detail8rapidxml11parse_error5whereIcEEPT_v:
   72|  2.35k|        {
   73|  2.35k|            return reinterpret_cast<Ch *>(m_where);
   74|  2.35k|        }

_ZN5boost13property_tree10xml_parser16xml_parser_errorC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEESB_m:
   26|  2.35k|            file_parser_error(msg, file, l)
   27|  2.35k|        {
   28|  2.35k|        }

_ZN5boost13property_tree10xml_parser17read_xml_internalINS0_11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEEEEEvRNS4_13basic_istreamINT_8key_type10value_typeENS6_ISH_EEEERSF_iRKSA_:
   91|  6.25k|    {
   92|  6.25k|        typedef typename Ptree::key_type::value_type Ch;
   93|  6.25k|        using namespace detail::rapidxml;
   94|       |
   95|       |        // Load data into vector
   96|  6.25k|        stream.unsetf(std::ios::skipws);
   97|  6.25k|        std::vector<Ch> v(std::istreambuf_iterator<Ch>(stream.rdbuf()),
   98|  6.25k|                          std::istreambuf_iterator<Ch>());
   99|  6.25k|        if (!stream.good())
  ------------------
  |  Branch (99:13): [True: 0, False: 6.25k]
  ------------------
  100|  6.25k|            BOOST_PROPERTY_TREE_THROW(
  ------------------
  |  |  140|      0|#   define BOOST_PROPERTY_TREE_THROW(e) BOOST_THROW_EXCEPTION(e)
  |  |  ------------------
  |  |  |  |  182|      0|#define BOOST_THROW_EXCEPTION(x) ::boost::throw_exception(x, BOOST_CURRENT_LOCATION)
  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|# define BOOST_CURRENT_LOCATION ::boost::source_location(__builtin_FILE(), __builtin_LINE(), __builtin_FUNCTION(), __builtin_COLUMN())
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  101|  6.25k|                xml_parser_error("read error", filename, 0));
  102|  6.25k|        v.push_back(0); // zero-terminate
  103|       |
  104|  6.25k|        try {
  105|       |            // Parse using appropriate flags
  106|  6.25k|            const int f_tws = parse_normalize_whitespace
  107|  6.25k|                            | parse_trim_whitespace;
  108|  6.25k|            const int f_c = parse_comment_nodes;
  109|       |            // Some compilers don't like the bitwise or in the template arg.
  110|  6.25k|            const int f_tws_c = parse_normalize_whitespace
  111|  6.25k|                              | parse_trim_whitespace
  112|  6.25k|                              | parse_comment_nodes;
  113|  6.25k|            xml_document<Ch> doc;
  114|  6.25k|            if (flags & no_comments) {
  ------------------
  |  Branch (114:17): [True: 6.25k, False: 0]
  ------------------
  115|  6.25k|                if (flags & trim_whitespace)
  ------------------
  |  Branch (115:21): [True: 6.25k, False: 0]
  ------------------
  116|  6.25k|                    doc.BOOST_NESTED_TEMPLATE parse<f_tws>(&v.front());
  117|      0|                else
  118|      0|                    doc.BOOST_NESTED_TEMPLATE parse<0>(&v.front());
  119|  6.25k|            } else {
  120|      0|                if (flags & trim_whitespace)
  ------------------
  |  Branch (120:21): [True: 0, False: 0]
  ------------------
  121|      0|                    doc.BOOST_NESTED_TEMPLATE parse<f_tws_c>(&v.front());
  122|      0|                else
  123|      0|                    doc.BOOST_NESTED_TEMPLATE parse<f_c>(&v.front());
  124|      0|            }
  125|       |
  126|       |            // Create ptree from nodes
  127|  6.25k|            Ptree local;
  128|  6.25k|            for (xml_node<Ch> *child = doc.first_node();
  129|  16.2k|                 child; child = child->next_sibling())
  ------------------
  |  Branch (129:18): [True: 10.0k, False: 6.25k]
  ------------------
  130|  10.0k|                read_xml_node(child, local, flags);
  131|       |
  132|       |            // Swap local and result ptrees
  133|  6.25k|            pt.swap(local);
  134|  6.25k|        } catch (parse_error &e) {
  135|  2.35k|            long line = static_cast<long>(
  136|  2.35k|                std::count(&v.front(), e.where<Ch>(), Ch('\n')) + 1);
  137|  2.35k|            BOOST_PROPERTY_TREE_THROW(
  ------------------
  |  |  140|  2.35k|#   define BOOST_PROPERTY_TREE_THROW(e) BOOST_THROW_EXCEPTION(e)
  |  |  ------------------
  |  |  |  |  182|  2.35k|#define BOOST_THROW_EXCEPTION(x) ::boost::throw_exception(x, BOOST_CURRENT_LOCATION)
  |  |  |  |  ------------------
  |  |  |  |  |  |  175|  2.35k|# define BOOST_CURRENT_LOCATION ::boost::source_location(__builtin_FILE(), __builtin_LINE(), __builtin_FUNCTION(), __builtin_COLUMN())
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  138|  2.35k|                xml_parser_error(e.what(), filename, line));  
  139|  2.35k|        }
  140|  6.25k|    }
_ZN5boost13property_tree10xml_parser13read_xml_nodeINS0_11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEEEcEEvPNS0_6detail8rapidxml8xml_nodeIT0_EERT_i:
   26|  5.38M|    {
   27|  5.38M|        using namespace detail::rapidxml;
   28|  5.38M|        switch (node->type())
   29|  5.38M|        {
   30|       |            // Element nodes
   31|  5.14M|            case node_element: 
  ------------------
  |  Branch (31:13): [True: 5.14M, False: 243k]
  ------------------
   32|  5.14M|            {
   33|       |                // Create node
   34|  5.14M|                Ptree &pt_node = pt.push_back(std::make_pair(node->name(),
   35|  5.14M|                                                             Ptree()))->second;
   36|       |
   37|       |                // Copy attributes
   38|  5.14M|                if (node->first_attribute())
  ------------------
  |  Branch (38:21): [True: 90.3k, False: 5.05M]
  ------------------
   39|  90.3k|                {
   40|  90.3k|                    Ptree &pt_attr_root = pt_node.push_back(
   41|  90.3k|                        std::make_pair(xmlattr<typename Ptree::key_type>(), Ptree()))->second;
   42|  90.3k|                    for (xml_attribute<Ch> *attr = node->first_attribute();
   43|   307k|                         attr; attr = attr->next_attribute())
  ------------------
  |  Branch (43:26): [True: 217k, False: 90.3k]
  ------------------
   44|   217k|                    {
   45|   217k|                        Ptree &pt_attr = pt_attr_root.push_back(
   46|   217k|                            std::make_pair(attr->name(), Ptree()))->second;
   47|   217k|                        pt_attr.data() = typename Ptree::key_type(attr->value(), attr->value_size());
   48|   217k|                    }
   49|  90.3k|                }
   50|       |
   51|       |                // Copy children
   52|  5.14M|                for (xml_node<Ch> *child = node->first_node();
   53|  10.5M|                     child; child = child->next_sibling())
  ------------------
  |  Branch (53:22): [True: 5.37M, False: 5.14M]
  ------------------
   54|  5.37M|                    read_xml_node(child, pt_node, flags);
   55|  5.14M|            }
   56|  5.14M|            break;
   57|       |
   58|       |            // Data nodes
   59|   236k|            case node_data:
  ------------------
  |  Branch (59:13): [True: 236k, False: 5.14M]
  ------------------
   60|   243k|            case node_cdata:
  ------------------
  |  Branch (60:13): [True: 6.90k, False: 5.37M]
  ------------------
   61|   243k|            {
   62|   243k|                if (flags & no_concat_text)
  ------------------
  |  Branch (62:21): [True: 0, False: 243k]
  ------------------
   63|      0|                    pt.push_back(std::make_pair(xmltext<typename Ptree::key_type>(),
   64|      0|                                                Ptree(node->value())));
   65|   243k|                else
   66|   243k|                    pt.data() += typename Ptree::key_type(node->value(), node->value_size());
   67|   243k|            }
   68|   243k|            break;
   69|       |
   70|       |            // Comment nodes
   71|      0|            case node_comment:
  ------------------
  |  Branch (71:13): [True: 0, False: 5.38M]
  ------------------
   72|      0|            {
   73|      0|                if (!(flags & no_comments))
  ------------------
  |  Branch (73:21): [True: 0, False: 0]
  ------------------
   74|      0|                    pt.push_back(std::make_pair(xmlcomment<typename Ptree::key_type>(),
   75|      0|                                    Ptree(typename Ptree::key_type(node->value(), node->value_size()))));
   76|      0|            }
   77|      0|            break;
   78|       |
   79|      0|            default:
  ------------------
  |  Branch (79:13): [True: 0, False: 5.38M]
  ------------------
   80|       |                // Skip other node types
   81|      0|                break;
   82|  5.38M|        }
   83|  5.38M|    }

_ZN5boost13property_tree10xml_parser7xmlattrINSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEERKT_v:
  118|  90.3k|    {
  119|  90.3k|        static Str s = detail::widen<Str>("<xmlattr>");
  120|  90.3k|        return s;
  121|  90.3k|    }

_ZN5boost13property_tree13id_translatorINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEE9get_valueERKS8_:
   29|   275k|        boost::optional<T> get_value(const T &v) { return v; }

_ZN5boost13property_tree6detail13dump_sequenceERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEE:
   58|  1.90k|        {
   59|  1.90k|            return s;
   60|  1.90k|        }
_ZN5boost13property_tree11string_pathINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEENS0_13id_translatorIS8_EEEC2ERKSB_:
  194|   115k|        : m_value(o.m_value), m_separator(o.m_separator),
  195|   115k|          m_tr(o.m_tr), m_start(m_value.begin())
  196|   115k|    {
  197|   115k|        std::advance(m_start, std::distance(o.m_value.begin(), o.cstart()));
  198|   115k|    }
_ZNK5boost13property_tree11string_pathINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEENS0_13id_translatorIS8_EEE6cstartEv:
  168|   115k|        s_c_iter cstart() const { return m_start; }
_ZNK5boost13property_tree11string_pathINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEENS0_13id_translatorIS8_EEE5emptyEv:
  233|   462k|    {
  234|   462k|        return m_start == m_value.end();
  235|   462k|    }
_ZN5boost13property_tree11string_pathINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEENS0_13id_translatorIS8_EEE6reduceEv:
  214|   201k|    {
  215|   201k|        BOOST_ASSERT(!empty() && "Reducing empty path");
  ------------------
  |  |   66|   201k|# define BOOST_ASSERT(expr) assert(expr)
  ------------------
  216|       |
  217|   201k|        s_iter next_sep = std::find(m_start, m_value.end(), m_separator);
  218|   201k|        String part(m_start, next_sep);
  219|   201k|        m_start = next_sep;
  220|   201k|        if(!empty()) {
  ------------------
  |  Branch (220:12): [True: 91.2k, False: 110k]
  ------------------
  221|       |          // Unless we're at the end, skip the separator we found.
  222|  91.2k|          ++m_start;
  223|  91.2k|        }
  224|       |
  225|   201k|        if(optional<key_type> key = m_tr.get_value(part)) {
  ------------------
  |  Branch (225:31): [True: 201k, False: 0]
  ------------------
  226|   201k|            return *key;
  227|   201k|        }
  228|      0|        BOOST_PROPERTY_TREE_THROW(ptree_bad_path("Path syntax error", *this));
  ------------------
  |  |  140|      0|#   define BOOST_PROPERTY_TREE_THROW(e) BOOST_THROW_EXCEPTION(e)
  |  |  ------------------
  |  |  |  |  182|      0|#define BOOST_THROW_EXCEPTION(x) ::boost::throw_exception(x, BOOST_CURRENT_LOCATION)
  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|# define BOOST_CURRENT_LOCATION ::boost::source_location(__builtin_FILE(), __builtin_LINE(), __builtin_FUNCTION(), __builtin_COLUMN())
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  229|   201k|    }
_ZNK5boost13property_tree11string_pathINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEENS0_13id_translatorIS8_EEE4dumpEv:
  128|  1.90k|        std::string dump() const {
  129|  1.90k|            return detail::dump_sequence(m_value);
  130|  1.90k|        }
_ZN5boost13property_tree11string_pathINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEENS0_13id_translatorIS8_EEEC2ERKS8_cSA_:
  180|   111k|        : m_value(value), m_separator(separator),
  181|   111k|          m_tr(tr), m_start(m_value.begin())
  182|   111k|    {}

_ZN5boost13property_tree10xml_parser8read_xmlINS0_11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEEEEEvRNS4_13basic_istreamINT_8key_type10value_typeENS6_ISH_EEEERSF_i:
   51|  6.25k|    {
   52|  6.25k|        read_xml_internal(stream, pt, flags, std::string());
   53|  6.25k|    }

_ZN5boost17range_adl_barrier5beginINSt3__14pairINS_12range_detail16integer_iteratorImEES6_EEEENS_14range_iteratorIKT_vE4typeERSA_:
  111|    815|{
  112|    815|#if !BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x564))
  113|    815|    using namespace range_detail;
  114|    815|#endif
  115|    815|    return range_begin( r );
  116|    815|}
_ZN5boost12range_detail11range_beginINS0_16integer_iteratorImEEEET_RKNSt3__14pairIS4_S4_EE:
   54|    815|    {
   55|    815|        return p.first;
   56|    815|    }
_ZN5boost17range_adl_barrier5beginINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEEEEENS_14range_iteratorIT_vE4typeERSF_:
   99|  3.21k|{
  100|  3.21k|#if !BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x564))
  101|  3.21k|    using namespace range_detail;
  102|  3.21k|#endif
  103|  3.21k|    return range_begin( r );
  104|  3.21k|}
_ZN5boost12range_detail11range_beginINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEEEEENS_14range_iteratorIT_vE4typeERSF_:
   39|  3.21k|    {
   40|       |        //
   41|       |        // If you get a compile-error here, it is most likely because
   42|       |        // you have not implemented range_begin() properly in
   43|       |        // the namespace of C
   44|       |        //
   45|  3.21k|        return c.begin();
   46|  3.21k|    }
_ZN5boost17range_adl_barrier5beginINSt3__16vectorIPKNS_13property_tree11basic_ptreeINS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_NS2_4lessISB_EEEENS9_ISG_EEEEEENS_14range_iteratorIT_vE4typeERSK_:
   99|  4.20k|{
  100|  4.20k|#if !BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x564))
  101|  4.20k|    using namespace range_detail;
  102|  4.20k|#endif
  103|  4.20k|    return range_begin( r );
  104|  4.20k|}
_ZN5boost12range_detail11range_beginINSt3__16vectorIPKNS_13property_tree11basic_ptreeINS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_NS2_4lessISB_EEEENS9_ISG_EEEEEENS_14range_iteratorIT_vE4typeERSK_:
   39|  4.20k|    {
   40|       |        //
   41|       |        // If you get a compile-error here, it is most likely because
   42|       |        // you have not implemented range_begin() properly in
   43|       |        // the namespace of C
   44|       |        //
   45|  4.20k|        return c.begin();
   46|  4.20k|    }
_ZN5boost17range_adl_barrier5beginINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEEEEENS_14range_iteratorIKT_vE4typeERSG_:
  111|  23.0k|{
  112|  23.0k|#if !BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x564))
  113|  23.0k|    using namespace range_detail;
  114|  23.0k|#endif
  115|  23.0k|    return range_begin( r );
  116|  23.0k|}
_ZN5boost12range_detail11range_beginIKNS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEEEEENS_14range_iteratorIT_vE4typeERSG_:
   39|  23.0k|    {
   40|       |        //
   41|       |        // If you get a compile-error here, it is most likely because
   42|       |        // you have not implemented range_begin() properly in
   43|       |        // the namespace of C
   44|       |        //
   45|  23.0k|        return c.begin();
   46|  23.0k|    }

_ZN5boost17range_adl_barrier3endINSt3__14pairINS_12range_detail16integer_iteratorImEES6_EEEENS_14range_iteratorIKT_vE4typeERSA_:
  105|    815|{
  106|    815|#if !BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x564))
  107|    815|    using namespace range_detail;
  108|    815|#endif
  109|    815|    return range_end( r );
  110|    815|}
_ZN5boost12range_detail9range_endINS0_16integer_iteratorImEEEET_RKNSt3__14pairIS4_S4_EE:
   55|    815|        {
   56|    815|            return p.second;
   57|    815|        }
_ZN5boost17range_adl_barrier3endINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEEEEENS_14range_iteratorIT_vE4typeERSF_:
   93|  3.21k|{
   94|  3.21k|#if !BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x564))
   95|  3.21k|    using namespace range_detail;
   96|  3.21k|#endif
   97|  3.21k|    return range_end( r );
   98|  3.21k|}
_ZN5boost12range_detail9range_endINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEEEEENS_14range_iteratorIT_vE4typeERSF_:
   40|  3.21k|        {
   41|       |            //
   42|       |            // If you get a compile-error here, it is most likely because
   43|       |            // you have not implemented range_begin() properly in
   44|       |            // the namespace of C
   45|       |            //
   46|  3.21k|            return c.end();
   47|  3.21k|        }
_ZN5boost17range_adl_barrier3endINSt3__16vectorIPKNS_13property_tree11basic_ptreeINS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_NS2_4lessISB_EEEENS9_ISG_EEEEEENS_14range_iteratorIT_vE4typeERSK_:
   93|  4.20k|{
   94|  4.20k|#if !BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x564))
   95|  4.20k|    using namespace range_detail;
   96|  4.20k|#endif
   97|  4.20k|    return range_end( r );
   98|  4.20k|}
_ZN5boost12range_detail9range_endINSt3__16vectorIPKNS_13property_tree11basic_ptreeINS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_NS2_4lessISB_EEEENS9_ISG_EEEEEENS_14range_iteratorIT_vE4typeERSK_:
   40|  4.20k|        {
   41|       |            //
   42|       |            // If you get a compile-error here, it is most likely because
   43|       |            // you have not implemented range_begin() properly in
   44|       |            // the namespace of C
   45|       |            //
   46|  4.20k|            return c.end();
   47|  4.20k|        }
_ZN5boost17range_adl_barrier3endINS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEEEEENS_14range_iteratorIKT_vE4typeERSG_:
  105|  23.0k|{
  106|  23.0k|#if !BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x564))
  107|  23.0k|    using namespace range_detail;
  108|  23.0k|#endif
  109|  23.0k|    return range_end( r );
  110|  23.0k|}
_ZN5boost12range_detail9range_endIKNS_13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEEEEENS_14range_iteratorIT_vE4typeERSG_:
   40|  23.0k|        {
   41|       |            //
   42|       |            // If you get a compile-error here, it is most likely because
   43|       |            // you have not implemented range_begin() properly in
   44|       |            // the namespace of C
   45|       |            //
   46|  23.0k|            return c.end();
   47|  23.0k|        }

_ZN5boost13integer_rangeImEC2Emm:
  187|  1.63k|            : base_t(iterator_t(first), iterator_t(last))
  188|  1.63k|        {
  189|  1.63k|        }
_ZN5boost12range_detail16integer_iteratorImEC2Em:
   57|  3.26k|            explicit integer_iterator(value_type x) : m_value(x) {}

_ZN5boost14iterator_rangeINS_12range_detail16integer_iteratorImEEEC2IS3_EET_S6_:
  484|  1.63k|                : base_type(first, last)
  485|  1.63k|            {
  486|  1.63k|            }
_ZN5boost21iterator_range_detail19iterator_range_baseINS_12range_detail16integer_iteratorImEENS_9iterators27random_access_traversal_tagEEC2IS4_EET_S9_:
  382|  2.44k|        : base_type(first, last)
  383|  2.44k|    {
  384|  2.44k|    }
_ZN5boost21iterator_range_detail19iterator_range_baseINS_12range_detail16integer_iteratorImEENS_9iterators27bidirectional_traversal_tagEEC2IS4_EET_S9_:
  313|  2.44k|        : base_type(first, last)
  314|  2.44k|    {
  315|  2.44k|    }
_ZN5boost21iterator_range_detail19iterator_range_baseINS_12range_detail16integer_iteratorImEENS_9iterators27incrementable_traversal_tagEEC2IS4_EET_S9_:
  216|  2.44k|        : m_Begin(Begin)
  217|  2.44k|        , m_End(End)
  218|  2.44k|    {
  219|  2.44k|    }
_ZNK5boost21iterator_range_detail19iterator_range_baseINS_12range_detail16integer_iteratorImEENS_9iterators27incrementable_traversal_tagEE5beginEv:
  223|    815|    {
  224|    815|        return m_Begin;
  225|    815|    }
_ZNK5boost21iterator_range_detail19iterator_range_baseINS_12range_detail16integer_iteratorImEENS_9iterators27incrementable_traversal_tagEE3endEv:
  228|    815|    {
  229|    815|        return m_End;
  230|    815|    }
_ZN5boost19make_iterator_rangeINSt3__14pairINS_12range_detail16integer_iteratorImEES5_EEEENS_14iterator_rangeINS_14range_iteratorIKT_vE4typeEEERSA_:
  784|    815|        {
  785|    815|           return iterator_range< BOOST_DEDUCED_TYPENAME range_iterator<const ForwardRange>::type >
  786|    815|                ( r, iterator_range_detail::const_range_tag() );
  787|    815|        }
_ZN5boost14iterator_rangeINS_12range_detail16integer_iteratorImEEEC2INSt3__14pairIS3_S3_EEEERKT_NS_21iterator_range_detail15const_range_tagE:
  513|    815|                : base_type(impl::adl_begin(r), impl::adl_end(r))
  514|    815|            {
  515|    815|            }
_ZN5boost21iterator_range_detail19iterator_range_implINS_12range_detail16integer_iteratorImEEE9adl_beginIKNSt3__14pairIS4_S4_EEEES4_RT_:
   69|    815|            {
   70|    815|                return IteratorT( boost::begin( r ) );
   71|    815|            }
_ZN5boost21iterator_range_detail19iterator_range_implINS_12range_detail16integer_iteratorImEEE7adl_endIKNSt3__14pairIS4_S4_EEEES4_RT_:
   75|    815|            {
   76|    815|                return IteratorT( boost::end( r ) );
   77|    815|            }

_ZN5boost6detail12shared_countC2Ev:
  123|  20.9k|    constexpr shared_count() noexcept: pi_(0)
  124|       |#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
  125|       |        , id_(shared_count_id)
  126|       |#endif
  127|  20.9k|    {
  128|  20.9k|    }
_ZN5boost6detail12shared_countD2Ev:
  392|  20.9k|    {
  393|  20.9k|        if( pi_ != 0 ) pi_->release();
  ------------------
  |  Branch (393:13): [True: 0, False: 20.9k]
  ------------------
  394|       |#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
  395|       |        id_ = 0;
  396|       |#endif
  397|  20.9k|    }

_ZN5boost10scoped_ptrINS_11no_propertyEED2Ev:
   85|  6.25k|    {
   86|       |#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
   87|       |        boost::sp_scalar_destructor_hook( px );
   88|       |#endif
   89|  6.25k|        boost::checked_delete( px );
   90|  6.25k|    }
_ZN5boost10scoped_ptrINS_11no_propertyEEC2EPS1_:
   66|  6.25k|    explicit scoped_ptr( T * p = 0 ) noexcept : px( p )
   67|  6.25k|    {
   68|       |#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
   69|       |        boost::sp_scalar_constructor_hook( px );
   70|       |#endif
   71|  6.25k|    }

_ZN5boost10shared_ptrINS_20dynamic_property_mapEEC2Ev:
  264|  20.9k|    constexpr shared_ptr() noexcept : px( 0 ), pn()
  265|  20.9k|    {
  266|  20.9k|    }
_ZNK5boost10shared_ptrINS_20dynamic_property_mapEE3getEv:
  563|  20.9k|    {
  564|  20.9k|        return px;
  565|  20.9k|    }

_ZN5boost36throw_exception_assert_compatibilityERKSt9exception:
  140|  6.01k|inline void throw_exception_assert_compatibility( std::exception const & ) {}
_ZN5boost15throw_exceptionINS_16bad_lexical_castEEEvRKT_:
  163|    570|{
  164|    570|    throw_exception_assert_compatibility( e );
  165|    570|    throw wrapexcept<E>( e );
  166|    570|}
_ZN5boost10wrapexceptINS_16bad_lexical_castEEC2ERKS1_:
   97|    570|    explicit wrapexcept( E const & e ): E( e )
   98|    570|    {
   99|    570|        copy_from( &e );
  100|    570|    }
_ZN5boost10wrapexceptINS_16bad_lexical_castEE9copy_fromEPKv:
   87|    570|    {
   88|    570|    }
_ZN5boost15throw_exceptionINS_11parse_errorEEEvRKT_RKNS_15source_locationE:
  169|  1.18k|{
  170|  1.18k|    throw_exception_assert_compatibility( e );
  171|  1.18k|    throw wrapexcept<E>( e, loc );
  172|  1.18k|}
_ZN5boost10wrapexceptINS_11parse_errorEEC2ERKS1_RKNS_15source_locationE:
  102|  1.18k|    explicit wrapexcept( E const & e, boost::source_location const & loc ): E( e )
  103|  1.18k|    {
  104|  1.18k|        copy_from( &e );
  105|       |
  106|  1.18k|        set_info( *this, throw_file( loc.file_name() ) );
  107|  1.18k|        set_info( *this, throw_line( static_cast<int>( loc.line() ) ) );
  108|  1.18k|        set_info( *this, throw_function( loc.function_name() ) );
  109|  1.18k|        set_info( *this, throw_column( static_cast<int>( loc.column() ) ) );
  110|  1.18k|    }
_ZN5boost10wrapexceptINS_11parse_errorEE9copy_fromEPKv:
   87|  1.18k|    {
   88|  1.18k|    }
_ZN5boost15throw_exceptionINS_13property_tree10xml_parser16xml_parser_errorEEEvRKT_RKNS_15source_locationE:
  169|  2.35k|{
  170|  2.35k|    throw_exception_assert_compatibility( e );
  171|  2.35k|    throw wrapexcept<E>( e, loc );
  172|  2.35k|}
_ZN5boost10wrapexceptINS_13property_tree10xml_parser16xml_parser_errorEEC2ERKS3_RKNS_15source_locationE:
  102|  2.35k|    explicit wrapexcept( E const & e, boost::source_location const & loc ): E( e )
  103|  2.35k|    {
  104|  2.35k|        copy_from( &e );
  105|       |
  106|  2.35k|        set_info( *this, throw_file( loc.file_name() ) );
  107|  2.35k|        set_info( *this, throw_line( static_cast<int>( loc.line() ) ) );
  108|  2.35k|        set_info( *this, throw_function( loc.function_name() ) );
  109|  2.35k|        set_info( *this, throw_column( static_cast<int>( loc.column() ) ) );
  110|  2.35k|    }
_ZN5boost10wrapexceptINS_13property_tree10xml_parser16xml_parser_errorEE9copy_fromEPKv:
   87|  2.35k|    {
   88|  2.35k|    }
_ZN5boost15throw_exceptionINS_13property_tree14ptree_bad_pathEEEvRKT_RKNS_15source_locationE:
  169|  1.90k|{
  170|  1.90k|    throw_exception_assert_compatibility( e );
  171|  1.90k|    throw wrapexcept<E>( e, loc );
  172|  1.90k|}
_ZN5boost10wrapexceptINS_13property_tree14ptree_bad_pathEEC2ERKS2_RKNS_15source_locationE:
  102|  1.90k|    explicit wrapexcept( E const & e, boost::source_location const & loc ): E( e )
  103|  1.90k|    {
  104|  1.90k|        copy_from( &e );
  105|       |
  106|  1.90k|        set_info( *this, throw_file( loc.file_name() ) );
  107|  1.90k|        set_info( *this, throw_line( static_cast<int>( loc.line() ) ) );
  108|  1.90k|        set_info( *this, throw_function( loc.function_name() ) );
  109|  1.90k|        set_info( *this, throw_column( static_cast<int>( loc.column() ) ) );
  110|  1.90k|    }
_ZN5boost10wrapexceptINS_13property_tree14ptree_bad_pathEE9copy_fromEPKv:
   87|  1.90k|    {
   88|  1.90k|    }

_ZN5boost6tuples4consINS0_9null_typeENS1_INS0_5tupleINS_11multi_index6memberINSt3__14pairIKNS6_12basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS_13property_tree11basic_ptreeISD_SD_NS6_4lessISD_EEEEEESE_XadL_ZNSK_5firstEEEEESI_S2_S2_S2_S2_S2_S2_S2_S2_EES2_EEEC2Ev:
  286|  5.45M|  cons() : head(), tail() {}
_ZN5boost6tuples4consINS0_5tupleINS_11multi_index6memberINSt3__14pairIKNS5_12basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS_13property_tree11basic_ptreeISC_SC_NS5_4lessISC_EEEEEESD_XadL_ZNSJ_5firstEEEEESH_NS0_9null_typeESL_SL_SL_SL_SL_SL_SL_EESL_EC2Ev:
  376|  5.45M|  cons() : head() {}
_ZN5boost6tuples5tupleINS_11multi_index6memberINSt3__14pairIKNS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS_13property_tree11basic_ptreeISB_SB_NS4_4lessISB_EEEEEESC_XadL_ZNSI_5firstEEEEESG_NS0_9null_typeESK_SK_SK_SK_SK_SK_SK_EC2Ev:
  490|  5.45M|  tuple() {}
_ZN5boost6tuples4consINS_11multi_index6memberINSt3__14pairIKNS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS_13property_tree11basic_ptreeISB_SB_NS4_4lessISB_EEEEEESC_XadL_ZNSI_5firstEEEEENS1_ISG_NS0_9null_typeEEEEC2Ev:
  286|  5.45M|  cons() : head(), tail() {}
_ZN5boost6tuples4consINSt3__14lessINS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEEENS0_9null_typeEEC2Ev:
  376|  5.45M|  cons() : head() {}
_ZNK5boost6tuples4consINS0_9null_typeENS1_INS0_5tupleINS_11multi_index6memberINSt3__14pairIKNS6_12basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEENS_13property_tree11basic_ptreeISD_SD_NS6_4lessISD_EEEEEESE_XadL_ZNSK_5firstEEEEESI_S2_S2_S2_S2_S2_S2_S2_S2_EES2_EEE8get_tailEv:
  284|  5.45M|  get_tail() const { return tail; }
_ZNK5boost6tuples4consINS0_5tupleINS_11multi_index6memberINSt3__14pairIKNS5_12basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS_13property_tree11basic_ptreeISC_SC_NS5_4lessISC_EEEEEESD_XadL_ZNSJ_5firstEEEEESH_NS0_9null_typeESL_SL_SL_SL_SL_SL_SL_EESL_E8get_tailEv:
  373|  5.45M|  const null_type get_tail() const { return null_type(); }
_ZN5boost6tuples3getILm0ENS_11multi_index6memberINSt3__14pairIKNS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS_13property_tree11basic_ptreeISB_SB_NS4_4lessISB_EEEEEESC_XadL_ZNSI_5firstEEEEENS0_4consISG_NS0_9null_typeEEEEENS0_13access_traitsINS0_7elementIXT_ENSK_IT0_T1_EEE4typeEE10const_typeERKSR_:
  232|  5.45M|get(const cons<HT, TT>& c) {
  233|  5.45M|  typedef BOOST_DEDUCED_TYPENAME detail::drop_front<N>::BOOST_NESTED_TEMPLATE
  234|  5.45M|      apply<cons<HT, TT> > impl;
  235|  5.45M|  return impl::call(c).head;
  236|  5.45M|}
_ZN5boost6tuples6detail10drop_frontILm0EE5applyINS0_4consINS_11multi_index6memberINSt3__14pairIKNS8_12basic_stringIcNS8_11char_traitsIcEENS8_9allocatorIcEEEENS_13property_tree11basic_ptreeISF_SF_NS8_4lessISF_EEEEEESG_XadL_ZNSM_5firstEEEEENS5_ISK_NS0_9null_typeEEEEEE4callERKSQ_:
  115|  10.9M|        static const type& call(const Tuple& tup) {
  116|  10.9M|            return tup;
  117|  10.9M|        }
_ZNK5boost6tuples4consINS0_5tupleINS_11multi_index6memberINSt3__14pairIKNS5_12basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEENS_13property_tree11basic_ptreeISC_SC_NS5_4lessISC_EEEEEESD_XadL_ZNSJ_5firstEEEEESH_NS0_9null_typeESL_SL_SL_SL_SL_SL_SL_EESL_E8get_headEv:
  371|  10.9M|  get_head() const { return head; }
_ZN5boost6tuples3getILm1ENS_11multi_index6memberINSt3__14pairIKNS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS_13property_tree11basic_ptreeISB_SB_NS4_4lessISB_EEEEEESC_XadL_ZNSI_5firstEEEEENS0_4consISG_NS0_9null_typeEEEEENS0_13access_traitsINS0_7elementIXT_ENSK_IT0_T1_EEE4typeEE10const_typeERKSR_:
  232|  5.45M|get(const cons<HT, TT>& c) {
  233|  5.45M|  typedef BOOST_DEDUCED_TYPENAME detail::drop_front<N>::BOOST_NESTED_TEMPLATE
  234|  5.45M|      apply<cons<HT, TT> > impl;
  235|  5.45M|  return impl::call(c).head;
  236|  5.45M|}
_ZN5boost6tuples6detail10drop_frontILm1EE5applyINS0_4consINS_11multi_index6memberINSt3__14pairIKNS8_12basic_stringIcNS8_11char_traitsIcEENS8_9allocatorIcEEEENS_13property_tree11basic_ptreeISF_SF_NS8_4lessISF_EEEEEESG_XadL_ZNSM_5firstEEEEENS5_ISK_NS0_9null_typeEEEEEE4callERKSQ_:
  104|  5.45M|        static const type& call(const Tuple& tup) {
  105|  5.45M|            return next::call(tup).tail;
  106|  5.45M|        }

_ZN5boost9typeindex7type_idImEENS0_14stl_type_indexEv:
  211|  16.3k|inline type_index type_id() noexcept {
  212|  16.3k|    return type_index::type_id<T>();
  213|  16.3k|}

_ZN5boost9typeindex14stl_type_index7type_idImEES1_v:
  201|  16.3k|inline stl_type_index stl_type_index::type_id() noexcept {
  202|  16.3k|    typedef typename std::remove_reference<T>::type no_ref_t;
  203|  16.3k|    typedef typename std::remove_cv<no_ref_t>::type no_cvr_t;
  204|  16.3k|    return typeid(no_cvr_t);
  205|  16.3k|}
_ZN5boost9typeindex14stl_type_indexC2ERKSt9type_info:
   73|  24.5k|        : data_(&data)
   74|  24.5k|    {}
_ZNK5boost9typeindex14stl_type_index9type_infoEv:
   96|  8.19k|inline const stl_type_index::type_info_t& stl_type_index::type_info() const noexcept {
   97|  8.19k|    return *data_;
   98|  8.19k|}
_ZNK5boost9typeindex14stl_type_index5equalERKS1_:
  181|  8.19k|inline bool stl_type_index::equal(const stl_type_index& rhs) const noexcept {
  182|  8.19k|#ifdef BOOST_TYPE_INDEX_CLASSINFO_COMPARE_BY_NAMES
  183|  8.19k|    return raw_name() == rhs.raw_name() || !std::strcmp(raw_name(), rhs.raw_name());
  ------------------
  |  Branch (183:12): [True: 8.19k, False: 0]
  |  Branch (183:44): [True: 0, False: 0]
  ------------------
  184|       |#else
  185|       |    return !!(*data_ == *rhs.data_);
  186|       |#endif
  187|  8.19k|}
_ZNK5boost9typeindex14stl_type_index8raw_nameEv:
  101|  16.3k|inline const char* stl_type_index::raw_name() const noexcept {
  102|       |#ifdef _MSC_VER
  103|       |    return data_->raw_name();
  104|       |#else
  105|  16.3k|    return data_->name();
  106|  16.3k|#endif
  107|  16.3k|}

_ZN5boost9typeindexeqINS0_14stl_type_indexESt9type_infoEEbRKT0_RKNS0_17type_index_facadeIT_S4_EE:
  181|  8.19k|inline bool operator == (const TypeInfo& lhs, const type_index_facade<Derived, TypeInfo>& rhs) noexcept {
  182|  8.19k|    return Derived(lhs) == rhs;
  183|  8.19k|}
_ZN5boost9typeindexeqINS0_14stl_type_indexESt9type_infoEEbRKNS0_17type_index_facadeIT_T0_EES9_:
  148|  8.19k|BOOST_CXX14_CONSTEXPR inline bool operator == (const type_index_facade<Derived, TypeInfo>& lhs, const type_index_facade<Derived, TypeInfo>& rhs) noexcept {
  149|  8.19k|    return static_cast<Derived const&>(lhs).equal(static_cast<Derived const&>(rhs));
  150|  8.19k|}

_ZNK5boost17integral_constantIbLb1EEcvRKN4mpl_5bool_ILb1EEEEv:
   81|   241M|      {
   82|   241M|         static const char data[sizeof(long)] = { 0 };
   83|   241M|         static const void* pdata = data;
   84|   241M|         return *(reinterpret_cast<const mpl::bool_<val>*>(pdata));
   85|   241M|      }
_ZNK5boost17integral_constantIbLb0EEcvRKN4mpl_5bool_ILb0EEEEv:
   81|  22.9M|      {
   82|  22.9M|         static const char data[sizeof(long)] = { 0 };
   83|  22.9M|         static const void* pdata = data;
   84|  22.9M|         return *(reinterpret_cast<const mpl::bool_<val>*>(pdata));
   85|  22.9M|      }

_ZN5boost16base_from_memberINSt3__19allocatorINS_11multi_index6detail20sequenced_index_nodeINS4_18ordered_index_nodeINS4_19null_augment_policyENS4_15index_node_baseINS1_4pairIKNS1_12basic_stringIcNS1_11char_traitsIcEENS2_IcEEEENS_13property_tree11basic_ptreeISE_SE_NS1_4lessISE_EEEEEENS2_ISL_EEEEEEEEEELi0EEC2ISM_EET_:
  146|  5.45M|    template < typename T0 > explicit base_from_member( T0 x0 ) : member( x0 ) {}
_ZN5boost16base_from_memberINSt3__19allocatorINS_11multi_index6detail20sequenced_index_nodeINS4_18ordered_index_nodeINS4_19null_augment_policyENS4_15index_node_baseINS1_4pairIKNS1_12basic_stringIcNS1_11char_traitsIcEENS2_IcEEEENS_13property_tree11basic_ptreeISE_SE_NS1_4lessISE_EEEEEENS2_ISL_EEEEEEEEEELi0EEC2ISQ_EET_:
  146|  21.7M|    template < typename T0 > explicit base_from_member( T0 x0 ) : member( x0 ) {}

_ZN5boost17value_initializedIbEC2Ev:
  171|  21.8k|    m_data()
  172|  21.8k|    { }
_ZN5boost11initializedIbEC2Ev:
   97|  21.8k|    {
   98|  21.8k|    }
_ZN5boost3getIbEERT_RNS_17value_initializedIS1_EE:
  216|  21.8k|{
  217|  21.8k|  return x.data() ;
  218|  21.8k|}
_ZN5boost17value_initializedIbE4dataEv:
  182|  21.8k|    {
  183|  21.8k|      return m_data.data();
  184|  21.8k|    }
_ZN5boost11initializedIbE4dataEv:
  113|  21.8k|    {
  114|  21.8k|      return data_;
  115|  21.8k|    }
_ZN5boost17value_initializedIiEC2Ev:
  171|  21.7k|    m_data()
  172|  21.7k|    { }
_ZN5boost11initializedIiEC2Ev:
   97|  21.7k|    {
   98|  21.7k|    }
_ZN5boost3getIiEERT_RNS_17value_initializedIS1_EE:
  216|  21.7k|{
  217|  21.7k|  return x.data() ;
  218|  21.7k|}
_ZN5boost17value_initializedIiE4dataEv:
  182|  21.7k|    {
  183|  21.7k|      return m_data.data();
  184|  21.7k|    }
_ZN5boost11initializedIiE4dataEv:
  113|  21.7k|    {
  114|  21.7k|      return data_;
  115|  21.7k|    }
_ZN5boost17value_initializedIlEC2Ev:
  171|  21.5k|    m_data()
  172|  21.5k|    { }
_ZN5boost11initializedIlEC2Ev:
   97|  21.5k|    {
   98|  21.5k|    }
_ZN5boost3getIlEERT_RNS_17value_initializedIS1_EE:
  216|  21.5k|{
  217|  21.5k|  return x.data() ;
  218|  21.5k|}
_ZN5boost17value_initializedIlE4dataEv:
  182|  21.5k|    {
  183|  21.5k|      return m_data.data();
  184|  21.5k|    }
_ZN5boost11initializedIlE4dataEv:
  113|  21.5k|    {
  114|  21.5k|      return data_;
  115|  21.5k|    }
_ZN5boost17value_initializedIfEC2Ev:
  171|  21.4k|    m_data()
  172|  21.4k|    { }
_ZN5boost11initializedIfEC2Ev:
   97|  21.4k|    {
   98|  21.4k|    }
_ZN5boost3getIfEERT_RNS_17value_initializedIS1_EE:
  216|  21.4k|{
  217|  21.4k|  return x.data() ;
  218|  21.4k|}
_ZN5boost17value_initializedIfE4dataEv:
  182|  21.4k|    {
  183|  21.4k|      return m_data.data();
  184|  21.4k|    }
_ZN5boost11initializedIfE4dataEv:
  113|  21.4k|    {
  114|  21.4k|      return data_;
  115|  21.4k|    }
_ZN5boost17value_initializedIdEC2Ev:
  171|  21.3k|    m_data()
  172|  21.3k|    { }
_ZN5boost11initializedIdEC2Ev:
   97|  21.3k|    {
   98|  21.3k|    }
_ZN5boost3getIdEERT_RNS_17value_initializedIS1_EE:
  216|  21.3k|{
  217|  21.3k|  return x.data() ;
  218|  21.3k|}
_ZN5boost17value_initializedIdE4dataEv:
  182|  21.3k|    {
  183|  21.3k|      return m_data.data();
  184|  21.3k|    }
_ZN5boost11initializedIdE4dataEv:
  113|  21.3k|    {
  114|  21.3k|      return data_;
  115|  21.3k|    }
_ZN5boost17value_initializedINSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEEC2Ev:
  171|  21.2k|    m_data()
  172|  21.2k|    { }
_ZN5boost11initializedINSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEEC2Ev:
   96|  21.2k|      data_()
   97|  21.2k|    {
   98|  21.2k|    }
_ZN5boost3getINSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEEERT_RNS_17value_initializedIS8_EE:
  216|  21.2k|{
  217|  21.2k|  return x.data() ;
  218|  21.2k|}
_ZN5boost17value_initializedINSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEE4dataEv:
  182|  21.2k|    {
  183|  21.2k|      return m_data.data();
  184|  21.2k|    }
_ZN5boost11initializedINSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEE4dataEv:
  113|  21.2k|    {
  114|  21.2k|      return data_;
  115|  21.2k|    }

_ZN5boost12read_graphmlERNSt3__113basic_istreamIcNS0_11char_traitsIcEEEERNS_12mutate_graphEm:
  307|  6.25k|{
  308|  6.25k|    graphml_reader reader(g);
  309|  6.25k|    reader.run(in, desired_idx);
  310|  6.25k|}
graphml.cpp:_ZN12_GLOBAL__N_114graphml_readerC2ERN5boost12mutate_graphE:
   33|  6.25k|    graphml_reader(mutate_graph& g) : m_g(g) {}
graphml.cpp:_ZN12_GLOBAL__N_114graphml_reader3runERNSt3__113basic_istreamIcNS1_11char_traitsIcEEEEm:
   78|  6.25k|    {
   79|  6.25k|        using boost::property_tree::ptree;
   80|  6.25k|        ptree pt;
   81|  6.25k|        read_xml(in, pt,
   82|  6.25k|            boost::property_tree::xml_parser::no_comments
   83|  6.25k|                | boost::property_tree::xml_parser::trim_whitespace);
   84|  6.25k|        ptree gml = pt.get_child(path("graphml"));
   85|       |        // Search for attributes
   86|  3.52M|        BOOST_FOREACH (const ptree::value_type& child, gml)
  ------------------
  |  | 1106|  6.25k|    BOOST_FOREACH_PREAMBLE()                                                                                      \
  |  | 1107|  6.25k|    if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_col) = BOOST_FOREACH_CONTAIN(COL)) {} else   \
  |  |  ------------------
  |  |  |  |  914|  6.25k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  6.25k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  6.25k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1108|  6.25k|    if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_cur) = BOOST_FOREACH_BEGIN(COL)) {} else     \
  |  |  ------------------
  |  |  |  |  914|  6.25k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  6.25k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  6.25k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1109|  6.25k|    if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_end) = BOOST_FOREACH_END(COL)) {} else       \
  |  |  ------------------
  |  |  |  |  914|  6.25k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  6.25k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  6.25k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1110|  6.25k|    for (bool BOOST_FOREACH_ID(_foreach_continue) = true;                                                         \
  |  | 1111|  1.75M|              BOOST_FOREACH_ID(_foreach_continue) && !BOOST_FOREACH_DONE(COL);                                    \
  |  |  ------------------
  |  |  |  |  914|  1.75M|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  1.75M|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  1.75M|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                             BOOST_FOREACH_ID(_foreach_continue) && !BOOST_FOREACH_DONE(COL);                                    \
  |  |  ------------------
  |  |  |  | 1036|  1.75M|    boost::foreach_detail_::done(                                                               \
  |  |  |  | 1037|  1.75M|        BOOST_FOREACH_ID(_foreach_cur)                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|  1.75M|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   22|  1.75M|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   29|  1.75M|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1038|  1.75M|      , BOOST_FOREACH_ID(_foreach_end)                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|  1.75M|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   22|  1.75M|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   29|  1.75M|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1039|  1.75M|      , BOOST_FOREACH_TYPEOF(COL))
  |  |  |  |  ------------------
  |  |  |  |  |  |  919|  1.75M|    (true ? BOOST_FOREACH_NULL : boost::foreach_detail_::encode_type(COL, boost::foreach_detail_::is_const_(COL)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   37|  1.75M|#define BOOST_FOREACH_NULL nullptr
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (919:6): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1111:54): [True: 1.75M, False: 2.85k]
  |  |  ------------------
  |  | 1112|  1.75M|              BOOST_FOREACH_ID(_foreach_continue) ? BOOST_FOREACH_NEXT(COL) : (void)0)                            \
  |  |  ------------------
  |  |  |  |  914|  1.75M|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  1.75M|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  1.75M|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                             BOOST_FOREACH_ID(_foreach_continue) ? BOOST_FOREACH_NEXT(COL) : (void)0)                            \
  |  |  ------------------
  |  |  |  | 1042|  1.75M|    boost::foreach_detail_::next(                                                               \
  |  |  |  | 1043|  1.75M|        BOOST_FOREACH_ID(_foreach_cur)                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|  1.75M|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   22|  1.75M|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   29|  1.75M|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1044|  1.75M|      , BOOST_FOREACH_TYPEOF(COL))
  |  |  |  |  ------------------
  |  |  |  |  |  |  919|  1.75M|    (true ? BOOST_FOREACH_NULL : boost::foreach_detail_::encode_type(COL, boost::foreach_detail_::is_const_(COL)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   37|  1.75M|#define BOOST_FOREACH_NULL nullptr
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (919:6): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1113|  1.75M|        if  (boost::foreach_detail_::set_false(BOOST_FOREACH_ID(_foreach_continue))) {} else                      \
  |  |  ------------------
  |  |  |  |  914|  1.75M|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  1.75M|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  1.75M|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1113:14): [True: 0, False: 1.75M]
  |  |  ------------------
  |  | 1114|  3.50M|        for (VAR = BOOST_FOREACH_DEREF(COL); !BOOST_FOREACH_ID(_foreach_continue); BOOST_FOREACH_ID(_foreach_continue) = true)
  |  |  ------------------
  |  |  |  | 1047|  1.75M|    boost::foreach_detail_::deref(                                                              \
  |  |  |  | 1048|  1.75M|        BOOST_FOREACH_ID(_foreach_cur)                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|  1.75M|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   22|  1.75M|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   29|  1.75M|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1049|  1.75M|      , BOOST_FOREACH_TYPEOF(COL))
  |  |  |  |  ------------------
  |  |  |  |  |  |  919|  1.75M|    (true ? BOOST_FOREACH_NULL : boost::foreach_detail_::encode_type(COL, boost::foreach_detail_::is_const_(COL)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   37|  1.75M|#define BOOST_FOREACH_NULL nullptr
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (919:6): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                       for (VAR = BOOST_FOREACH_DEREF(COL); !BOOST_FOREACH_ID(_foreach_continue); BOOST_FOREACH_ID(_foreach_continue) = true)
  |  |  ------------------
  |  |  |  |  914|  3.50M|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  3.50M|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  3.50M|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                       for (VAR = BOOST_FOREACH_DEREF(COL); !BOOST_FOREACH_ID(_foreach_continue); BOOST_FOREACH_ID(_foreach_continue) = true)
  |  |  ------------------
  |  |  |  |  914|  1.75M|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  1.75M|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  1.75M|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1114:46): [True: 1.75M, False: 1.75M]
  |  |  ------------------
  ------------------
   87|  1.75M|        {
   88|  1.75M|            if (child.first != "key")
  ------------------
  |  Branch (88:17): [True: 1.73M, False: 16.5k]
  ------------------
   89|  1.73M|                continue;
   90|  16.5k|            std::string id = child.second.get(path("<xmlattr>/id"), "");
   91|  16.5k|            std::string for_ = child.second.get(path("<xmlattr>/for"), "");
   92|  16.5k|            std::string name
   93|  16.5k|                = child.second.get(path("<xmlattr>/attr.name"), "");
   94|  16.5k|            std::string type
   95|  16.5k|                = child.second.get(path("<xmlattr>/attr.type"), "");
   96|  16.5k|            key_kind kind = all_key;
   97|  16.5k|            if (for_ == "graph")
  ------------------
  |  Branch (97:17): [True: 886, False: 15.7k]
  ------------------
   98|    886|                kind = graph_key;
   99|  15.7k|            else if (for_ == "node")
  ------------------
  |  Branch (99:22): [True: 2.45k, False: 13.2k]
  ------------------
  100|  2.45k|                kind = node_key;
  101|  13.2k|            else if (for_ == "edge")
  ------------------
  |  Branch (101:22): [True: 11.2k, False: 2.03k]
  ------------------
  102|  11.2k|                kind = edge_key;
  103|  2.03k|            else if (for_ == "hyperedge")
  ------------------
  |  Branch (103:22): [True: 210, False: 1.82k]
  ------------------
  104|    210|                kind = hyperedge_key;
  105|  1.82k|            else if (for_ == "port")
  ------------------
  |  Branch (105:22): [True: 204, False: 1.61k]
  ------------------
  106|    204|                kind = port_key;
  107|  1.61k|            else if (for_ == "endpoint")
  ------------------
  |  Branch (107:22): [True: 214, False: 1.40k]
  ------------------
  108|    214|                kind = endpoint_key;
  109|  1.40k|            else if (for_ == "all")
  ------------------
  |  Branch (109:22): [True: 723, False: 682]
  ------------------
  110|    723|                kind = all_key;
  111|    682|            else if (for_ == "graphml")
  ------------------
  |  Branch (111:22): [True: 326, False: 356]
  ------------------
  112|    326|                kind = graphml_key;
  113|    356|            else
  114|    356|            {
  115|    356|                BOOST_THROW_EXCEPTION(
  ------------------
  |  |  182|    356|#define BOOST_THROW_EXCEPTION(x) ::boost::throw_exception(x, BOOST_CURRENT_LOCATION)
  |  |  ------------------
  |  |  |  |  175|    356|# define BOOST_CURRENT_LOCATION ::boost::source_location(__builtin_FILE(), __builtin_LINE(), __builtin_FUNCTION(), __builtin_COLUMN())
  |  |  ------------------
  ------------------
  116|    356|                    parse_error("Attribute for is not valid: " + for_));
  117|    356|            }
  118|  16.2k|            m_keys[id] = kind;
  119|  16.2k|            m_key_name[id] = name;
  120|  16.2k|            m_key_type[id] = type;
  121|  16.2k|            boost::optional< std::string > default_
  122|  16.2k|                = child.second.get_optional< std::string >(path("default"));
  123|  16.2k|            if (default_)
  ------------------
  |  Branch (123:17): [True: 1.57k, False: 14.6k]
  ------------------
  124|  1.57k|                m_key_default[id] = default_.get();
  125|  16.2k|        }
  126|       |        // Search for graphs
  127|  5.90k|        std::vector< const ptree* > graphs;
  128|  5.90k|        handle_graph();
  129|  5.90k|        get_graphs(gml, desired_idx, true, graphs);
  130|  30.3k|        BOOST_FOREACH (const ptree* gr, graphs)
  ------------------
  |  | 1106|  5.90k|    BOOST_FOREACH_PREAMBLE()                                                                                      \
  |  | 1107|  5.90k|    if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_col) = BOOST_FOREACH_CONTAIN(COL)) {} else   \
  |  |  ------------------
  |  |  |  |  914|  5.90k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  5.90k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  5.90k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1108|  5.90k|    if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_cur) = BOOST_FOREACH_BEGIN(COL)) {} else     \
  |  |  ------------------
  |  |  |  |  914|  5.90k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  5.90k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  5.90k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1109|  5.90k|    if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_end) = BOOST_FOREACH_END(COL)) {} else       \
  |  |  ------------------
  |  |  |  |  914|  5.90k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  5.90k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  5.90k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1110|  5.90k|    for (bool BOOST_FOREACH_ID(_foreach_continue) = true;                                                         \
  |  | 1111|  12.2k|              BOOST_FOREACH_ID(_foreach_continue) && !BOOST_FOREACH_DONE(COL);                                    \
  |  |  ------------------
  |  |  |  |  914|  12.2k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  12.2k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  12.2k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                             BOOST_FOREACH_ID(_foreach_continue) && !BOOST_FOREACH_DONE(COL);                                    \
  |  |  ------------------
  |  |  |  | 1036|  8.30k|    boost::foreach_detail_::done(                                                               \
  |  |  |  | 1037|  8.30k|        BOOST_FOREACH_ID(_foreach_cur)                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|  8.30k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   22|  8.30k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   29|  8.30k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1038|  8.30k|      , BOOST_FOREACH_ID(_foreach_end)                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|  8.30k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   22|  8.30k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   29|  8.30k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1039|  8.30k|      , BOOST_FOREACH_TYPEOF(COL))
  |  |  |  |  ------------------
  |  |  |  |  |  |  919|  8.30k|    (true ? BOOST_FOREACH_NULL : boost::foreach_detail_::encode_type(COL, boost::foreach_detail_::is_const_(COL)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   37|  8.30k|#define BOOST_FOREACH_NULL nullptr
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (919:6): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1111:54): [True: 6.31k, False: 1.99k]
  |  |  ------------------
  |  | 1112|  6.31k|              BOOST_FOREACH_ID(_foreach_continue) ? BOOST_FOREACH_NEXT(COL) : (void)0)                            \
  |  |  ------------------
  |  |  |  |  914|  6.31k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  6.31k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  6.31k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                             BOOST_FOREACH_ID(_foreach_continue) ? BOOST_FOREACH_NEXT(COL) : (void)0)                            \
  |  |  ------------------
  |  |  |  | 1042|  6.09k|    boost::foreach_detail_::next(                                                               \
  |  |  |  | 1043|  6.09k|        BOOST_FOREACH_ID(_foreach_cur)                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|  6.09k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   22|  6.09k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   29|  6.09k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1044|  6.09k|      , BOOST_FOREACH_TYPEOF(COL))
  |  |  |  |  ------------------
  |  |  |  |  |  |  919|  6.09k|    (true ? BOOST_FOREACH_NULL : boost::foreach_detail_::encode_type(COL, boost::foreach_detail_::is_const_(COL)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   37|  6.09k|#define BOOST_FOREACH_NULL nullptr
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (919:6): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1113|  6.31k|        if  (boost::foreach_detail_::set_false(BOOST_FOREACH_ID(_foreach_continue))) {} else                      \
  |  |  ------------------
  |  |  |  |  914|  6.31k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  6.31k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  6.31k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1113:14): [True: 0, False: 6.31k]
  |  |  ------------------
  |  | 1114|  12.6k|        for (VAR = BOOST_FOREACH_DEREF(COL); !BOOST_FOREACH_ID(_foreach_continue); BOOST_FOREACH_ID(_foreach_continue) = true)
  |  |  ------------------
  |  |  |  | 1047|  6.31k|    boost::foreach_detail_::deref(                                                              \
  |  |  |  | 1048|  6.31k|        BOOST_FOREACH_ID(_foreach_cur)                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|  6.31k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   22|  6.31k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   29|  6.31k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1049|  6.31k|      , BOOST_FOREACH_TYPEOF(COL))
  |  |  |  |  ------------------
  |  |  |  |  |  |  919|  6.31k|    (true ? BOOST_FOREACH_NULL : boost::foreach_detail_::encode_type(COL, boost::foreach_detail_::is_const_(COL)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   37|  6.31k|#define BOOST_FOREACH_NULL nullptr
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (919:6): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                       for (VAR = BOOST_FOREACH_DEREF(COL); !BOOST_FOREACH_ID(_foreach_continue); BOOST_FOREACH_ID(_foreach_continue) = true)
  |  |  ------------------
  |  |  |  |  914|  12.6k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  12.6k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  12.6k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                       for (VAR = BOOST_FOREACH_DEREF(COL); !BOOST_FOREACH_ID(_foreach_continue); BOOST_FOREACH_ID(_foreach_continue) = true)
  |  |  ------------------
  |  |  |  |  914|  6.31k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  6.31k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  6.31k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1114:46): [True: 6.31k, False: 6.31k]
  |  |  ------------------
  ------------------
  131|  6.31k|        {
  132|       |            // Search for nodes
  133|   147k|            BOOST_FOREACH (const ptree::value_type& node, *gr)
  ------------------
  |  | 1106|  6.31k|    BOOST_FOREACH_PREAMBLE()                                                                                      \
  |  | 1107|  6.31k|    if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_col) = BOOST_FOREACH_CONTAIN(COL)) {} else   \
  |  |  ------------------
  |  |  |  |  914|  6.31k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  6.31k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  6.31k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1108|  6.31k|    if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_cur) = BOOST_FOREACH_BEGIN(COL)) {} else     \
  |  |  ------------------
  |  |  |  |  914|  6.31k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  6.31k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  6.31k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1109|  6.31k|    if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_end) = BOOST_FOREACH_END(COL)) {} else       \
  |  |  ------------------
  |  |  |  |  914|  6.31k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  6.31k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  6.31k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1110|  6.31k|    for (bool BOOST_FOREACH_ID(_foreach_continue) = true;                                                         \
  |  | 1111|  70.7k|              BOOST_FOREACH_ID(_foreach_continue) && !BOOST_FOREACH_DONE(COL);                                    \
  |  |  ------------------
  |  |  |  |  914|  70.7k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  70.7k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  70.7k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                             BOOST_FOREACH_ID(_foreach_continue) && !BOOST_FOREACH_DONE(COL);                                    \
  |  |  ------------------
  |  |  |  | 1036|  70.5k|    boost::foreach_detail_::done(                                                               \
  |  |  |  | 1037|  70.5k|        BOOST_FOREACH_ID(_foreach_cur)                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|  70.5k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   22|  70.5k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   29|  70.5k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1038|  70.5k|      , BOOST_FOREACH_ID(_foreach_end)                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|  70.5k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   22|  70.5k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   29|  70.5k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1039|  70.5k|      , BOOST_FOREACH_TYPEOF(COL))
  |  |  |  |  ------------------
  |  |  |  |  |  |  919|  70.5k|    (true ? BOOST_FOREACH_NULL : boost::foreach_detail_::encode_type(COL, boost::foreach_detail_::is_const_(COL)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   37|  70.5k|#define BOOST_FOREACH_NULL nullptr
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (919:6): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1111:54): [True: 64.4k, False: 6.09k]
  |  |  ------------------
  |  | 1112|  64.4k|              BOOST_FOREACH_ID(_foreach_continue) ? BOOST_FOREACH_NEXT(COL) : (void)0)                            \
  |  |  ------------------
  |  |  |  |  914|  64.4k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  64.4k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  64.4k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                             BOOST_FOREACH_ID(_foreach_continue) ? BOOST_FOREACH_NEXT(COL) : (void)0)                            \
  |  |  ------------------
  |  |  |  | 1042|  64.2k|    boost::foreach_detail_::next(                                                               \
  |  |  |  | 1043|  64.2k|        BOOST_FOREACH_ID(_foreach_cur)                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|  64.2k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   22|  64.2k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   29|  64.2k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1044|  64.2k|      , BOOST_FOREACH_TYPEOF(COL))
  |  |  |  |  ------------------
  |  |  |  |  |  |  919|  64.2k|    (true ? BOOST_FOREACH_NULL : boost::foreach_detail_::encode_type(COL, boost::foreach_detail_::is_const_(COL)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   37|  64.2k|#define BOOST_FOREACH_NULL nullptr
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (919:6): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1113|  64.4k|        if  (boost::foreach_detail_::set_false(BOOST_FOREACH_ID(_foreach_continue))) {} else                      \
  |  |  ------------------
  |  |  |  |  914|  64.4k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  64.4k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  64.4k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1113:14): [True: 0, False: 64.4k]
  |  |  ------------------
  |  | 1114|   128k|        for (VAR = BOOST_FOREACH_DEREF(COL); !BOOST_FOREACH_ID(_foreach_continue); BOOST_FOREACH_ID(_foreach_continue) = true)
  |  |  ------------------
  |  |  |  | 1047|  64.4k|    boost::foreach_detail_::deref(                                                              \
  |  |  |  | 1048|  64.4k|        BOOST_FOREACH_ID(_foreach_cur)                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|  64.4k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   22|  64.4k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   29|  64.4k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1049|  64.4k|      , BOOST_FOREACH_TYPEOF(COL))
  |  |  |  |  ------------------
  |  |  |  |  |  |  919|  64.4k|    (true ? BOOST_FOREACH_NULL : boost::foreach_detail_::encode_type(COL, boost::foreach_detail_::is_const_(COL)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   37|  64.4k|#define BOOST_FOREACH_NULL nullptr
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (919:6): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                       for (VAR = BOOST_FOREACH_DEREF(COL); !BOOST_FOREACH_ID(_foreach_continue); BOOST_FOREACH_ID(_foreach_continue) = true)
  |  |  ------------------
  |  |  |  |  914|   128k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|   128k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|   128k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                       for (VAR = BOOST_FOREACH_DEREF(COL); !BOOST_FOREACH_ID(_foreach_continue); BOOST_FOREACH_ID(_foreach_continue) = true)
  |  |  ------------------
  |  |  |  |  914|  64.4k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  64.4k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  64.4k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1114:46): [True: 64.4k, False: 64.4k]
  |  |  ------------------
  ------------------
  134|  64.4k|            {
  135|  64.4k|                if (node.first != "node")
  ------------------
  |  Branch (135:21): [True: 59.1k, False: 5.29k]
  ------------------
  136|  59.1k|                    continue;
  137|  5.29k|                std::string id
  138|  5.29k|                    = node.second.get< std::string >(path("<xmlattr>/id"));
  139|  5.29k|                handle_vertex(id);
  140|  46.3k|                BOOST_FOREACH (const ptree::value_type& attr, node.second)
  ------------------
  |  | 1106|  5.29k|    BOOST_FOREACH_PREAMBLE()                                                                                      \
  |  | 1107|  5.29k|    if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_col) = BOOST_FOREACH_CONTAIN(COL)) {} else   \
  |  |  ------------------
  |  |  |  |  914|  5.29k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  5.29k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  5.29k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1108|  5.29k|    if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_cur) = BOOST_FOREACH_BEGIN(COL)) {} else     \
  |  |  ------------------
  |  |  |  |  914|  5.29k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  5.29k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  5.29k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1109|  5.29k|    if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_end) = BOOST_FOREACH_END(COL)) {} else       \
  |  |  ------------------
  |  |  |  |  914|  5.29k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  5.29k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  5.29k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1110|  5.29k|    for (bool BOOST_FOREACH_ID(_foreach_continue) = true;                                                         \
  |  | 1111|  20.5k|              BOOST_FOREACH_ID(_foreach_continue) && !BOOST_FOREACH_DONE(COL);                                    \
  |  |  ------------------
  |  |  |  |  914|  20.5k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  20.5k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  20.5k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                             BOOST_FOREACH_ID(_foreach_continue) && !BOOST_FOREACH_DONE(COL);                                    \
  |  |  ------------------
  |  |  |  | 1036|  20.3k|    boost::foreach_detail_::done(                                                               \
  |  |  |  | 1037|  20.3k|        BOOST_FOREACH_ID(_foreach_cur)                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|  20.3k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   22|  20.3k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   29|  20.3k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1038|  20.3k|      , BOOST_FOREACH_ID(_foreach_end)                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|  20.3k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   22|  20.3k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   29|  20.3k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1039|  20.3k|      , BOOST_FOREACH_TYPEOF(COL))
  |  |  |  |  ------------------
  |  |  |  |  |  |  919|  20.3k|    (true ? BOOST_FOREACH_NULL : boost::foreach_detail_::encode_type(COL, boost::foreach_detail_::is_const_(COL)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   37|  20.3k|#define BOOST_FOREACH_NULL nullptr
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (919:6): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1111:54): [True: 15.2k, False: 5.07k]
  |  |  ------------------
  |  | 1112|  15.2k|              BOOST_FOREACH_ID(_foreach_continue) ? BOOST_FOREACH_NEXT(COL) : (void)0)                            \
  |  |  ------------------
  |  |  |  |  914|  15.2k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  15.2k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  15.2k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                             BOOST_FOREACH_ID(_foreach_continue) ? BOOST_FOREACH_NEXT(COL) : (void)0)                            \
  |  |  ------------------
  |  |  |  | 1042|  15.0k|    boost::foreach_detail_::next(                                                               \
  |  |  |  | 1043|  15.0k|        BOOST_FOREACH_ID(_foreach_cur)                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|  15.0k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   22|  15.0k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   29|  15.0k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1044|  15.0k|      , BOOST_FOREACH_TYPEOF(COL))
  |  |  |  |  ------------------
  |  |  |  |  |  |  919|  15.0k|    (true ? BOOST_FOREACH_NULL : boost::foreach_detail_::encode_type(COL, boost::foreach_detail_::is_const_(COL)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   37|  15.0k|#define BOOST_FOREACH_NULL nullptr
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (919:6): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1113|  15.2k|        if  (boost::foreach_detail_::set_false(BOOST_FOREACH_ID(_foreach_continue))) {} else                      \
  |  |  ------------------
  |  |  |  |  914|  15.2k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  15.2k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  15.2k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1113:14): [True: 0, False: 15.2k]
  |  |  ------------------
  |  | 1114|  30.4k|        for (VAR = BOOST_FOREACH_DEREF(COL); !BOOST_FOREACH_ID(_foreach_continue); BOOST_FOREACH_ID(_foreach_continue) = true)
  |  |  ------------------
  |  |  |  | 1047|  15.2k|    boost::foreach_detail_::deref(                                                              \
  |  |  |  | 1048|  15.2k|        BOOST_FOREACH_ID(_foreach_cur)                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|  15.2k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   22|  15.2k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   29|  15.2k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1049|  15.2k|      , BOOST_FOREACH_TYPEOF(COL))
  |  |  |  |  ------------------
  |  |  |  |  |  |  919|  15.2k|    (true ? BOOST_FOREACH_NULL : boost::foreach_detail_::encode_type(COL, boost::foreach_detail_::is_const_(COL)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   37|  15.2k|#define BOOST_FOREACH_NULL nullptr
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (919:6): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                       for (VAR = BOOST_FOREACH_DEREF(COL); !BOOST_FOREACH_ID(_foreach_continue); BOOST_FOREACH_ID(_foreach_continue) = true)
  |  |  ------------------
  |  |  |  |  914|  30.4k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  30.4k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  30.4k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                       for (VAR = BOOST_FOREACH_DEREF(COL); !BOOST_FOREACH_ID(_foreach_continue); BOOST_FOREACH_ID(_foreach_continue) = true)
  |  |  ------------------
  |  |  |  |  914|  15.2k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  15.2k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  15.2k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1114:46): [True: 15.2k, False: 15.2k]
  |  |  ------------------
  ------------------
  141|  15.2k|                {
  142|  15.2k|                    if (attr.first != "data")
  ------------------
  |  Branch (142:25): [True: 10.6k, False: 4.60k]
  ------------------
  143|  10.6k|                        continue;
  144|  4.60k|                    std::string key
  145|  4.60k|                        = attr.second.get< std::string >(path("<xmlattr>/key"));
  146|  4.60k|                    std::string value = attr.second.get_value("");
  147|  4.60k|                    handle_node_property(key, id, value);
  148|  4.60k|                }
  149|  5.29k|            }
  150|  6.31k|        }
  151|  20.4k|        BOOST_FOREACH (const ptree* gr, graphs)
  ------------------
  |  | 1106|  5.90k|    BOOST_FOREACH_PREAMBLE()                                                                                      \
  |  | 1107|  5.90k|    if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_col) = BOOST_FOREACH_CONTAIN(COL)) {} else   \
  |  |  ------------------
  |  |  |  |  914|  5.90k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  5.90k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  5.90k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1108|  5.90k|    if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_cur) = BOOST_FOREACH_BEGIN(COL)) {} else     \
  |  |  ------------------
  |  |  |  |  914|  5.90k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  5.90k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  5.90k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1109|  5.90k|    if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_end) = BOOST_FOREACH_END(COL)) {} else       \
  |  |  ------------------
  |  |  |  |  914|  5.90k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  5.90k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  5.90k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1110|  5.90k|    for (bool BOOST_FOREACH_ID(_foreach_continue) = true;                                                         \
  |  | 1111|  7.29k|              BOOST_FOREACH_ID(_foreach_continue) && !BOOST_FOREACH_DONE(COL);                                    \
  |  |  ------------------
  |  |  |  |  914|  7.29k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  7.29k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  7.29k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                             BOOST_FOREACH_ID(_foreach_continue) && !BOOST_FOREACH_DONE(COL);                                    \
  |  |  ------------------
  |  |  |  | 1036|  2.21k|    boost::foreach_detail_::done(                                                               \
  |  |  |  | 1037|  2.21k|        BOOST_FOREACH_ID(_foreach_cur)                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|  2.21k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   22|  2.21k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   29|  2.21k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1038|  2.21k|      , BOOST_FOREACH_ID(_foreach_end)                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|  2.21k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   22|  2.21k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   29|  2.21k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1039|  2.21k|      , BOOST_FOREACH_TYPEOF(COL))
  |  |  |  |  ------------------
  |  |  |  |  |  |  919|  2.21k|    (true ? BOOST_FOREACH_NULL : boost::foreach_detail_::encode_type(COL, boost::foreach_detail_::is_const_(COL)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   37|  2.21k|#define BOOST_FOREACH_NULL nullptr
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (919:6): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1111:54): [True: 1.39k, False: 815]
  |  |  ------------------
  |  | 1112|  5.90k|              BOOST_FOREACH_ID(_foreach_continue) ? BOOST_FOREACH_NEXT(COL) : (void)0)                            \
  |  |  ------------------
  |  |  |  |  914|  1.39k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  1.39k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  1.39k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                             BOOST_FOREACH_ID(_foreach_continue) ? BOOST_FOREACH_NEXT(COL) : (void)0)                            \
  |  |  ------------------
  |  |  |  | 1042|    221|    boost::foreach_detail_::next(                                                               \
  |  |  |  | 1043|    221|        BOOST_FOREACH_ID(_foreach_cur)                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|    221|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   22|    221|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   29|    221|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1044|    221|      , BOOST_FOREACH_TYPEOF(COL))
  |  |  |  |  ------------------
  |  |  |  |  |  |  919|    221|    (true ? BOOST_FOREACH_NULL : boost::foreach_detail_::encode_type(COL, boost::foreach_detail_::is_const_(COL)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   37|    221|#define BOOST_FOREACH_NULL nullptr
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (919:6): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1113|  5.90k|        if  (boost::foreach_detail_::set_false(BOOST_FOREACH_ID(_foreach_continue))) {} else                      \
  |  |  ------------------
  |  |  |  |  914|  1.39k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  1.39k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  1.39k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1113:14): [True: 0, False: 1.39k]
  |  |  ------------------
  |  | 1114|  2.79k|        for (VAR = BOOST_FOREACH_DEREF(COL); !BOOST_FOREACH_ID(_foreach_continue); BOOST_FOREACH_ID(_foreach_continue) = true)
  |  |  ------------------
  |  |  |  | 1047|  1.39k|    boost::foreach_detail_::deref(                                                              \
  |  |  |  | 1048|  1.39k|        BOOST_FOREACH_ID(_foreach_cur)                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|  1.39k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   22|  1.39k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   29|  1.39k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1049|  1.39k|      , BOOST_FOREACH_TYPEOF(COL))
  |  |  |  |  ------------------
  |  |  |  |  |  |  919|  1.39k|    (true ? BOOST_FOREACH_NULL : boost::foreach_detail_::encode_type(COL, boost::foreach_detail_::is_const_(COL)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   37|  1.39k|#define BOOST_FOREACH_NULL nullptr
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (919:6): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                       for (VAR = BOOST_FOREACH_DEREF(COL); !BOOST_FOREACH_ID(_foreach_continue); BOOST_FOREACH_ID(_foreach_continue) = true)
  |  |  ------------------
  |  |  |  |  914|  2.79k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  2.79k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  2.79k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                       for (VAR = BOOST_FOREACH_DEREF(COL); !BOOST_FOREACH_ID(_foreach_continue); BOOST_FOREACH_ID(_foreach_continue) = true)
  |  |  ------------------
  |  |  |  |  914|  1.39k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  1.39k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  1.39k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1114:46): [True: 1.39k, False: 1.39k]
  |  |  ------------------
  ------------------
  152|  1.39k|        {
  153|  1.39k|            bool default_directed
  154|  1.39k|                = gr->get< std::string >(path("<xmlattr>/edgedefault"))
  155|  1.39k|                == "directed";
  156|       |            // Search for edges
  157|  9.71k|            BOOST_FOREACH (const ptree::value_type& edge, *gr)
  ------------------
  |  | 1106|  1.39k|    BOOST_FOREACH_PREAMBLE()                                                                                      \
  |  | 1107|  1.39k|    if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_col) = BOOST_FOREACH_CONTAIN(COL)) {} else   \
  |  |  ------------------
  |  |  |  |  914|  1.39k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  1.39k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  1.39k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1108|  1.39k|    if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_cur) = BOOST_FOREACH_BEGIN(COL)) {} else     \
  |  |  ------------------
  |  |  |  |  914|  1.39k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  1.39k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  1.39k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1109|  1.39k|    if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_end) = BOOST_FOREACH_END(COL)) {} else       \
  |  |  ------------------
  |  |  |  |  914|  1.39k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  1.39k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  1.39k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1110|  1.39k|    for (bool BOOST_FOREACH_ID(_foreach_continue) = true;                                                         \
  |  | 1111|  4.16k|              BOOST_FOREACH_ID(_foreach_continue) && !BOOST_FOREACH_DONE(COL);                                    \
  |  |  ------------------
  |  |  |  |  914|  4.16k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  4.16k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  4.16k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                             BOOST_FOREACH_ID(_foreach_continue) && !BOOST_FOREACH_DONE(COL);                                    \
  |  |  ------------------
  |  |  |  | 1036|  2.98k|    boost::foreach_detail_::done(                                                               \
  |  |  |  | 1037|  2.98k|        BOOST_FOREACH_ID(_foreach_cur)                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|  2.98k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   22|  2.98k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   29|  2.98k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1038|  2.98k|      , BOOST_FOREACH_ID(_foreach_end)                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|  2.98k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   22|  2.98k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   29|  2.98k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1039|  2.98k|      , BOOST_FOREACH_TYPEOF(COL))
  |  |  |  |  ------------------
  |  |  |  |  |  |  919|  2.98k|    (true ? BOOST_FOREACH_NULL : boost::foreach_detail_::encode_type(COL, boost::foreach_detail_::is_const_(COL)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   37|  2.98k|#define BOOST_FOREACH_NULL nullptr
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (919:6): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1111:54): [True: 2.76k, False: 221]
  |  |  ------------------
  |  | 1112|  2.76k|              BOOST_FOREACH_ID(_foreach_continue) ? BOOST_FOREACH_NEXT(COL) : (void)0)                            \
  |  |  ------------------
  |  |  |  |  914|  2.76k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  2.76k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  2.76k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                             BOOST_FOREACH_ID(_foreach_continue) ? BOOST_FOREACH_NEXT(COL) : (void)0)                            \
  |  |  ------------------
  |  |  |  | 1042|  2.76k|    boost::foreach_detail_::next(                                                               \
  |  |  |  | 1043|  2.76k|        BOOST_FOREACH_ID(_foreach_cur)                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|  2.76k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   22|  2.76k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   29|  2.76k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1044|  2.76k|      , BOOST_FOREACH_TYPEOF(COL))
  |  |  |  |  ------------------
  |  |  |  |  |  |  919|  2.76k|    (true ? BOOST_FOREACH_NULL : boost::foreach_detail_::encode_type(COL, boost::foreach_detail_::is_const_(COL)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   37|  2.76k|#define BOOST_FOREACH_NULL nullptr
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (919:6): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1113|  2.76k|        if  (boost::foreach_detail_::set_false(BOOST_FOREACH_ID(_foreach_continue))) {} else                      \
  |  |  ------------------
  |  |  |  |  914|  2.76k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  2.76k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  2.76k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1113:14): [True: 0, False: 2.76k]
  |  |  ------------------
  |  | 1114|  5.52k|        for (VAR = BOOST_FOREACH_DEREF(COL); !BOOST_FOREACH_ID(_foreach_continue); BOOST_FOREACH_ID(_foreach_continue) = true)
  |  |  ------------------
  |  |  |  | 1047|  2.76k|    boost::foreach_detail_::deref(                                                              \
  |  |  |  | 1048|  2.76k|        BOOST_FOREACH_ID(_foreach_cur)                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|  2.76k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   22|  2.76k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   29|  2.76k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1049|  2.76k|      , BOOST_FOREACH_TYPEOF(COL))
  |  |  |  |  ------------------
  |  |  |  |  |  |  919|  2.76k|    (true ? BOOST_FOREACH_NULL : boost::foreach_detail_::encode_type(COL, boost::foreach_detail_::is_const_(COL)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   37|  2.76k|#define BOOST_FOREACH_NULL nullptr
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (919:6): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                       for (VAR = BOOST_FOREACH_DEREF(COL); !BOOST_FOREACH_ID(_foreach_continue); BOOST_FOREACH_ID(_foreach_continue) = true)
  |  |  ------------------
  |  |  |  |  914|  5.52k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  5.52k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  5.52k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                       for (VAR = BOOST_FOREACH_DEREF(COL); !BOOST_FOREACH_ID(_foreach_continue); BOOST_FOREACH_ID(_foreach_continue) = true)
  |  |  ------------------
  |  |  |  |  914|  2.76k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  2.76k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  2.76k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1114:46): [True: 2.76k, False: 2.76k]
  |  |  ------------------
  ------------------
  158|  2.76k|            {
  159|  2.76k|                if (edge.first != "edge")
  ------------------
  |  Branch (159:21): [True: 2.76k, False: 1]
  ------------------
  160|  2.76k|                    continue;
  161|      1|                std::string source
  162|      1|                    = edge.second.get< std::string >(path("<xmlattr>/source"));
  163|      1|                std::string target
  164|      1|                    = edge.second.get< std::string >(path("<xmlattr>/target"));
  165|      1|                std::string local_directed
  166|      1|                    = edge.second.get(path("<xmlattr>/directed"), "");
  167|      1|                bool is_directed
  168|      1|                    = (local_directed.empty() ? default_directed
  ------------------
  |  Branch (168:24): [True: 0, False: 1]
  ------------------
  169|      1|                                              : local_directed == "true");
  170|      1|                if (is_directed != m_g.is_directed())
  ------------------
  |  Branch (170:21): [True: 0, False: 1]
  ------------------
  171|      0|                {
  172|      0|                    if (is_directed)
  ------------------
  |  Branch (172:25): [True: 0, False: 0]
  ------------------
  173|      0|                    {
  174|      0|                        BOOST_THROW_EXCEPTION(directed_graph_error());
  ------------------
  |  |  182|      0|#define BOOST_THROW_EXCEPTION(x) ::boost::throw_exception(x, BOOST_CURRENT_LOCATION)
  |  |  ------------------
  |  |  |  |  175|      0|# define BOOST_CURRENT_LOCATION ::boost::source_location(__builtin_FILE(), __builtin_LINE(), __builtin_FUNCTION(), __builtin_COLUMN())
  |  |  ------------------
  ------------------
  175|      0|                    }
  176|      0|                    else
  177|      0|                    {
  178|      0|                        BOOST_THROW_EXCEPTION(undirected_graph_error());
  ------------------
  |  |  182|      0|#define BOOST_THROW_EXCEPTION(x) ::boost::throw_exception(x, BOOST_CURRENT_LOCATION)
  |  |  ------------------
  |  |  |  |  175|      0|# define BOOST_CURRENT_LOCATION ::boost::source_location(__builtin_FILE(), __builtin_LINE(), __builtin_FUNCTION(), __builtin_COLUMN())
  |  |  ------------------
  ------------------
  179|      0|                    }
  180|      0|                }
  181|      1|                size_t old_edges_size = m_edge.size();
  182|      1|                handle_edge(source, target);
  183|      3|                BOOST_FOREACH (const ptree::value_type& attr, edge.second)
  ------------------
  |  | 1106|      1|    BOOST_FOREACH_PREAMBLE()                                                                                      \
  |  | 1107|      1|    if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_col) = BOOST_FOREACH_CONTAIN(COL)) {} else   \
  |  |  ------------------
  |  |  |  |  914|      1|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|      1|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|      1|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1108|      1|    if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_cur) = BOOST_FOREACH_BEGIN(COL)) {} else     \
  |  |  ------------------
  |  |  |  |  914|      1|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|      1|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|      1|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1109|      1|    if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_end) = BOOST_FOREACH_END(COL)) {} else       \
  |  |  ------------------
  |  |  |  |  914|      1|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|      1|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|      1|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1110|      1|    for (bool BOOST_FOREACH_ID(_foreach_continue) = true;                                                         \
  |  | 1111|      1|              BOOST_FOREACH_ID(_foreach_continue) && !BOOST_FOREACH_DONE(COL);                                    \
  |  |  ------------------
  |  |  |  |  914|      1|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|      1|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|      1|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                             BOOST_FOREACH_ID(_foreach_continue) && !BOOST_FOREACH_DONE(COL);                                    \
  |  |  ------------------
  |  |  |  | 1036|      0|    boost::foreach_detail_::done(                                                               \
  |  |  |  | 1037|      0|        BOOST_FOREACH_ID(_foreach_cur)                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   22|      0|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   29|      0|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1038|      0|      , BOOST_FOREACH_ID(_foreach_end)                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   22|      0|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   29|      0|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1039|      0|      , BOOST_FOREACH_TYPEOF(COL))
  |  |  |  |  ------------------
  |  |  |  |  |  |  919|      0|    (true ? BOOST_FOREACH_NULL : boost::foreach_detail_::encode_type(COL, boost::foreach_detail_::is_const_(COL)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   37|      0|#define BOOST_FOREACH_NULL nullptr
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (919:6): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1111:54): [True: 0, False: 0]
  |  |  ------------------
  |  | 1112|      1|              BOOST_FOREACH_ID(_foreach_continue) ? BOOST_FOREACH_NEXT(COL) : (void)0)                            \
  |  |  ------------------
  |  |  |  |  914|      0|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|      0|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|      0|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                             BOOST_FOREACH_ID(_foreach_continue) ? BOOST_FOREACH_NEXT(COL) : (void)0)                            \
  |  |  ------------------
  |  |  |  | 1042|      0|    boost::foreach_detail_::next(                                                               \
  |  |  |  | 1043|      0|        BOOST_FOREACH_ID(_foreach_cur)                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   22|      0|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   29|      0|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1044|      0|      , BOOST_FOREACH_TYPEOF(COL))
  |  |  |  |  ------------------
  |  |  |  |  |  |  919|      0|    (true ? BOOST_FOREACH_NULL : boost::foreach_detail_::encode_type(COL, boost::foreach_detail_::is_const_(COL)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   37|      0|#define BOOST_FOREACH_NULL nullptr
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (919:6): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1113|      1|        if  (boost::foreach_detail_::set_false(BOOST_FOREACH_ID(_foreach_continue))) {} else                      \
  |  |  ------------------
  |  |  |  |  914|      0|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|      0|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|      0|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1113:14): [True: 0, False: 0]
  |  |  ------------------
  |  | 1114|      0|        for (VAR = BOOST_FOREACH_DEREF(COL); !BOOST_FOREACH_ID(_foreach_continue); BOOST_FOREACH_ID(_foreach_continue) = true)
  |  |  ------------------
  |  |  |  | 1047|      0|    boost::foreach_detail_::deref(                                                              \
  |  |  |  | 1048|      0|        BOOST_FOREACH_ID(_foreach_cur)                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   22|      0|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   29|      0|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1049|      0|      , BOOST_FOREACH_TYPEOF(COL))
  |  |  |  |  ------------------
  |  |  |  |  |  |  919|      0|    (true ? BOOST_FOREACH_NULL : boost::foreach_detail_::encode_type(COL, boost::foreach_detail_::is_const_(COL)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   37|      0|#define BOOST_FOREACH_NULL nullptr
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (919:6): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                       for (VAR = BOOST_FOREACH_DEREF(COL); !BOOST_FOREACH_ID(_foreach_continue); BOOST_FOREACH_ID(_foreach_continue) = true)
  |  |  ------------------
  |  |  |  |  914|      0|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|      0|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|      0|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                       for (VAR = BOOST_FOREACH_DEREF(COL); !BOOST_FOREACH_ID(_foreach_continue); BOOST_FOREACH_ID(_foreach_continue) = true)
  |  |  ------------------
  |  |  |  |  914|      0|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|      0|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|      0|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1114:46): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  184|      0|                {
  185|      0|                    if (attr.first != "data")
  ------------------
  |  Branch (185:25): [True: 0, False: 0]
  ------------------
  186|      0|                        continue;
  187|      0|                    std::string key
  188|      0|                        = attr.second.get< std::string >(path("<xmlattr>/key"));
  189|      0|                    std::string value = attr.second.get_value("");
  190|      0|                    handle_edge_property(key, old_edges_size, value);
  191|      0|                }
  192|      1|            }
  193|  1.39k|        }
  194|  5.90k|    }
graphml.cpp:_ZN12_GLOBAL__N_114graphml_reader4pathERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEE:
   36|   111k|    {
   37|   111k|        return boost::property_tree::ptree::path_type(str, '/');
   38|   111k|    }
graphml.cpp:_ZN12_GLOBAL__N_114graphml_reader12handle_graphEv:
  263|  2.85k|    {
  264|  2.85k|        std::map< std::string, std::string >::iterator iter;
  265|  3.66k|        for (iter = m_key_default.begin(); iter != m_key_default.end(); ++iter)
  ------------------
  |  Branch (265:44): [True: 804, False: 2.85k]
  ------------------
  266|    804|        {
  267|    804|            if (m_keys[iter->first] == graph_key)
  ------------------
  |  Branch (267:17): [True: 23, False: 781]
  ------------------
  268|     23|                handle_graph_property(iter->first, iter->second);
  269|    804|        }
  270|  2.85k|    }
graphml.cpp:_ZN12_GLOBAL__N_114graphml_reader21handle_graph_propertyERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEES9_:
  274|  13.6k|    {
  275|  13.6k|        m_g.set_graph_property(m_key_name[key_id], value, m_key_type[key_id]);
  276|  13.6k|    }
graphml.cpp:_ZN12_GLOBAL__N_114graphml_reader10get_graphsERKN5boost13property_tree11basic_ptreeINSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESA_NS4_4lessISA_EEEEmbRNS4_6vectorIPSE_NS8_ISH_EEEE:
   43|  9.17k|    {
   44|  9.17k|        using boost::property_tree::ptree;
   45|  9.17k|        size_t current_idx = 0;
   46|  9.17k|        bool is_first = is_root;
   47|  3.57M|        BOOST_FOREACH (const ptree::value_type& n, top)
  ------------------
  |  | 1106|  9.17k|    BOOST_FOREACH_PREAMBLE()                                                                                      \
  |  | 1107|  9.17k|    if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_col) = BOOST_FOREACH_CONTAIN(COL)) {} else   \
  |  |  ------------------
  |  |  |  |  914|  9.17k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  9.17k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  9.17k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1108|  9.17k|    if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_cur) = BOOST_FOREACH_BEGIN(COL)) {} else     \
  |  |  ------------------
  |  |  |  |  914|  9.17k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  9.17k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  9.17k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1109|  9.17k|    if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_end) = BOOST_FOREACH_END(COL)) {} else       \
  |  |  ------------------
  |  |  |  |  914|  9.17k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  9.17k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  9.17k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1110|  9.17k|    for (bool BOOST_FOREACH_ID(_foreach_continue) = true;                                                         \
  |  | 1111|  1.78M|              BOOST_FOREACH_ID(_foreach_continue) && !BOOST_FOREACH_DONE(COL);                                    \
  |  |  ------------------
  |  |  |  |  914|  1.78M|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  1.78M|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  1.78M|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                             BOOST_FOREACH_ID(_foreach_continue) && !BOOST_FOREACH_DONE(COL);                                    \
  |  |  ------------------
  |  |  |  | 1036|  1.78M|    boost::foreach_detail_::done(                                                               \
  |  |  |  | 1037|  1.78M|        BOOST_FOREACH_ID(_foreach_cur)                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|  1.78M|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   22|  1.78M|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   29|  1.78M|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1038|  1.78M|      , BOOST_FOREACH_ID(_foreach_end)                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|  1.78M|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   22|  1.78M|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   29|  1.78M|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1039|  1.78M|      , BOOST_FOREACH_TYPEOF(COL))
  |  |  |  |  ------------------
  |  |  |  |  |  |  919|  1.78M|    (true ? BOOST_FOREACH_NULL : boost::foreach_detail_::encode_type(COL, boost::foreach_detail_::is_const_(COL)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   37|  1.78M|#define BOOST_FOREACH_NULL nullptr
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (919:6): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1111:54): [True: 1.77M, False: 7.09k]
  |  |  ------------------
  |  | 1112|  1.77M|              BOOST_FOREACH_ID(_foreach_continue) ? BOOST_FOREACH_NEXT(COL) : (void)0)                            \
  |  |  ------------------
  |  |  |  |  914|  1.77M|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  1.77M|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  1.77M|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                             BOOST_FOREACH_ID(_foreach_continue) ? BOOST_FOREACH_NEXT(COL) : (void)0)                            \
  |  |  ------------------
  |  |  |  | 1042|  1.77M|    boost::foreach_detail_::next(                                                               \
  |  |  |  | 1043|  1.77M|        BOOST_FOREACH_ID(_foreach_cur)                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|  1.77M|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   22|  1.77M|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   29|  1.77M|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1044|  1.77M|      , BOOST_FOREACH_TYPEOF(COL))
  |  |  |  |  ------------------
  |  |  |  |  |  |  919|  1.77M|    (true ? BOOST_FOREACH_NULL : boost::foreach_detail_::encode_type(COL, boost::foreach_detail_::is_const_(COL)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   37|  1.77M|#define BOOST_FOREACH_NULL nullptr
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (919:6): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1113|  1.77M|        if  (boost::foreach_detail_::set_false(BOOST_FOREACH_ID(_foreach_continue))) {} else                      \
  |  |  ------------------
  |  |  |  |  914|  1.77M|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  1.77M|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  1.77M|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1113:14): [True: 0, False: 1.77M]
  |  |  ------------------
  |  | 1114|  3.54M|        for (VAR = BOOST_FOREACH_DEREF(COL); !BOOST_FOREACH_ID(_foreach_continue); BOOST_FOREACH_ID(_foreach_continue) = true)
  |  |  ------------------
  |  |  |  | 1047|  1.77M|    boost::foreach_detail_::deref(                                                              \
  |  |  |  | 1048|  1.77M|        BOOST_FOREACH_ID(_foreach_cur)                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|  1.77M|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   22|  1.77M|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   29|  1.77M|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1049|  1.77M|      , BOOST_FOREACH_TYPEOF(COL))
  |  |  |  |  ------------------
  |  |  |  |  |  |  919|  1.77M|    (true ? BOOST_FOREACH_NULL : boost::foreach_detail_::encode_type(COL, boost::foreach_detail_::is_const_(COL)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   37|  1.77M|#define BOOST_FOREACH_NULL nullptr
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (919:6): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                       for (VAR = BOOST_FOREACH_DEREF(COL); !BOOST_FOREACH_ID(_foreach_continue); BOOST_FOREACH_ID(_foreach_continue) = true)
  |  |  ------------------
  |  |  |  |  914|  3.54M|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  3.54M|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  3.54M|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                       for (VAR = BOOST_FOREACH_DEREF(COL); !BOOST_FOREACH_ID(_foreach_continue); BOOST_FOREACH_ID(_foreach_continue) = true)
  |  |  ------------------
  |  |  |  |  914|  1.77M|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  1.77M|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  1.77M|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1114:46): [True: 1.77M, False: 1.77M]
  |  |  ------------------
  ------------------
   48|  1.77M|        {
   49|  1.77M|            if (n.first == "graph")
  ------------------
  |  Branch (49:17): [True: 6.96k, False: 1.76M]
  ------------------
   50|  6.96k|            {
   51|  6.96k|                if (current_idx == desired_idx || desired_idx == (size_t)(-1))
  ------------------
  |  Branch (51:21): [True: 2.08k, False: 4.87k]
  |  Branch (51:51): [True: 4.87k, False: 0]
  ------------------
   52|  6.96k|                {
   53|  6.96k|                    result.push_back(&n.second);
   54|  6.96k|                    if (is_first)
  ------------------
  |  Branch (54:25): [True: 2.08k, False: 4.87k]
  ------------------
   55|  2.08k|                    {
   56|  2.08k|                        is_first = false;
   57|  95.9k|                        BOOST_FOREACH (const ptree::value_type& attr, n.second)
  ------------------
  |  | 1106|  2.08k|    BOOST_FOREACH_PREAMBLE()                                                                                      \
  |  | 1107|  2.08k|    if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_col) = BOOST_FOREACH_CONTAIN(COL)) {} else   \
  |  |  ------------------
  |  |  |  |  914|  2.08k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  2.08k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  2.08k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1108|  2.08k|    if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_cur) = BOOST_FOREACH_BEGIN(COL)) {} else     \
  |  |  ------------------
  |  |  |  |  914|  2.08k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  2.08k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  2.08k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1109|  2.08k|    if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_end) = BOOST_FOREACH_END(COL)) {} else       \
  |  |  ------------------
  |  |  |  |  914|  2.08k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  2.08k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  2.08k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1110|  2.08k|    for (bool BOOST_FOREACH_ID(_foreach_continue) = true;                                                         \
  |  | 1111|  46.9k|              BOOST_FOREACH_ID(_foreach_continue) && !BOOST_FOREACH_DONE(COL);                                    \
  |  |  ------------------
  |  |  |  |  914|  46.9k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  46.9k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  46.9k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                             BOOST_FOREACH_ID(_foreach_continue) && !BOOST_FOREACH_DONE(COL);                                    \
  |  |  ------------------
  |  |  |  | 1036|  46.2k|    boost::foreach_detail_::done(                                                               \
  |  |  |  | 1037|  46.2k|        BOOST_FOREACH_ID(_foreach_cur)                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|  46.2k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   22|  46.2k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   29|  46.2k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1038|  46.2k|      , BOOST_FOREACH_ID(_foreach_end)                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|  46.2k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   22|  46.2k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   29|  46.2k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1039|  46.2k|      , BOOST_FOREACH_TYPEOF(COL))
  |  |  |  |  ------------------
  |  |  |  |  |  |  919|  46.2k|    (true ? BOOST_FOREACH_NULL : boost::foreach_detail_::encode_type(COL, boost::foreach_detail_::is_const_(COL)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   37|  46.2k|#define BOOST_FOREACH_NULL nullptr
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (919:6): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1111:54): [True: 44.8k, False: 1.44k]
  |  |  ------------------
  |  | 1112|  44.8k|              BOOST_FOREACH_ID(_foreach_continue) ? BOOST_FOREACH_NEXT(COL) : (void)0)                            \
  |  |  ------------------
  |  |  |  |  914|  44.8k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  44.8k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  44.8k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                             BOOST_FOREACH_ID(_foreach_continue) ? BOOST_FOREACH_NEXT(COL) : (void)0)                            \
  |  |  ------------------
  |  |  |  | 1042|  44.1k|    boost::foreach_detail_::next(                                                               \
  |  |  |  | 1043|  44.1k|        BOOST_FOREACH_ID(_foreach_cur)                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|  44.1k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   22|  44.1k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   29|  44.1k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1044|  44.1k|      , BOOST_FOREACH_TYPEOF(COL))
  |  |  |  |  ------------------
  |  |  |  |  |  |  919|  44.1k|    (true ? BOOST_FOREACH_NULL : boost::foreach_detail_::encode_type(COL, boost::foreach_detail_::is_const_(COL)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   37|  44.1k|#define BOOST_FOREACH_NULL nullptr
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (919:6): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1113|  44.8k|        if  (boost::foreach_detail_::set_false(BOOST_FOREACH_ID(_foreach_continue))) {} else                      \
  |  |  ------------------
  |  |  |  |  914|  44.8k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  44.8k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  44.8k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1113:14): [True: 0, False: 44.8k]
  |  |  ------------------
  |  | 1114|  89.6k|        for (VAR = BOOST_FOREACH_DEREF(COL); !BOOST_FOREACH_ID(_foreach_continue); BOOST_FOREACH_ID(_foreach_continue) = true)
  |  |  ------------------
  |  |  |  | 1047|  44.8k|    boost::foreach_detail_::deref(                                                              \
  |  |  |  | 1048|  44.8k|        BOOST_FOREACH_ID(_foreach_cur)                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|  44.8k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   22|  44.8k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   29|  44.8k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1049|  44.8k|      , BOOST_FOREACH_TYPEOF(COL))
  |  |  |  |  ------------------
  |  |  |  |  |  |  919|  44.8k|    (true ? BOOST_FOREACH_NULL : boost::foreach_detail_::encode_type(COL, boost::foreach_detail_::is_const_(COL)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   37|  44.8k|#define BOOST_FOREACH_NULL nullptr
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (919:6): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                       for (VAR = BOOST_FOREACH_DEREF(COL); !BOOST_FOREACH_ID(_foreach_continue); BOOST_FOREACH_ID(_foreach_continue) = true)
  |  |  ------------------
  |  |  |  |  914|  89.6k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  89.6k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  89.6k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                       for (VAR = BOOST_FOREACH_DEREF(COL); !BOOST_FOREACH_ID(_foreach_continue); BOOST_FOREACH_ID(_foreach_continue) = true)
  |  |  ------------------
  |  |  |  |  914|  44.8k|# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   22|  44.8k|#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   29|  44.8k|#    define BOOST_PP_CAT_I(a, b) a ## b
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1114:46): [True: 44.8k, False: 44.8k]
  |  |  ------------------
  ------------------
   58|  44.8k|                        {
   59|  44.8k|                            if (attr.first != "data")
  ------------------
  |  Branch (59:33): [True: 31.2k, False: 13.6k]
  ------------------
   60|  31.2k|                                continue;
   61|  13.6k|                            std::string key = attr.second.get< std::string >(
   62|  13.6k|                                path("<xmlattr>/key"));
   63|  13.6k|                            std::string value = attr.second.get_value("");
   64|  13.6k|                            handle_graph_property(key, value);
   65|  13.6k|                        }
   66|  2.08k|                    }
   67|       |
   68|  6.96k|                    get_graphs(n.second, (size_t)(-1), false, result);
   69|  6.96k|                    if (desired_idx != (size_t)(-1))
  ------------------
  |  Branch (69:25): [True: 1.44k, False: 5.52k]
  ------------------
   70|  1.44k|                        break;
   71|  6.96k|                }
   72|  5.52k|                ++current_idx;
   73|  5.52k|            }
   74|  1.77M|        }
   75|  9.17k|    }
graphml.cpp:_ZN12_GLOBAL__N_114graphml_reader13handle_vertexERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEE:
  211|  5.27k|    {
  212|  5.27k|        bool is_new = false;
  213|       |
  214|  5.27k|        if (m_vertex.find(v) == m_vertex.end())
  ------------------
  |  Branch (214:13): [True: 3.73k, False: 1.53k]
  ------------------
  215|  3.73k|        {
  216|  3.73k|            m_vertex[v] = m_g.do_add_vertex();
  217|  3.73k|            is_new = true;
  218|  3.73k|        }
  219|       |
  220|  5.27k|        if (is_new)
  ------------------
  |  Branch (220:13): [True: 3.73k, False: 1.53k]
  ------------------
  221|  3.73k|        {
  222|  3.73k|            std::map< std::string, std::string >::iterator iter;
  223|  7.61k|            for (iter = m_key_default.begin(); iter != m_key_default.end();
  ------------------
  |  Branch (223:48): [True: 3.87k, False: 3.73k]
  ------------------
  224|  3.87k|                 ++iter)
  225|  3.87k|            {
  226|  3.87k|                if (m_keys[iter->first] == node_key)
  ------------------
  |  Branch (226:21): [True: 3.59k, False: 275]
  ------------------
  227|  3.59k|                    handle_node_property(iter->first, v, iter->second);
  228|  3.87k|            }
  229|  3.73k|        }
  230|  5.27k|    }
graphml.cpp:_ZN12_GLOBAL__N_114graphml_reader20handle_node_propertyERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEES9_S9_:
  280|  8.19k|    {
  281|  8.19k|        m_g.set_vertex_property(m_key_name[key_id], m_vertex[descriptor], value,
  282|  8.19k|            m_key_type[key_id]);
  283|  8.19k|    }

LLVMFuzzerTestOneInput:
   32|  6.25k|{
   33|  6.25k|    FuzzedDataProvider fdp(data, size);
   34|  6.25k|    try
   35|  6.25k|    {
   36|  6.25k|        Graph g;
   37|  6.25k|        boost::dynamic_properties dp(boost::ignore_other_properties);
   38|  6.25k|        std::stringstream input(fdp.ConsumeRemainingBytesAsString());
   39|  6.25k|        read_graphml(input, g, dp);
   40|  6.25k|        auto viter = make_iterator_range(vertices(g));
   41|       |#ifdef DEBUG
   42|       |        for (auto v : viter) {
   43|       |            std::cout << v << " ";
   44|       |        }
   45|       |#endif
   46|  6.25k|    } catch(...) {
   47|  5.44k|    }
   48|  6.25k|    return 0;
   49|  6.25k|}

