Sequoia
Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
sequoia::testing::move_only_extender< Mode > Class Template Reference

class template for plugging into the checker class template to provide allocation checks for move-only types, see here. More...

#include <MoveOnlyTestCore.hpp>

Public Member Functions

template<moveonly T, class U , class V , class Self >
requires checkable_against_for_semantics<Mode, T, U> && checkable_against_for_semantics<Mode, T, V>
bool check_semantics (this Self &self, const reporter &description, T &&x, T &&y, const U &xEquivalent, const U &yEquivalent, const V &movedFromPostConstruction, const V &movedFromPostAssignment)
 
template<moveonly T, class U , class Self >
requires checkable_against_for_semantics<Mode, T, U>
bool check_semantics (this Self &self, const reporter &description, T &&x, T &&y, const U &xEquivalent, const U &yEquivalent)
 
template<std::regular_invocable xMaker, moveonly T = std::invoke_result_t<xMaker>, regular_invocable_r< T > yMaker, class U , class Self >
requires checkable_against_for_semantics<Mode, T, U>
bool check_semantics (this Self &self, const reporter &description, xMaker xFn, yMaker yFn, const U &movedFromPostConstruction, const U &movedFromPostAssignment)
 Prerequisite: xMaker() != yMaker()
 
template<std::regular_invocable xMaker, moveonly T = std::invoke_result_t<xMaker>, regular_invocable_r< T > yMaker, class Self >
bool check_semantics (this Self &self, const reporter &description, xMaker xFn, yMaker yFn)
 Prerequisite: xMaker() != yMaker()
 
template<moveonly T, class U , class V , class Self >
requires std::totally_ordered<T> && checkable_against_for_semantics<Mode, T, U> && checkable_against_for_semantics<Mode, T, V>
bool check_semantics (this Self &self, const reporter &description, T &&x, T &&y, const U &xEquivalent, const U &yEquivalent, const V &movedFromPostConstruction, const V &movedFromPostAssignment, std::weak_ordering order)
 
template<moveonly T, class U , class Self >
requires std::totally_ordered<T> && checkable_against_for_semantics<Mode, T, U>
bool check_semantics (this Self &self, const reporter &description, T &&x, T &&y, const U &xEquivalent, const U &yEquivalent, std::weak_ordering order)
 
template<std::regular_invocable xMaker, moveonly T = std::invoke_result_t<xMaker>, regular_invocable_r< T > yMaker, class U , class Self >
requires std::totally_ordered<T> && checkable_against_for_semantics<Mode, T, U>
bool check_semantics (this Self &self, const reporter &description, xMaker xFn, yMaker yFn, const U &movedFromPostConstruction, const U &movedFromPostAssignment, std::weak_ordering order)
 
template<class Self , std::regular_invocable xMaker, moveonly T = std::invoke_result_t<xMaker>, regular_invocable_r< T > yMaker>
requires std::totally_ordered<T>
bool check_semantics (this Self &self, const reporter &description, xMaker xFn, yMaker yFn, std::weak_ordering order)
 Prerequisite: xMaker() != yMaker(), with values consistent with order.
 

Static Public Attributes

static constexpr test_mode mode {Mode}
 

Protected Member Functions

 move_only_extender (move_only_extender &&) noexcept=default
 
move_only_extenderoperator= (move_only_extender &&) noexcept=default
 

Detailed Description

template<test_mode Mode>
class sequoia::testing::move_only_extender< Mode >

class template for plugging into the checker class template to provide allocation checks for move-only types, see here.

Member Function Documentation

◆ check_semantics() [1/5]

template<test_mode Mode>
template<moveonly T, class U , class Self >
requires checkable_against_for_semantics<Mode, T, U>
bool sequoia::testing::move_only_extender< Mode >::check_semantics ( this Self &  self,
const reporter description,
T &&  x,
T &&  y,
const U &  xEquivalent,
const U &  yEquivalent 
)
inline

Prerequisites: x != y x equivalent to xEquivalent y equivalent to yEquivalent

◆ check_semantics() [2/5]

template<test_mode Mode>
template<moveonly T, class U , class V , class Self >
requires checkable_against_for_semantics<Mode, T, U> && checkable_against_for_semantics<Mode, T, V>
bool sequoia::testing::move_only_extender< Mode >::check_semantics ( this Self &  self,
const reporter description,
T &&  x,
T &&  y,
const U &  xEquivalent,
const U &  yEquivalent,
const V &  movedFromPostConstruction,
const V &  movedFromPostAssignment 
)
inline

Prerequisites: x != y x equivalent to xEquivalent y equivalent to yEquivalent

◆ check_semantics() [3/5]

template<test_mode Mode>
template<moveonly T, class U , class V , class Self >
requires std::totally_ordered<T> && checkable_against_for_semantics<Mode, T, U> && checkable_against_for_semantics<Mode, T, V>
bool sequoia::testing::move_only_extender< Mode >::check_semantics ( this Self &  self,
const reporter description,
T &&  x,
T &&  y,
const U &  xEquivalent,
const U &  yEquivalent,
const V &  movedFromPostConstruction,
const V &  movedFromPostAssignment,
std::weak_ordering  order 
)
inline

Prerequisites: x != y, with values consistent with order x equivalent to xEquivalent y equivalent to yEquivalent

◆ check_semantics() [4/5]

template<test_mode Mode>
template<moveonly T, class U , class Self >
requires std::totally_ordered<T> && checkable_against_for_semantics<Mode, T, U>
bool sequoia::testing::move_only_extender< Mode >::check_semantics ( this Self &  self,
const reporter description,
T &&  x,
T &&  y,
const U &  xEquivalent,
const U &  yEquivalent,
std::weak_ordering  order 
)
inline

Prerequisites: x != y, with values consistent with order x equivalent to xEquivalent y equivalent to yEquivalent

◆ check_semantics() [5/5]

template<test_mode Mode>
template<std::regular_invocable xMaker, moveonly T = std::invoke_result_t<xMaker>, regular_invocable_r< T > yMaker, class U , class Self >
requires std::totally_ordered<T> && checkable_against_for_semantics<Mode, T, U>
bool sequoia::testing::move_only_extender< Mode >::check_semantics ( this Self &  self,
const reporter description,
xMaker  xFn,
yMaker  yFn,
const U &  movedFromPostConstruction,
const U &  movedFromPostAssignment,
std::weak_ordering  order 
)
inline

Prerequisites: x != y, with values consistent with order x equivalent to xEquivalent y equivalent to yEquivalent


The documentation for this class was generated from the following file: