Samchon Framework for CPP
1.0.0
|
An array of wrapper with same category (name). More...
#include <WrapperArray.hpp>
Public Member Functions | |
WrapperArray () | |
Default Constructor. More... | |
WrapperArray (const string &name, int price, int volume, int weight) | |
Construct from arguments of sample. More... | |
WrapperArray (const WrapperArray &wrapperArray) | |
Copy Constructor. More... | |
auto | tryInsert (shared_ptr< Product > product) -> bool |
Try to insert a product into reserved list. More... | |
void | optimize () |
Optimize to retrieve the best solution. More... | |
auto | calcPrice () const -> int |
Calculate price of the Wrapper(s) More... | |
virtual auto | TAG () const -> string override |
A tag name when represented by XML. More... | |
virtual auto | CHILD_TAG () const -> string override |
A tag name of children. More... | |
virtual auto | toXML () const -> shared_ptr< XML > override |
Get an XML object represents the EntityGroup. More... | |
auto | toString () const -> string |
Return a string represents Wrapper(s) of same type. More... | |
![]() | |
EntityGroup () | |
Default Constructor. More... | |
virtual void | construct (std::shared_ptr< library::XML > xml) |
Construct data of the Entity from an XML object. More... | |
auto | has (const std::string &key) const -> bool |
Indicates whether a container has an object having the specified identifier. More... | |
auto | get (const std::string &key) -> value_type & |
Access the element by specified identifier(key). More... | |
auto | get (const std::string &key) const -> const value_type & |
Access the const element by specified identifier(key). More... | |
![]() | |
Entity () | |
Default Constructor. More... | |
virtual auto | key () const -> std::string |
Get a key that can identify the Entity uniquely. More... | |
![]() | |
IEntityGroup () | |
Default Constructor. More... | |
Protected Attributes | |
shared_ptr< ProductArray > | reserved |
A list for reserved Product(s). More... | |
shared_ptr< Wrapper > | sample |
A sample wrapper used to copy. More... | |
Additional Inherited Members | |
![]() | |
virtual auto | createChild (std::shared_ptr< library::XML >) -> entity_type *=0 |
Factory method of a child Entity. More... | |
An array of wrapper with same category (name).
WrapperArray reserves Product(s) and generates enough number of Wrapper(s).
WrapperArray will retrieve the best arrange and packaging method for reserved Product(s).
Definition at line 32 of file WrapperArray.hpp.
|
inline |
Default Constructor.
Definition at line 56 of file WrapperArray.hpp.
|
inline |
Construct from arguments of sample.
name | Category name of a wrapper, can be identified |
price | Price of a wrapper |
volume | Limited volume of a wrapper can put in. |
weight | Limited weight of a wrapper can put in. |
Definition at line 71 of file WrapperArray.hpp.
|
inline |
Copy Constructor.
Copy constructor of WrapperArray does not copy children items.
Only copies sample.
Definition at line 86 of file WrapperArray.hpp.
References sample.
|
inline |
|
inline |
Optimize to retrieve the best solution.
Retrieve the best solution of packaging in level of WrapperArray.
Shuffles sequence of reserved Product(s) by samchon::FactorialGenerator and insert the reserved Products(s) following the sequence creating Wrapper(s) as needed. Between the sequences from FactorialGenerator, retrieve and determine the best solution.
Sequence of inserting Product can affeact to numbers of Wrapper(s) to be used.
It's the reason why even WrapperArray has the optimize() method.
Definition at line 149 of file WrapperArray.hpp.
References samchon::example::packer::Wrapper::tryInsert().
|
inline |
Calculate price of the Wrapper(s)
Calculates price of all wrapppers'. The price does not contain inserted products'
Definition at line 192 of file WrapperArray.hpp.
|
inlineoverridevirtual |
A tag name when represented by XML.
Implements samchon::protocol::Entity.
Definition at line 200 of file WrapperArray.hpp.
|
inlineoverridevirtual |
A tag name of children.
< TAG>
<CHILD_TAG />
<CHILD_TAG />
</TAG>
Implements samchon::protocol::IEntityGroup.
Definition at line 204 of file WrapperArray.hpp.
|
inlineoverridevirtual |
Get an XML object represents the EntityGroup.
Archives the EntityGroup's own member variables only to the returned XML object.
Do not consider about archiving children Entity objects' data in EntityGroup::toXML(). Those children Entity objects will converted to XML object by their own toXML() method. The insertion of XML objects representing children are done by abstract method of EntityGroup::toXML().
Archives only data of EntityGroup's own.
Returns an XML object that can represents the Entity containing member variables into properties.
A member variable (not object, but atomic value like number, string or date) is categorized as a property within the framework of entity side. Thus, when overriding a toXML() method and archiving member variables to an XML object to return, puts each variable to be a property belongs to only an XML object.
Don't archive the member variable of atomic value to XML::value causing enormouse creation of XML objects to number of member variables. An Entity must be represented by only an XML instance (tag).
Standard Usage | Non-standard usage abusing value |
---|---|
<memberList> <member id='jhnam88' name='Jeongho+Nam' birthdate='1988-03-11' /> <member id='master' name='Administartor' birthdate='2011-07-28' /> </memberList> | <member> <id>jhnam88</id> <name>Jeongho+Nam</name> <birthdate>1988-03-11</birthdate> </member> |
Reimplemented from samchon::protocol::EntityGroup< _Container, _ETy, T >.
Definition at line 209 of file WrapperArray.hpp.
|
inline |
Return a string represents Wrapper(s) of same type.
Definition at line 220 of file WrapperArray.hpp.
|
protected |
A list for reserved Product(s).
Definition at line 42 of file WrapperArray.hpp.
|
protected |
A sample wrapper used to copy.
Definition at line 47 of file WrapperArray.hpp.
Referenced by WrapperArray().