mimic++ v5
Loading...
Searching...
No Matches
mimicpp Namespace Reference

Namespaces

namespace  call
 
namespace  custom
 
namespace  expect
 
namespace  expectation_policies
 
namespace  finally
 
namespace  format
 
namespace  matches
 
namespace  sequence
 
namespace  then
 

Classes

struct  always_false
 
class  BasicExpectation
 The actual expectation template. More...
 
class  BasicExpectationBuilder
 
class  BasicReporter
 A reporter, which creates text messages and reports them via the provided callbacks. More...
 
struct  call_convention_traits
 Primary template, purposely undefined. More...
 
struct  call_convention_traits< detail::default_call_convention >
 Template specialization for the default call-convention. More...
 
class  CallReport
 Contains the extracted info from a typed call::Info. More...
 
struct  case_insensitive_t
 Tag type, used in string matchers. More...
 
class  ControlPolicy
 
class  DefaultReporter
 The default reporter. More...
 
class  Error
 
class  Expectation
 The base interface for expectations. More...
 
class  ExpectationCollection
 Collects all expectations for a specific (decayed) signature. More...
 
class  ExpectationReport
 Contains the extracted info from a typed expectation. More...
 
class  GreedySequence
 The greedy sequence interface. More...
 
class  IReporter
 The reporter interface. More...
 
struct  is_character
 Primary template, which always yields false. More...
 
struct  is_character< char >
 Specialization for char. More...
 
struct  is_character< char16_t >
 Specialization for char16_t. More...
 
struct  is_character< char32_t >
 Specialization for char32_t. More...
 
struct  is_character< char8_t >
 Specialization for char8_t. More...
 
struct  is_character< signed char >
 Specialization for signed char. More...
 
struct  is_character< unsigned char >
 Specialization for unsigned char. More...
 
struct  is_character< wchar_t >
 Specialization for wchar_t. More...
 
struct  is_overload_set
 Primary template. More...
 
struct  is_overload_set< First >
 
struct  is_overloadable_with
 Primary template. More...
 
class  LazySequence
 The lazy sequence interface. More...
 
class  LifetimeWatcher
 A watcher type, which reports it's destructor calls. More...
 
class  MatchReport
 Contains the detailed information for match outcomes. More...
 
class  Mock
 A Mock type, which fully supports overload sets. More...
 
class  PredicateMatcher
 Generic matcher and the basic building block of most of the built-in matchers. More...
 
struct  priority_tag
 
struct  priority_tag< 0 >
 
class  RelocationWatcher
 A watcher type, which reports it's move-constructor and -assignment calls. More...
 
class  ScopedExpectation
 Takes the ownership of an expectation and check whether it's satisfied during destruction. More...
 
struct  signature_add_noexcept
 Primary template, purposely undefined. More...
 
struct  signature_add_noexcept< Return(Params...) && >
 
struct  signature_add_noexcept< Return(Params...) &&noexcept >
 
struct  signature_add_noexcept< Return(Params...) &noexcept >
 
struct  signature_add_noexcept< Return(Params...) const & >
 
struct  signature_add_noexcept< Return(Params...) const && >
 
struct  signature_add_noexcept< Return(Params...) const &&noexcept >
 
struct  signature_add_noexcept< Return(Params...) const &noexcept >
 
struct  signature_add_noexcept< Return(Params...) const >
 
struct  signature_add_noexcept< Return(Params...) const noexcept >
 
struct  signature_add_noexcept< Return(Params...) noexcept >
 
struct  signature_add_noexcept< Return(Params...)& >
 
struct  signature_add_noexcept< Return(Params...)>
 
struct  signature_add_noexcept< Return(Params...,...) && >
 
struct  signature_add_noexcept< Return(Params...,...) &&noexcept >
 
struct  signature_add_noexcept< Return(Params...,...) &noexcept >
 
struct  signature_add_noexcept< Return(Params...,...) const & >
 
struct  signature_add_noexcept< Return(Params...,...) const && >
 
struct  signature_add_noexcept< Return(Params...,...) const &&noexcept >
 
struct  signature_add_noexcept< Return(Params...,...) const &noexcept >
 
struct  signature_add_noexcept< Return(Params...,...) const >
 
struct  signature_add_noexcept< Return(Params...,...) const noexcept >
 
struct  signature_add_noexcept< Return(Params...,...) noexcept >
 
struct  signature_add_noexcept< Return(Params...,...)& >
 
struct  signature_add_noexcept< Return(Params...,...)>
 
struct  signature_call_convention
 Primary template, purposely undefined. More...
 
struct  signature_call_convention< Signature >
 Template specialization for the default call-convention. More...
 
struct  signature_const_qualification
 Primary template. More...
 
struct  signature_decay
 Primary template. More...
 
struct  signature_is_noexcept
 Primary template. More...
 
struct  signature_param_list
 Primary template. More...
 
struct  signature_param_list< Return(Params...)>
 
struct  signature_param_type
 Primary template. More...
 
struct  signature_param_type< index, Return(Params...)>
 
struct  signature_ref_qualification
 Primary template. More...
 
struct  signature_ref_qualification< Return(Params...) && >
 
struct  signature_ref_qualification< Return(Params...)& >
 
struct  signature_ref_qualification< Return(Params...)>
 
struct  signature_ref_qualification< Return(Params...,...) && >
 
struct  signature_ref_qualification< Return(Params...,...)& >
 
struct  signature_ref_qualification< Return(Params...,...)>
 
struct  signature_remove_call_convention
 Primary template, purposely undefined. More...
 
struct  signature_remove_const_qualifier
 Primary template, purposely undefined. More...
 
struct  signature_remove_const_qualifier< Return(Params...) && >
 
struct  signature_remove_const_qualifier< Return(Params...) &&noexcept >
 
struct  signature_remove_const_qualifier< Return(Params...) &noexcept >
 
struct  signature_remove_const_qualifier< Return(Params...) const & >
 
struct  signature_remove_const_qualifier< Return(Params...) const && >
 
struct  signature_remove_const_qualifier< Return(Params...) const &&noexcept >
 
struct  signature_remove_const_qualifier< Return(Params...) const &noexcept >
 
struct  signature_remove_const_qualifier< Return(Params...) const >
 
struct  signature_remove_const_qualifier< Return(Params...) const noexcept >
 
struct  signature_remove_const_qualifier< Return(Params...) noexcept >
 
struct  signature_remove_const_qualifier< Return(Params...)& >
 
struct  signature_remove_const_qualifier< Return(Params...)>
 
struct  signature_remove_const_qualifier< Return(Params...,...) && >
 
struct  signature_remove_const_qualifier< Return(Params...,...) &&noexcept >
 
struct  signature_remove_const_qualifier< Return(Params...,...) &noexcept >
 
struct  signature_remove_const_qualifier< Return(Params...,...) const & >
 
struct  signature_remove_const_qualifier< Return(Params...,...) const && >
 
struct  signature_remove_const_qualifier< Return(Params...,...) const &&noexcept >
 
struct  signature_remove_const_qualifier< Return(Params...,...) const &noexcept >
 
struct  signature_remove_const_qualifier< Return(Params...,...) const >
 
struct  signature_remove_const_qualifier< Return(Params...,...) const noexcept >
 
struct  signature_remove_const_qualifier< Return(Params...,...) noexcept >
 
struct  signature_remove_const_qualifier< Return(Params...,...)& >
 
struct  signature_remove_const_qualifier< Return(Params...,...)>
 
struct  signature_remove_const_qualifier< Signature >
 
struct  signature_remove_noexcept
 Primary template, purposely undefined. More...
 
struct  signature_remove_noexcept< Return(Params...) && >
 
struct  signature_remove_noexcept< Return(Params...) &&noexcept >
 
struct  signature_remove_noexcept< Return(Params...) &noexcept >
 
struct  signature_remove_noexcept< Return(Params...) const & >
 
struct  signature_remove_noexcept< Return(Params...) const && >
 
struct  signature_remove_noexcept< Return(Params...) const &&noexcept >
 
struct  signature_remove_noexcept< Return(Params...) const &noexcept >
 
struct  signature_remove_noexcept< Return(Params...) const >
 
struct  signature_remove_noexcept< Return(Params...) const noexcept >
 
struct  signature_remove_noexcept< Return(Params...) noexcept >
 
struct  signature_remove_noexcept< Return(Params...)& >
 
struct  signature_remove_noexcept< Return(Params...)>
 
struct  signature_remove_noexcept< Return(Params...,...) && >
 
struct  signature_remove_noexcept< Return(Params...,...) &&noexcept >
 
struct  signature_remove_noexcept< Return(Params...,...) &noexcept >
 
struct  signature_remove_noexcept< Return(Params...,...) const & >
 
struct  signature_remove_noexcept< Return(Params...,...) const && >
 
struct  signature_remove_noexcept< Return(Params...,...) const &&noexcept >
 
struct  signature_remove_noexcept< Return(Params...,...) const &noexcept >
 
struct  signature_remove_noexcept< Return(Params...,...) const >
 
struct  signature_remove_noexcept< Return(Params...,...) const noexcept >
 
struct  signature_remove_noexcept< Return(Params...,...) noexcept >
 
struct  signature_remove_noexcept< Return(Params...,...)& >
 
struct  signature_remove_noexcept< Return(Params...,...)>
 
struct  signature_remove_noexcept< Signature >
 
struct  signature_remove_ref_qualifier
 Primary template, purposely undefined. More...
 
struct  signature_remove_ref_qualifier< Return(Params...) && >
 
struct  signature_remove_ref_qualifier< Return(Params...) &&noexcept >
 
struct  signature_remove_ref_qualifier< Return(Params...) &noexcept >
 
struct  signature_remove_ref_qualifier< Return(Params...) const & >
 
struct  signature_remove_ref_qualifier< Return(Params...) const && >
 
struct  signature_remove_ref_qualifier< Return(Params...) const &&noexcept >
 
struct  signature_remove_ref_qualifier< Return(Params...) const &noexcept >
 
struct  signature_remove_ref_qualifier< Return(Params...) const >
 
struct  signature_remove_ref_qualifier< Return(Params...) const noexcept >
 
struct  signature_remove_ref_qualifier< Return(Params...) noexcept >
 
struct  signature_remove_ref_qualifier< Return(Params...)& >
 
struct  signature_remove_ref_qualifier< Return(Params...)>
 
struct  signature_remove_ref_qualifier< Return(Params...,...) && >
 
struct  signature_remove_ref_qualifier< Return(Params...,...) &&noexcept >
 
struct  signature_remove_ref_qualifier< Return(Params...,...) &noexcept >
 
struct  signature_remove_ref_qualifier< Return(Params...,...) const & >
 
struct  signature_remove_ref_qualifier< Return(Params...,...) const && >
 
struct  signature_remove_ref_qualifier< Return(Params...,...) const &&noexcept >
 
struct  signature_remove_ref_qualifier< Return(Params...,...) const &noexcept >
 
struct  signature_remove_ref_qualifier< Return(Params...,...) const >
 
struct  signature_remove_ref_qualifier< Return(Params...,...) const noexcept >
 
struct  signature_remove_ref_qualifier< Return(Params...,...) noexcept >
 
struct  signature_remove_ref_qualifier< Return(Params...,...)& >
 
struct  signature_remove_ref_qualifier< Return(Params...,...)>
 
struct  signature_remove_ref_qualifier< Signature >
 
struct  signature_return_type
 Primary template. More...
 
struct  signature_return_type< Return(Params...)>
 
struct  signature_return_type< Return(Params...,...)>
 
struct  state_applicable
 
struct  state_inapplicable
 
struct  state_saturated
 
struct  string_case_fold_converter
 Primary template, purposely undefined. More...
 
struct  string_case_fold_converter< char >
 Specialized template for the char type. More...
 
struct  string_traits
 
struct  string_traits< std::basic_string< Char, Traits, Allocator > >
 Specialization for std::basic_string types. More...
 
struct  string_traits< std::basic_string_view< Char, Traits > >
 Specialization for std::basic_string_view types. More...
 
struct  string_traits< T >
 Specialization for character pointer types. More...
 
struct  type_list
 A very basic type-list template. More...
 
struct  uint_with_size
 Primary template, purposely undefined. More...
 
struct  uint_with_size< 1u >
 1-byte specialization. More...
 
struct  uint_with_size< 2u >
 2-byte specialization. More...
 
struct  uint_with_size< 4u >
 4-byte specialization. More...
 
struct  uint_with_size< 8u >
 8-byte specialization. More...
 
class  Watched
 CRTP-type, inheriting first from all Watchers and then Base, thus effectively couple them all together. More...
 
class  WildcardMatcher
 Matcher, which never fails. More...
 

Concepts

concept  expectation_policy_for
 Determines, whether the given type satisfies the requirements of an expectation-policy for the given signature.
 
concept  finalize_policy_for
 Determines, whether the given type satisfies the requirements of a finalize-policy for the given signature.
 
concept  control_policy
 Determines, whether the given type satisfies the requirements of a control-policy.
 
concept  matcher_for
 
concept  object_watcher
 
concept  print_iterator
 
concept  printer_for
 
concept  string
 Determines, whether the given type can be used as a string-type.
 
concept  case_foldable_string
 Determines, whether the given type supports string normalization.
 
concept  has_default_call_convention
 Determines, whether the given signature has default call-convention.
 
concept  explicitly_convertible_to
 
concept  nothrow_explicitly_convertible_to
 
concept  same_as_any
 
concept  satisfies
 

Typedefs

using BoostTestReporterT
 Reporter for the integration into Boost.Test.
 
using Catch2ReporterT
 Reporter for the integration into Catch2.
 
using DoctestReporterT
 Reporter for the integration into Doctest.
 
using GTestReporterT
 Reporter for the integration into gtest.
 
template<typename Signature >
using signature_add_noexcept_t = typename signature_add_noexcept<Signature>::type
 Convenience alias, exposing the type member alias of the actual type-trait.
 
template<typename Signature >
using signature_call_convention_t = typename signature_call_convention<Signature>::type
 Convenience alias, exposing the type member alias of the actual type-trait.
 
template<typename Signature >
using signature_remove_call_convention_t = typename signature_remove_call_convention<Signature>::type
 Convenience alias, exposing the type member alias of the actual type-trait.
 
template<typename Signature >
using signature_remove_noexcept_t = typename signature_remove_noexcept<Signature>::type
 Convenience alias, exposing the type member alias of the actual type-trait.
 
template<typename Signature >
using signature_remove_ref_qualifier_t = typename signature_remove_ref_qualifier<Signature>::type
 Convenience alias, exposing the type member alias of the actual type-trait.
 
template<typename Signature >
using signature_remove_const_qualifier_t = typename signature_remove_const_qualifier<Signature>::type
 Convenience alias, exposing the type member alias of the actual type-trait.
 
template<typename Signature >
using signature_decay_t = typename signature_decay<Signature>::type
 Convenience alias, exposing the type member alias of the actual type-trait.
 
template<typename Signature >
using signature_return_type_t = typename signature_return_type<Signature>::type
 Convenience alias, exposing the type member alias of the actual type-trait.
 
template<std::size_t index, typename Signature >
using signature_param_type_t = typename signature_param_type<index, Signature>::type
 Convenience alias, exposing the type member alias of the actual type-trait.
 
template<typename Signature >
using signature_param_list_t = typename signature_param_list<Signature>::type
 Convenience alias, exposing the type member alias of the actual type-trait.
 
template<std::size_t byteCount>
using uint_with_size_t = typename uint_with_size<byteCount>::type
 Convenience constant, exposing the value member of the actual type-trait.
 
using CharT = char
 
using CharTraitsT = std::char_traits<CharT>
 
using StringT = std::basic_string<CharT, CharTraitsT>
 
using StringViewT = std::basic_string_view<CharT, CharTraitsT>
 
using StringStreamT = std::basic_ostringstream<CharT, CharTraitsT>
 
using UnmatchedCallT = Error<std::tuple<CallReport, std::vector<MatchReport>>>
 
using UnfulfilledExpectationT = Error<ExpectationReport>
 
using control_state_t
 
using SequenceT = LazySequence
 The default sequence type (LazySequence).
 
template<typename T >
using string_view_t = decltype(string_traits<std::remove_cvref_t<T>>::view(std::declval<T&>()))
 Computes the view type for the given string.
 
template<typename T >
using string_char_t = typename string_traits<std::remove_cvref_t<T>>::char_t
 Computes the character type for the given string.
 

Enumerations

enum class  Constness { non_const = 0b01 , as_const = 0b10 , any = non_const | as_const }
 
enum class  ValueCategory { lvalue = 0b01 , rvalue = 0b10 , any = lvalue | rvalue }
 
enum class  MatchResult { none , inapplicable , full }
 

Functions

template<std::derived_from< IReporter > T, typename... Args>
requires std::constructible_from<T, Args...>
void install_reporter (Args &&... args)
 Replaces the previous reporter with a newly constructed one.
 
template<typename Return , typename... Params>
CallReport make_call_report (const call::Info< Return, Params... > &callInfo)
 Generates the call report for a given call info.
 
MatchResult evaluate_match_report (const MatchReport &report) noexcept
 Determines, whether a match report actually denotes a full, inapplicable or no match.
 
constexpr bool is_same_source_location (const std::source_location &lhs, const std::source_location &rhs) noexcept
 
template<typename T >
requires std::is_enum_v<T>
constexpr std::underlying_type_t< T > to_underlying (const T value) noexcept
 
void unreachable ()
 Invokes undefined behavior.
 
constexpr bool is_matching (const Constness lhs, const Constness rhs) noexcept
 
constexpr bool is_matching (const ValueCategory lhs, const ValueCategory rhs) noexcept
 

Variables

template<typename Signature >
constexpr Constness signature_const_qualification_v = signature_const_qualification<Signature>::value
 Convenience constant, exposing the value member of the actual type-trait.
 
template<typename Signature >
constexpr ValueCategory signature_ref_qualification_v = signature_ref_qualification<Signature>::value
 Convenience constant, exposing the value member of the actual type-trait.
 
template<typename Signature >
constexpr bool signature_is_noexcept_v = signature_is_noexcept<Signature>::value
 Convenience constant, exposing the value member of the actual type-trait.
 
template<typename First , typename Second >
constexpr bool is_overloadable_with_v = is_overloadable_with<First, Second>::value
 Convenience constant, exposing the value member of the actual type-trait.
 
template<typename First , typename... Others>
constexpr bool is_overload_set_v = is_overload_set<First, Others...>::value
 Convenience constant, exposing the value member of the actual type-trait.
 
struct mimicpp::case_insensitive_t case_insensitive
 
constexpr detail::PrintFn print {}
 Functional object, converting the given object to its textual representation.
 
template<typename T >
constexpr bool is_character_v {is_character<T>::value}
 Convenience boolean-constant to the result of is_character trait.
 
template<satisfies< is_character > Char>
constexpr StringViewT string_literal_prefix {}
 Primary template, yielding an empty string.
 
template<>
constexpr StringViewT string_literal_prefix< char > {}
 char specialization.
 
template<>
constexpr StringViewT string_literal_prefix< wchar_t > {"L"}
 wchar_t specialization.
 
template<>
constexpr StringViewT string_literal_prefix< char8_t > {"u8"}
 char8_t specialization.
 
template<>
constexpr StringViewT string_literal_prefix< char16_t > {"u"}
 char16_t specialization.
 
template<>
constexpr StringViewT string_literal_prefix< char32_t > {"U"}
 char32_t specialization.
 

Typedef Documentation

◆ CharT

using mimicpp::CharT = char

◆ CharTraitsT

using mimicpp::CharTraitsT = std::char_traits<CharT>

◆ StringStreamT

using mimicpp::StringStreamT = std::basic_ostringstream<CharT, CharTraitsT>

◆ StringT

using mimicpp::StringT = std::basic_string<CharT, CharTraitsT>

◆ StringViewT

using mimicpp::StringViewT = std::basic_string_view<CharT, CharTraitsT>

Enumeration Type Documentation

◆ Constness

enum class mimicpp::Constness
strong
Enumerator
non_const 
as_const 
any 

◆ MatchResult

enum class mimicpp::MatchResult
strong
Enumerator
none 
inapplicable 
full 

◆ ValueCategory

enum class mimicpp::ValueCategory
strong
Enumerator
lvalue 
rvalue 
any 

Function Documentation

◆ is_matching() [1/2]

bool mimicpp::is_matching ( const Constness lhs,
const Constness rhs )
nodiscardconstexprnoexcept
Here is the call graph for this function:
Here is the caller graph for this function:

◆ is_matching() [2/2]

bool mimicpp::is_matching ( const ValueCategory lhs,
const ValueCategory rhs )
nodiscardconstexprnoexcept
Here is the call graph for this function:

◆ is_same_source_location()

bool mimicpp::is_same_source_location ( const std::source_location & lhs,
const std::source_location & rhs )
nodiscardconstexprnoexcept

◆ to_underlying()

template<typename T >
requires std::is_enum_v<T>
std::underlying_type_t< T > mimicpp::to_underlying ( const T value)
nodiscardconstexprnoexcept
Here is the caller graph for this function:

◆ unreachable()

void mimicpp::unreachable ( )
inline

Invokes undefined behavior.

See also
https://en.cppreference.com/w/cpp/utility/unreachable
Note
Implementation directly taken from https://en.cppreference.com/w/cpp/utility/unreachable
Here is the caller graph for this function: