4 #error "This file must be compiled as C++." 7 #include <arbiter/Types.h> 25 virtual std::ostream &
describe (std::ostream &os)
const = 0;
30 return !(*
this == other);
36 std::ostream &operator<< (std::ostream &os,
const Arbiter::
Base &object);
auto makeIteratorRange(const Collection &collection)
Creates an IteratorRange encompassing the entirety of the given read-only collection.
virtual bool operator==(const Base &other) const =0
virtual ~Base() noexcept(false)
bool operator!=(const Base &other) const
virtual std::ostream & describe(std::ostream &os) const =0
virtual std::unique_ptr< Base > clone() const =0