6#ifndef ACTIVE_SERIALISE_CARGO
7#define ACTIVE_SERIALISE_CARGO
9#include "Active/Serialise/Inventory/Inventory.h"
10#include "Active/Utility/String.h"
23 using Unique = std::unique_ptr<Cargo>;
25 using Shared = std::shared_ptr<Cargo>;
82 concept Transportable = std::is_base_of<active::serialise::Cargo, T>::value;
std::optional< size_type > sizeOption
Optional size type (used to indicate an unspecified or non-existant position)
Definition Cargo.h:29
Cargo()
Definition Cargo.h:36
Cargo(const Cargo &source)
Definition Cargo.h:41
virtual void clear()
Definition Cargo.h:68
std::unique_ptr< Cargo > Unique
Unique pointer.
Definition Cargo.h:23
virtual bool validate()
Definition Cargo.h:77
std::shared_ptr< Cargo > Shared
Shared pointer.
Definition Cargo.h:25
virtual bool fillInventory(Inventory &inventory) const =0
virtual void setDefault()=0
std::string::size_type size_type
Class size type.
Definition Cargo.h:27
virtual Cargo::Unique getCargo(const Inventory::Item &item) const =0
Definition Inventory.h:19
Transportable concept for classes/functions representing transportable cargo.
Definition Cargo.h:82