#include <xtd/console>
#include <xtd/icomparable>
public:
explicit foo(int value) : value_ {value} {}
int compare_to(const foo& value) const noexcept override {
if (value_ < value.value_) return -1;
if (value_ > value.value_) return 1;
return 0;
}
private:
int value_ = 0;
};
auto main() -> int {
console::write_line("foo {{42}}.compare_to(foo {{42}}) = {}", foo {42}.compare_to(foo {42}));
console::write_line("foo {{42}}.compare_to(foo {{41}}) = {}", foo {42}.compare_to(foo {41}));
console::write_line("foo {{42}}.compare_to(foo {{43}}) = {}", foo {42}.compare_to(foo {43}));
console::write_line();
console::write_line("foo {{42}} <=> foo {{42}} = {}", foo {42} <=> foo {42});
console::write_line("foo {{42}} <=> foo {{41}} = {}", foo {42} <=> foo {41});
console::write_line("foo {{42}} <=> foo {{43}} = {}", foo {42} <=> foo {43});
console::write_line();
console::write_line("foo {{42}} <= foo {{42}} = {}", foo {42} <= foo {42});
console::write_line("foo {{42}} <= foo {{41}} = {}", foo {42} <= foo {41});
console::write_line("foo {{42}} <= foo {{43}} = {}", foo {42} <= foo {43});
console::write_line();
console::write_line("foo {{42}} < foo {{42}} = {}", foo {42} < foo {42});
console::write_line("foo {{42}} < foo {{41}} = {}", foo {42} < foo {41});
console::write_line("foo {{42}} < foo {{43}} = {}", foo {42} < foo {43});
console::write_line();
console::write_line("foo {{42}} >= foo {{42}} = {}", foo {42} >= foo {42});
console::write_line("foo {{42}} >= foo {{41}} = {}", foo {42} >= foo {41});
console::write_line("foo {{42}} >= foo {{43}} = {}", foo {42} >= foo {43});
console::write_line();
console::write_line("foo {{42}} > foo {{42}} = {}", foo {42} > foo {42});
console::write_line("foo {{42}} > foo {{41}} = {}", foo {42} > foo {41});
console::write_line("foo {{42}} > foo {{43}} = {}", foo {42} > foo {43});
}
Defines a generalized comparison method that a value type or class implements to create a type-specif...
Definition icomparable.h:21
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.h:10