5#include <Infinity/api.h>
6#include <Infinity/Types/TypeID.hpp>
7#include <Infinity/Types/Core/IOStreamLegible.hpp>
75 virtual std::unique_ptr<Base>
clone()
const;
Abstract base class for all Infinity Engine data types.
Definition Base.hpp:43
friend std::istream & operator>>(std::istream &in, Base &obj)
Stream extraction operator for single-line text input.
Definition Base.hpp:159
virtual ~Base()
Virtual destructor.
virtual std::istream & legibleDataRead(std::istream &in) override
Deserializes the object from a single-line text representation.
virtual const Infinity::Types::TypeID & typeId() const
Gets the runtime type identifier for this object.
virtual std::ostream & legibleDataWrite(std::ostream &out) const override
Serializes the object to a single-line text representation.
virtual std::unique_ptr< Base > clone() const
friend std::ostream & operator<<(std::ostream &out, const Base &obj)
Stream insertion operator for single-line text output.
Definition Base.hpp:179
Interface for types that support single-line text representation.
Definition IOStreamLegible.hpp:68
std::ostream & operator<<(std::ostream &out, const Infinity::Types::Core::Base *&v)
Stream insertion operator for Base pointers.
Definition Base.hpp:197
std::istream & operator>>(std::istream &in, Infinity::Types::Core::Base *&v)
Stream extraction operator for Base pointers.
Definition Base.hpp:211
Runtime type identifier for the Infinity type system.
Definition TypeID.hpp:71