| 6947 | |
| 6948 | template<typename Attribute> |
| 6949 | struct attr_parser |
| 6950 | { |
| 6951 | template< |
| 6952 | typename Iter, |
| 6953 | typename Sentinel, |
| 6954 | typename Context, |
| 6955 | typename SkipParser> |
| 6956 | auto call( |
| 6957 | Iter & first, |
| 6958 | Sentinel last, |
| 6959 | Context const & context, |
| 6960 | SkipParser const &, |
| 6961 | detail::flags flags, |
| 6962 | bool &) const |
| 6963 | { |
| 6964 | #if BOOST_PARSER_DO_TRACE |
| 6965 | [[maybe_unused]] auto _ = detail::scoped_trace( |
| 6966 | *this, first, last, context, flags, detail::global_nope); |
| 6967 | #endif |
| 6968 | return detail::resolve(context, attr_); |
| 6969 | } |
| 6970 | |
| 6971 | template< |
| 6972 | typename Iter, |
| 6973 | typename Sentinel, |
| 6974 | typename Context, |
| 6975 | typename SkipParser, |
| 6976 | typename Attribute_> |
| 6977 | void call( |
| 6978 | Iter & first, |
| 6979 | Sentinel last, |
| 6980 | Context const & context, |
| 6981 | SkipParser const & skip, |
| 6982 | detail::flags flags, |
| 6983 | bool & success, |
| 6984 | Attribute_ & retval) const |
| 6985 | { |
| 6986 | #if BOOST_PARSER_DO_TRACE |
| 6987 | [[maybe_unused]] auto _ = detail::scoped_trace( |
| 6988 | *this, first, last, context, flags, retval); |
| 6989 | #endif |
| 6990 | if (detail::gen_attrs(flags)) |
| 6991 | detail::assign_copy(retval, detail::resolve(context, attr_)); |
| 6992 | } |
| 6993 | |
| 6994 | Attribute attr_; |
| 6995 | }; |
| 6996 | |
| 6997 | #endif |
| 6998 |
nothing calls this directly
no outgoing calls
no test coverage detected