boost::urls::grammar::ref :: Boost Libraries Documentation

# boost::urls::grammar::ref

Return a reference to a rule

## Synopsis

Declared in `<boost/url/grammar/parse.hpp>`

    template<Rule R>
    constexpr
    /* implementation-defined */
    ref(R const& r) noexcept
    requires is_rule<R>::value &&
        ! std::is_same<R,
            implementation_defined::rule_ref<R> >::value;

## Description

This function returns a rule which references the specified object. This is used to reduce the number of bytes of storage (`sizeof`) required by a combinator when it stores a copy of the object. Ownership of the object is not transferred; the caller is responsible for ensuring the lifetime of the object is extended until it is no longer referenced. For best results, `ref` should only be used with compile‐time constants.

## Return Value

The rule as a reference type

## Parameters

Name | Description
--- | ---
r | The rule to use

Created with MrDocs