Back to Top page.

EGTNode< T > Class Template Reference

Base class template for a Node object. More...

#include <EGTNode.h>

Inheritance diagram for EGTNode< T >:

Inheritance graph
[legend]
Collaboration diagram for EGTNode< T >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef EGTAbstractNode< T > Base
typedef EGTNode< T > Self
typedef T Term
typedef EGTVector< T * > Terms

Public Methods

 EGTNode (UInt uFuncID, UInt uNumInTerms, UInt uNumOutTerms, UInt uNO)
 EGTNode (const Self &)
virtual ~EGTNode ()
UInt GetFuncID () const
 Returns the functional ID number of this node.

void SetNodeID (UInt n)
 Sets the node ID number of this node.

UInt GetNodeID () const
 Returns the node ID number of this node.

void SetNO (UInt n)
 Sets the input/output number.

UInt GetNO () const
 Returns the input/output number.

void SetOrigin (UInt n)
UInt GetOrigin ()
virtual bool IsCandidate () const
virtual void SaveExtraData (std::ostream &out) const
virtual bool LoadExtraData (std::istream &in)
virtual void Display (std::ostream &) const
 Outputs the data of Node.

virtual const std::string GetName () const
virtual const std::string GetInLabel (UInt) const
virtual const std::string GetOutLabel (UInt) const
virtual SelfCreateNode ()=0
 Creates a node randomly other than an input/output node.

virtual SelfCreateNode (UInt uFuncID)=0
 Creates a node with the specified functional ID number.

virtual SelfCreateNodeDiff (Int iDiff)=0
 Creates a node so as to decrease the difference between the number of input terminals and the number of output terminals.

virtual SelfCreateInputNode (UInt n)=0
 Creates an input node.

virtual SelfCreateOutputNode (UInt n)=0
 Creates an output node.


Detailed Description

template<class T>
class EGTNode< T >

Base class template for a Node object.

It is assumed that <T> is a subclass of EGTTerminal. EGTNode has two ID numbers: Node ID and Functional ID. Node ID is used to distinguishes this node from other nodes. On the other hand, Functional ID is used to indicate the function of this node.


Member Typedef Documentation

template<class T>
typedef EGTAbstractNode<T> EGTNode< T >::Base
 

template<class T>
typedef EGTNode<T> EGTNode< T >::Self
 

Reimplemented from EGTAbstractNode< T >.

template<class T>
typedef T EGTNode< T >::Term
 

Reimplemented from EGTAbstractNode< T >.

template<class T>
typedef EGTVector<T*> EGTNode< T >::Terms
 

Reimplemented from EGTAbstractNode< T >.


Constructor & Destructor Documentation

template<class T>
EGTNode< T >::EGTNode UInt    uFuncID,
UInt    uNumIn,
UInt    uNumOut,
UInt    uNO
 

Constructor

Parameters:
uFuncID  [in] Functional ID number
uNumIn  [in] Number of input terminals
uNumOut  [in] Number of output terminals
uNO  [in] Input/output number

template<class T>
EGTNode< T >::EGTNode const Self   rhs
 

Copy constructor

Parameters:
rhs  [in] Node

template<class T>
EGTNode< T >::~EGTNode   [virtual]
 

Destructor


Member Function Documentation

template<class T>
virtual Self* EGTNode< T >::CreateInputNode UInt    n [pure virtual]
 

Creates an input node.

template<class T>
virtual Self* EGTNode< T >::CreateNode UInt    uFuncID [pure virtual]
 

Creates a node with the specified functional ID number.

template<class T>
virtual Self* EGTNode< T >::CreateNode   [pure virtual]
 

Creates a node randomly other than an input/output node.

template<class T>
virtual Self* EGTNode< T >::CreateNodeDiff Int    iDiff [pure virtual]
 

Creates a node so as to decrease the difference between the number of input terminals and the number of output terminals.

template<class T>
virtual Self* EGTNode< T >::CreateOutputNode UInt    n [pure virtual]
 

Creates an output node.

template<class T>
void EGTNode< T >::Display std::ostream &    out const [virtual]
 

Outputs the data of Node.

Parameters:
out  [out] Output stream

Reimplemented from EGTAbstractNode< T >.

template<class T>
UInt EGTNode< T >::GetFuncID   const [inline]
 

Returns the functional ID number of this node.

template<class T>
virtual const std::string EGTNode< T >::GetInLabel UInt    const [inline, virtual]
 

template<class T>
virtual const std::string EGTNode< T >::GetName   const [inline, virtual]
 

template<class T>
UInt EGTNode< T >::GetNO   const [inline]
 

Returns the input/output number.

template<class T>
UInt EGTNode< T >::GetNodeID   const [inline]
 

Returns the node ID number of this node.

template<class T>
UInt EGTNode< T >::GetOrigin   [inline]
 

template<class T>
virtual const std::string EGTNode< T >::GetOutLabel UInt    const [inline, virtual]
 

template<class T>
virtual bool EGTNode< T >::IsCandidate   const [inline, virtual]
 

template<class T>
virtual bool EGTNode< T >::LoadExtraData std::istream &    in [inline, virtual]
 

template<class T>
virtual void EGTNode< T >::SaveExtraData std::ostream &    out const [inline, virtual]
 

template<class T>
void EGTNode< T >::SetNO UInt    n [inline]
 

Sets the input/output number.

template<class T>
void EGTNode< T >::SetNodeID UInt    n [inline]
 

Sets the node ID number of this node.

template<class T>
void EGTNode< T >::SetOrigin UInt    n [inline]
 


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