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

#include <PackageWrap.h>

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

Public Types

using base = std::reference_wrapper<Package>
 Item reference base.
 
- Public Types inherited from active::serialise::Package
using Unique = std::unique_ptr<Package>
 Unique pointer.
 
using Shared = std::shared_ptr<Package>
 Shared pointer.
 
- 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

 PackageWrap (Package &source)
 
 PackageWrap (const Package &source)
 
 PackageWrap (const PackageWrap &source)
 
virtual ~PackageWrap ()=default
 
virtual bool fillInventory (Inventory &inventory) const override
 
virtual Cargo::Unique getCargo (const Inventory::Item &item) const override
 
virtual void clear () override
 
virtual void setDefault () override
 
virtual bool validate () override
 
virtual bool read (const utility::String &source) override
 
virtual bool insert (Cargo::Unique &&cargo, const Inventory::Item &item) override
 
- Public Member Functions inherited from active::serialise::Package
bool isRoot () const
 
virtual bool isAttributeFirst () const
 
void setRoot (bool state)
 
virtual bool finaliseAttributes ()
 
- 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 package into (de)serialisation functions

Constructor & Destructor Documentation

◆ PackageWrap() [1/3]

active::serialise::PackageWrap::PackageWrap ( Package & source)
inline

Constructor

Parameters
sourceThe source package to wrap

◆ PackageWrap() [2/3]

active::serialise::PackageWrap::PackageWrap ( const Package & source)
inline

Constructor

Parameters
sourceThe source package to wrap

◆ PackageWrap() [3/3]

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

Copy constructor

Parameters
sourceThe object to copy

◆ ~PackageWrap()

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

Destructor

Member Function Documentation

◆ clear()

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

Clear the data content (typically a reset to defaults)

Reimplemented from active::serialise::Cargo.

◆ fillInventory()

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

Fill an inventory with the cargo items

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

Implements active::serialise::Cargo.

◆ getCargo()

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

Get the specified cargo

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

Implements active::serialise::Cargo.

◆ insert()

virtual bool active::serialise::PackageWrap::insert ( Cargo::Unique && cargo,
const Inventory::Item & item )
inlineoverridevirtual

Insert specified cargo into the package - used for cargo with many instances sharing the same ID (e.g. from an array/map)

Parameters
cargoThe cargo to insert
itemThe inventory item linked with the cargo

Reimplemented from active::serialise::Package.

◆ read()

virtual bool active::serialise::PackageWrap::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

Reimplemented from active::serialise::Package.

◆ setDefault()

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

Set to the default package content

Reimplemented from active::serialise::Package.

◆ validate()

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

Validate the cargo data

Returns
True if the data has been validated

Reimplemented from active::serialise::Cargo.


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