PROJECT_NAME          = "libsemigroups"
XML_OUTPUT            = build/xml
INPUT                 = ../include
GENERATE_LATEX        = NO
GENERATE_MAN          = NO
GENERATE_RTF          = NO
CASE_SENSE_NAMES      = NO
GENERATE_HTML         = NO
GENERATE_XML          = YES
RECURSIVE             = YES
QUIET                 = YES
JAVADOC_AUTOBRIEF     = YES
WARNINGS              = YES
WARN_IF_UNDOCUMENTED  = YES
WARN_IF_DOC_ERROR     = YES
# The next warning option leads to lots of false negatives, and so is disabled
# for now.
# WARN_NO_PARAMDOC      = YES
INLINE_INHERITED_MEMB = YES
INHERIT_DOCS          = YES
EXCLUDE_SYMBOLS       = std::hash \
                        libsemigroups::IntegralRange* \
                        *KBE* \
                        *TCE* \
                        Internal* \
                        THREAD_ID_MANAGER \
                        REPORTER \
                        libsemigroups::congruence::ToddCoxeter::NormalFormIteratorTraits \
                        libsemigroups::detail::IteratorTraitsBase \
                        libsemigroups::ukkonen::detail*
EXCLUDE               = iterator.hpp \
                        string.hpp
EXCLUDE_PATTERNS      = *-impl.hpp *KBE* string.hpp
HIDE_UNDOC_CLASSES    = YES
EXTRACT_LOCAL_CLASSES = NO
EXTRACT_PRIVATE       = NO
ALIASES               =  exceptions="\throws (None)"
ALIASES               += noexcept="This function is `noexcept` and is guaranteed never to throw."
ALIASES               += no_libsemigroups_except="This function guarantees not to throw a `LibsemigroupsException`."
ALIASES               += no_libsemigroups_except_detail="This function guarantees not to throw a \ref libsemigroups::LibsemigroupsException."
ALIASES               += strong_guarantee="If an exception is thrown, \c this is guaranteed not to be modified (strong exception guarantee)."
ALIASES               += basic_guarantee="If an exception is thrown, \c this might be modified but is guaranteed to be in a valid state (basic exception guarantee)."
ALIASES               += iterator_validity="\par Iterator validity"
ALIASES               += iterator_invalid="This function modifies the object defined by \p this, any iterators, pointers or references pointing into \c this may be invalidated by a call to this function."
ALIASES               += complexity="\par Complexity"
ALIASES               += parameters="\par Parameters"
ALIASES               += shared_ptr="<a href=\"https://en.cppreference.com/w/cpp/memory/shared_ptr\">std::shared_ptr</a>"
ALIASES  += chrono_duration="<a href=\"https://en.cppreference.com/w/cpp/chrono/duration\">std::chrono::duration</a>"
ALIASES  += string="<a href=\"https://en.cppreference.com/w/cpp/string/basic_string\">std::string</a>"
ALIASES  += range_error="<a href=\"https://en.cppreference.com/w/cpp/error/range_error\">std::range_error</a>"
ALIASES  += equal_to="<a href=\"https://en.cppreference.com/w/cpp/utility/functional/equal_to\">std::equal_to</a>"
ALIASES  += hash="<a href=\"https://en.cppreference.com/w/cpp/utility/hash\">std::hash</a>"
ALIASES  += less="<a href=\"https://en.cppreference.com/w/cpp/utility/functional/less\">std::less</a>"
ALIASES  += vector="<a href=\"https://en.cppreference.com/w/cpp/container/vector\">std::vector</a>"
ALIASES  += array="<a href=\"https://en.cppreference.com/w/cpp/container/array\">std::array</a>"
ALIASES  += swap="<a href=\"https://en.cppreference.com/w/cpp/algorithm/swap\">std::swap</a>"
ALIASES  += ostream="<a href=\"https://en.cppreference.com/w/cpp/io/basic_ostream\">std::ostream</a>"
ALIASES  += ostringstream="<a href=\"https://en.cppreference.com/w/cpp/io/basic_ostringstream\">std::ostringstream</a>"
ENABLE_PREPROCESSING  = YES
PREDEFINED            = DOXYGEN_SHOULD_SKIP_THIS
PREDEFINED            += LIBSEMIGROUPS_PARSED_BY_DOXYGEN
