ActiveLib
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
active::serialise::ItemWrap Class Reference

#include <ItemWrap.h>

Inheritance diagram for active::serialise::ItemWrap:
Inheritance graph
[legend]
Collaboration diagram for active::serialise::ItemWrap:
Collaboration graph
[legend]

Public Types

using base = std::reference_wrapper<Item>
 Item reference base.
 
- Public Types inherited from active::serialise::Item
enum class  Type { text , number , boolean }
 
- Public Types inherited from active::serialise::Cargo
using Unique = std::unique_ptr<Cargo>
 Unique pointer.
 
using Shared = std::shared_ptr<Cargo>
 Shared pointer.
 
using size_type = std::string::size_type
 Class size type.
 
using sizeOption = std::optional<size_type>
 Optional size type (used to indicate an unspecified or non-existant position)
 

Public Member Functions

 ItemWrap (Item &source)
 
 ItemWrap (const Item &source)
 
 ItemWrap (const ItemWrap &source)
 
virtual ~ItemWrap ()=default
 
virtual bool fillInventory (Inventory &inventory) const override
 
virtual Cargo::Unique getCargo (const Inventory::Item &item) const override
 
virtual bool write (utility::String &dest) const override
 
virtual void clear () override
 
virtual void setDefault () override
 
virtual bool validate () override
 
virtual bool read (const utility::String &source) override
 
- Public Member Functions inherited from active::serialise::Item
virtual std::optional< Type > type () const
 
virtual bool read (const setting::Value &source)
 
- Public Member Functions inherited from active::serialise::Cargo
 Cargo ()
 
 Cargo (const Cargo &source)
 
virtual ~Cargo ()=default
 

Detailed Description

Lightweight interface wrapper for passing a reference to a serialisable item into (de)serialisation functions

Constructor & Destructor Documentation

◆ ItemWrap() [1/3]

active::serialise::ItemWrap::ItemWrap ( Item & source)
inline

Constructor

Parameters
sourceThe source package to wrap

◆ ItemWrap() [2/3]

active::serialise::ItemWrap::ItemWrap ( const Item & source)
inline

Constructor

Parameters
sourceThe source package to wrap

◆ ItemWrap() [3/3]

active::serialise::ItemWrap::ItemWrap ( const ItemWrap & source)
inline

Copy constructor

Parameters
sourceThe object to copy

◆ ~ItemWrap()

virtual active::serialise::ItemWrap::~ItemWrap ( )
virtualdefault

Destructor

Member Function Documentation

◆ clear()

virtual void active::serialise::ItemWrap::clear ( )
inlineoverridevirtual

Clear the data content (typically a reset to defaults)

Reimplemented from active::serialise::Cargo.

◆ fillInventory()

virtual bool active::serialise::ItemWrap::fillInventory ( Inventory & inventory) const
inlineoverridevirtual

Fill an inventory with the cargo items. NB: Most items rely on the enclosing package to do this, so returns false by default

Parameters
inventoryThe inventory to receive the cargo items
Returns
True if items have been added to the inventory

Reimplemented from active::serialise::Item.

◆ getCargo()

virtual Cargo::Unique active::serialise::ItemWrap::getCargo ( const Inventory::Item & item) const
inlineoverridevirtual

Get the specified cargo. NB: Most items rely on the enclosing package to do this, so returns nullptr by default

Parameters
itemThe inventory item to retrieve
Returns
The requested cargo (nullptr on failure)

Reimplemented from active::serialise::Item.

◆ read()

virtual bool active::serialise::ItemWrap::read ( const utility::String & source)
inlineoverridevirtual

Read the cargo data from the specified string

Parameters
sourceThe string to read
Returns
True if the data was successfully read

Implements active::serialise::Item.

◆ setDefault()

virtual void active::serialise::ItemWrap::setDefault ( )
inlineoverridevirtual

Set to the default package content

Implements active::serialise::Cargo.

◆ validate()

virtual bool active::serialise::ItemWrap::validate ( )
inlineoverridevirtual

Validate the cargo data

Returns
True if the data has been validated

Reimplemented from active::serialise::Cargo.

◆ write()

virtual bool active::serialise::ItemWrap::write ( utility::String & dest) const
inlineoverridevirtual

Write the item data to a string

Parameters
destThe string to write the data to
Returns
True if the data was successfully written

Implements active::serialise::Item.


The documentation for this class was generated from the following file: