Soar Kernel  9.3.2 08-06-12
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Protected Attributes
soar_module::primitive_param< T > Class Template Reference

#include <soar_module.h>

Inherits soar_module::param.

Inherited by rl_apoptosis_thresh_param, and wma_decay_param.

Public Member Functions

virtual char * get_string ()
virtual T get_value ()
 primitive_param (const char *new_name, T new_value, predicate< T > *new_val_pred, predicate< T > *new_prot_pred)
virtual bool set_string (const char *new_string)
virtual void set_value (T new_value)
virtual bool validate_string (const char *new_string)
virtual ~primitive_param ()
- Public Member Functions inherited from soar_module::param
 param (const char *new_name)
virtual ~param ()
- Public Member Functions inherited from soar_module::named_object
const char * get_name ()
 named_object (const char *new_name)
virtual ~named_object ()

Protected Attributes

predicate< T > * prot_pred
predicate< T > * val_pred
value

Detailed Description

template<typename T>
class soar_module::primitive_param< T >

Definition at line 262 of file soar_module.h.

Constructor & Destructor Documentation

template<typename T >
soar_module::primitive_param< T >::primitive_param ( const char *  new_name,
new_value,
predicate< T > *  new_val_pred,
predicate< T > *  new_prot_pred 
)
inline

Definition at line 270 of file soar_module.h.

: param( new_name ), value( new_value ), val_pred( new_val_pred ), prot_pred( new_prot_pred ) {}
template<typename T >
virtual soar_module::primitive_param< T >::~primitive_param ( )
inlinevirtual

Member Function Documentation

template<typename T >
virtual char* soar_module::primitive_param< T >::get_string ( )
inlinevirtual

Implements soar_module::named_object.

Definition at line 280 of file soar_module.h.

References soar_module::primitive_param< T >::value.

Referenced by epmem_init_db(), and smem_init_db().

{
std::string temp_str;
to_string( value, temp_str );
return strdup( temp_str.c_str() );
}
template<typename T >
virtual T soar_module::primitive_param< T >::get_value ( )
inlinevirtual
template<typename T >
virtual bool soar_module::primitive_param< T >::set_string ( const char *  new_string)
inlinevirtual

Implements soar_module::param.

Definition at line 287 of file soar_module.h.

References soar_module::primitive_param< T >::prot_pred, soar_module::primitive_param< T >::set_value(), and soar_module::primitive_param< T >::val_pred.

{
T new_val;
from_string( new_val, new_string );
if ( !(*val_pred)( new_val ) || (*prot_pred)( new_val ) )
{
return false;
}
else
{
set_value( new_val );
return true;
}
}
template<typename T >
virtual void soar_module::primitive_param< T >::set_value ( new_value)
inlinevirtual

Definition at line 318 of file soar_module.h.

References soar_module::primitive_param< T >::value.

Referenced by soar_module::primitive_param< T >::set_string(), and smem_init_db().

{
value = new_value;
}
template<typename T >
virtual bool soar_module::primitive_param< T >::validate_string ( const char *  new_string)
inlinevirtual

Implements soar_module::param.

Definition at line 303 of file soar_module.h.

References soar_module::primitive_param< T >::val_pred.

{
T new_val;
from_string( new_val, new_string );
return (*val_pred)( new_val );
}

Field Documentation

template<typename T >
predicate<T>* soar_module::primitive_param< T >::prot_pred
protected
template<typename T >
predicate<T>* soar_module::primitive_param< T >::val_pred
protected
template<typename T >
T soar_module::primitive_param< T >::value
protected

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