mimic++ v2
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...
 
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
 
struct  is_overload_set< First >
 
struct  is_overload_set< First, Second, Others... >
 
struct  is_overloadable_with
 
class  LazySequence
 The lazy sequence interface. 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  ScopedExpectation
 Takes the ownership of an expectation and check whether it's satisfied during destruction. More...
 
struct  signature_add_noexcept
 
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_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_decay
 
struct  signature_decay< Return(Params...) & >
 
struct  signature_decay< Return(Params...) && >
 
struct  signature_decay< Return(Params...) &&noexcept >
 
struct  signature_decay< Return(Params...) &noexcept >
 
struct  signature_decay< Return(Params...) const & >
 
struct  signature_decay< Return(Params...) const && >
 
struct  signature_decay< Return(Params...) const &&noexcept >
 
struct  signature_decay< Return(Params...) const &noexcept >
 
struct  signature_decay< Return(Params...) const >
 
struct  signature_decay< Return(Params...) const noexcept >
 
struct  signature_decay< Return(Params...) noexcept >
 
struct  signature_decay< Return(Params...)>
 
struct  signature_decay< Return(Params...,...) & >
 
struct  signature_decay< Return(Params...,...) && >
 
struct  signature_decay< Return(Params...,...) &&noexcept >
 
struct  signature_decay< Return(Params...,...) &noexcept >
 
struct  signature_decay< Return(Params...,...) const & >
 
struct  signature_decay< Return(Params...,...) const && >
 
struct  signature_decay< Return(Params...,...) const &&noexcept >
 
struct  signature_decay< Return(Params...,...) const &noexcept >
 
struct  signature_decay< Return(Params...,...) const >
 
struct  signature_decay< Return(Params...,...) const noexcept >
 
struct  signature_decay< Return(Params...,...) noexcept >
 
struct  signature_decay< Return(Params...,...)>
 
struct  signature_param_list
 
struct  signature_param_list< Return(Params...)>
 
struct  signature_param_list< Signature >
 
struct  signature_param_type
 
struct  signature_param_type< index, Return(Params...)>
 
struct  signature_param_type< index, Signature >
 
struct  signature_remove_noexcept
 
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< 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_return_type
 
struct  signature_return_type< Return(Params...)>
 
struct  signature_return_type< Return(Params...,...)>
 
struct  signature_return_type< Signature >
 
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...
 
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  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  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 GTestReporterT
 Reporter for the integration into gtest.
 
template<typename Signature >
using signature_add_noexcept_t = typename signature_add_noexcept<Signature>::type
 
template<typename Signature >
using signature_remove_noexcept_t = typename signature_remove_noexcept<Signature>::type
 
template<typename Signature >
using signature_decay_t = typename signature_decay<Signature>::type
 
template<typename Signature >
using signature_return_type_t = typename signature_return_type<Signature>::type
 
template<std::size_t index, typename Signature >
using signature_param_type_t = typename signature_param_type<index, Signature>::type
 
template<typename Signature >
using signature_param_list_t = typename signature_param_list<Signature>::type
 
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  MatchResult { none , inapplicable , full }
 
enum class  Constness { non_const = 0b01 , as_const = 0b10 , any = non_const | as_const }
 
enum class  ValueCategory { lvalue = 0b01 , rvalue = 0b10 , any = lvalue | rvalue }
 

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 First , typename Second >
constexpr bool is_overloadable_with_v = is_overloadable_with<First, Second>::value
 
template<typename First , typename... Others>
constexpr bool is_overload_set_v = is_overload_set<First, Others...>::value
 
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.
 

Typedef Documentation

◆ CharT

using mimicpp::CharT = char

◆ CharTraitsT

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

◆ signature_add_noexcept_t

template<typename Signature >
using mimicpp::signature_add_noexcept_t = typename signature_add_noexcept<Signature>::type

◆ signature_decay_t

template<typename Signature >
using mimicpp::signature_decay_t = typename signature_decay<Signature>::type

◆ signature_param_list_t

template<typename Signature >
using mimicpp::signature_param_list_t = typename signature_param_list<Signature>::type

◆ signature_param_type_t

template<std::size_t index, typename Signature >
using mimicpp::signature_param_type_t = typename signature_param_type<index, Signature>::type

◆ signature_remove_noexcept_t

template<typename Signature >
using mimicpp::signature_remove_noexcept_t = typename signature_remove_noexcept<Signature>::type

◆ signature_return_type_t

template<typename Signature >
using mimicpp::signature_return_type_t = typename signature_return_type<Signature>::type

◆ 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:

Variable Documentation

◆ is_overload_set_v

template<typename First , typename... Others>
bool mimicpp::is_overload_set_v = is_overload_set<First, Others...>::value
inlineconstexpr

◆ is_overloadable_with_v

template<typename First , typename Second >
bool mimicpp::is_overloadable_with_v = is_overloadable_with<First, Second>::value
inlineconstexpr