5#include "sortedArray.hpp"
29 static_assert(std::is_pointer<T>::value,
"Template must be of pointer type.");
44 virtual bool eq(
const T &arg1,
const T &arg2)
const override {
45 return (arg1 == arg2) || (arg1 && arg2 && equals(*arg1, *arg2));
60 virtual bool gt(
const T &arg1,
const T &arg2)
const override {
63 }
else if (arg1 && arg2) {
64 return greater(*arg1, *arg2);
82 virtual bool lt(
const T &arg1,
const T &arg2)
const override {
85 }
else if (arg1 && arg2) {
86 return lesser(*arg1, *arg2);
106 template <
typename... Args>
108 this->
init(arg1, args...);
120 virtual bool operator()(
const T &arg1,
const T &arg2)
const override {
121 return greater(*arg1, *arg2);
void init(const T &arg1)
Helper function for single object initialization.
Definition array.hpp:47
sortedArray()
Default constructor.
Definition sortedArray.hpp:21
virtual bool eq(const T &arg1, const T &arg2) const override
Check if two objects are equal.
Definition sortedRefArray.hpp:44
virtual bool lt(const T &arg1, const T &arg2) const override
Check if one object is less than another.
Definition sortedRefArray.hpp:82
virtual bool operator()(const T &arg1, const T &arg2) const override
Callable operator.
Definition sortedRefArray.hpp:120
virtual bool gt(const T &arg1, const T &arg2) const override
Check if one object is greater than another.
Definition sortedRefArray.hpp:60
sortedRefArray(const T &arg1, const Args &...args)
List-initialized constructor.
Definition sortedRefArray.hpp:107
sortedRefArray()
Default constructor.
Definition sortedRefArray.hpp:94
Section containing core functions and classes.