Samchon Framework for CPP  1.0.0
samchon::examples::tsp::Travel Class Reference

Represent a travel containning Point(s) More...

#include <Travel.hpp>

Collaboration diagram for samchon::examples::tsp::Travel:

Public Member Functions

 Travel ()
 Default Constructor. More...
 
 Travel (const Travel &travel)
 Copy Constructor. More...
 
 Travel (Travel &&travel)
 Move Constructor. More...
 
auto calcDistance () const -> double
 Calculate distance to move. More...
 
auto operator< (const Travel &travel) const -> bool
 Compare which object is less. 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
 Convert the Travel to String. More...
 
- Public Member Functions inherited from samchon::protocol::EntityGroup< Container, T, Key >
virtual void construct (std::shared_ptr< library::XML > xml)
 Construct data of the Entity from an XML object. More...
 
auto find (const typename child_type::key_type &key) -> typename container_type::iterator
 Get iterator to element. More...
 
auto find (const typename child_type::key_type &key) const -> typename container_type::const_iterator
 Get const iterator to element. More...
 
auto has (const typename child_type::key_type &key) const -> bool
 Indicates whether a container has an object having the specified identifier. More...
 
auto count (const typename child_type::key_type &key) const -> size_t
 Count elements with a specific key. More...
 
auto get (const typename child_type::key_type &key) -> typename container_type::value_type &
 Access the element by specified identifier(key). More...
 
auto get (const typename child_type::key_type &key) const -> const typename container_type::value_type &
 Access the const element by specified identifier(key). More...
 
- Public Member Functions inherited from samchon::protocol::Entity< Key >
virtual auto key () const -> Key
 Get a key that can identify the Entity uniquely. More...
 

Protected Attributes

double distance
 Estimated hours to move. More...
 

Additional Inherited Members

- Protected Member Functions inherited from samchon::protocol::EntityGroup< Container, T, Key >
virtual auto createChild (std::shared_ptr< library::XML >) -> child_type *=0
 Factory method of a child Entity. More...
 

Detailed Description

Represent a travel containning Point(s)

Travel class is not only an array containing Point(s) but also a sequence listing of the Point(s).

example_tsp.png
Author
Jeongho Nam http://samchon.org

Definition at line 27 of file Travel.hpp.

Constructor & Destructor Documentation

samchon::examples::tsp::Travel::Travel ( )
inline

Default Constructor.

Definition at line 49 of file Travel.hpp.

samchon::examples::tsp::Travel::Travel ( const Travel travel)
inline

Copy Constructor.

Travel is an array of Point(s) as gene(s). The copy constructor of Travel doesn't copy member variables which are related to G.A. because the sequence of gene(Point)s can be shuffled by process of evolution of genetic algorithm.

Definition at line 63 of file Travel.hpp.

samchon::examples::tsp::Travel::Travel ( Travel &&  travel)
inline

Move Constructor.

Definition at line 72 of file Travel.hpp.

Member Function Documentation

auto samchon::examples::tsp::Travel::calcDistance ( ) const -> double
inline

Calculate distance to move.

Definition at line 103 of file Travel.hpp.

auto samchon::examples::tsp::Travel::operator< ( const Travel travel) const -> bool
inline

Compare which object is less.

Compares distances to move. The result is used to optimize and evolve genes by G.A.

Parameters
Targetobject to compare
Returns
Whether this object is less than target

Definition at line 124 of file Travel.hpp.

virtual auto samchon::examples::tsp::Travel::CHILD_TAG ( ) const -> string
inlineoverridevirtual

A tag name of children.

< TAG>
     <CHILD_TAG />
     <CHILD_TAG />
</TAG>

Implements samchon::protocol::EntityGroupBase.

Definition at line 136 of file Travel.hpp.

virtual auto samchon::examples::tsp::Travel::toXML ( ) const -> shared_ptr<XML>
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.

[Inherited]

Reimplemented from samchon::protocol::EntityGroup< Container, T, Key >.

Definition at line 141 of file Travel.hpp.

auto samchon::examples::tsp::Travel::toString ( ) const -> string
inline

Convert the Travel to String.

Have of form of tab and enter delimeters for Excel.

 {$uid1}    {$x}    {$y} 


 {$uid2}   {$x}    {$y} 


 {$uid3}   {$x}    {$y} 


...

Returns
A string can represent the Travel

Definition at line 162 of file Travel.hpp.

References samchon::library::StringUtil::numberFormat().

Here is the call graph for this function:

Member Data Documentation

double samchon::examples::tsp::Travel::distance
protected

Estimated hours to move.

A variable for avoiding duplicated calculation

See also
calcDistance()

Definition at line 40 of file Travel.hpp.


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