aboutsummaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorastrojhgu <astrojhgu@ed2142bd-67ad-457f-ba7c-d818d4011675>2009-09-11 10:16:41 +0000
committerastrojhgu <astrojhgu@ed2142bd-67ad-457f-ba7c-d818d4011675>2009-09-11 10:16:41 +0000
commit18b6a5d898e798d53478b13e2b0c997eed626760 (patch)
tree02d716eba77f936d99d6ecc9b04b777420a6856b /core
parent715792b078567650bc2d261e109d96cb2e356599 (diff)
downloadopt-utilities-18b6a5d898e798d53478b13e2b0c997eed626760.tar.bz2
git-svn-id: file:///home/svn/opt_utilities@67 ed2142bd-67ad-457f-ba7c-d818d4011675
Diffstat (limited to 'core')
-rw-r--r--core/fitter.hpp58
-rw-r--r--core/optimizer.hpp32
2 files changed, 90 insertions, 0 deletions
diff --git a/core/fitter.hpp b/core/fitter.hpp
index dd33138..92738e5 100644
--- a/core/fitter.hpp
+++ b/core/fitter.hpp
@@ -232,7 +232,15 @@ namespace opt_utilities
virtual void do_add_data(const data<Ty,Tx>&)=0;
virtual void do_clear()=0;
virtual data_set<Ty,Tx>* do_clone()const=0;
+ /**
+ \return the type name of self
+ */
+ virtual const char* do_get_type_name()const
+ {
+ return typeid(*this).name();
+ }
+
virtual void do_destroy()
{
delete this;
@@ -283,6 +291,12 @@ namespace opt_utilities
return this->do_clone();
}
+ const char* get_type_name()const
+ {
+ return this->do_get_type_name();
+ }
+
+
/**
destroy the cloned object
*/
@@ -463,6 +477,15 @@ namespace opt_utilities
{
delete this;
}
+
+ /**
+ \return the type name of self
+ */
+
+ virtual const char* do_get_type_name()const
+ {
+ return typeid(*this).name();
+ }
public:
/**
@@ -473,6 +496,12 @@ namespace opt_utilities
return do_clone();
}
+ const char* get_type_name()const
+ {
+ return this->do_get_type_name();
+ }
+
+
/**
destroy the cloned object
*/
@@ -1604,6 +1633,15 @@ namespace opt_utilities
delete this;
}
+ /**
+ \return the type name of self
+ */
+
+ virtual const char* do_get_type_name()const
+ {
+ return typeid(*this).name();
+ }
+
public:
/**
clone the existing object
@@ -1613,6 +1651,11 @@ namespace opt_utilities
{
return this->do_clone();
}
+
+ const char* get_type_name()const
+ {
+ return this->do_get_type_name();
+ }
/**
destroy the cloned object
@@ -1747,6 +1790,12 @@ namespace opt_utilities
{
return do_clone();
}
+
+ const char* get_type_name()const
+ {
+ return this->do_get_type_name();
+ }
+
/**
destroy the cloned object
@@ -1756,6 +1805,15 @@ namespace opt_utilities
do_destroy();
}
+ /**
+ \return the type name of self
+ */
+
+ virtual const char* do_get_type_name()const
+ {
+ return typeid(*this).name();
+ }
+
public:
/**
the default construct function
diff --git a/core/optimizer.hpp b/core/optimizer.hpp
index 10cfce9..6380d66 100644
--- a/core/optimizer.hpp
+++ b/core/optimizer.hpp
@@ -12,6 +12,7 @@
#include "opt_exception.hpp"
#include <cstdlib>
#include <functional>
+#include <typeinfo>
#ifdef DEBUG
#include <iostream>
using namespace std;
@@ -59,6 +60,15 @@ namespace opt_utilities
delete this;
}
+ /**
+ \return the type name of self
+ */
+
+ virtual const char* do_get_type_name()const
+ {
+ return typeid(*this).name();
+ }
+
public:
/**
Interface function to perform the clone
@@ -77,6 +87,10 @@ namespace opt_utilities
do_destroy();
}
+ const char* get_type_name()const
+ {
+ return this->do_get_type_name();
+ }
/**
Makes the class object like a real function.
@@ -175,6 +189,15 @@ namespace opt_utilities
{
delete this;
}
+
+ /**
+ \return the type name of self
+ */
+
+ virtual const char* do_get_type_name()const
+ {
+ return typeid(*this).name();
+ }
public:
/**
Interface function for seting optimizer
@@ -287,6 +310,15 @@ namespace opt_utilities
}
/**
+ \return the type name of self
+ */
+
+ virtual const char* get_type_name()const
+ {
+ return this->do_get_type_name();
+ }
+
+ /**
deconstruct function
*/
virtual ~opt_method(){};