diff --git a/doc/mrdocs.yml b/doc/mrdocs.yml index 9722780b7..ade6adcc3 100644 --- a/doc/mrdocs.yml +++ b/doc/mrdocs.yml @@ -14,6 +14,8 @@ exclude: # Filters include-symbols: - 'boost::urls::**' +include-macros: + - 'BOOST_URL_*' see-below: - 'boost::urls::format_arg' - 'boost::urls::named_arg' diff --git a/include/boost/url/detail/config.hpp b/include/boost/url/detail/config.hpp index 828115f87..3fbd09dd5 100644 --- a/include/boost/url/detail/config.hpp +++ b/include/boost/url/detail/config.hpp @@ -208,17 +208,30 @@ // Limit tests #ifndef BOOST_URL_MAX_SIZE -// leave room for a null terminator and -// fit within url_impl's 32-bit offsets +/** The largest URL the library can hold. + + Define this before including the library to lower or raise the cap. + It leaves room for a null terminator and fits within `url_impl`'s + 32-bit offsets. +*/ #define BOOST_URL_MAX_SIZE ((std::size_t)UINT32_MAX - 1) #endif // libstdcxx copy-on-write strings +#ifdef __MRDOCS__ +/** Define this to make the library tolerate libstdc++ copy-on-write strings. + + It is detected automatically for older libstdc++ ABIs; define it + yourself to force the behavior on. +*/ +#define BOOST_URL_COW_STRINGS +#else #ifndef BOOST_URL_COW_STRINGS #if defined(BOOST_LIBSTDCXX_VERSION) && (BOOST_LIBSTDCXX_VERSION < 60000 || (defined(_GLIBCXX_USE_CXX11_ABI) && _GLIBCXX_USE_CXX11_ABI == 0)) #define BOOST_URL_COW_STRINGS #endif #endif +#endif // detect 32/64 bit #if UINTPTR_MAX == UINT64_MAX