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::string_param Class Reference

#include <soar_module.h>

Inherits soar_module::param.

Inherited by epmem_path_param, and smem_path_param.

Public Member Functions

virtual char * get_string ()
virtual const char * get_value ()
virtual bool set_string (const char *new_string)
virtual void set_value (const char *new_value)
 string_param (const char *new_name, const char *new_value, predicate< const char * > *new_val_pred, predicate< const char * > *new_prot_pred)
virtual bool validate_string (const char *new_value)
virtual ~string_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< const char * > * prot_pred
predicate< const char * > * val_pred
std::string * value

Detailed Description

Definition at line 330 of file soar_module.h.

Constructor & Destructor Documentation

soar_module::string_param::string_param ( const char *  new_name,
const char *  new_value,
predicate< const char * > *  new_val_pred,
predicate< const char * > *  new_prot_pred 
)
inline

Definition at line 338 of file soar_module.h.

: param( new_name ), value( new std::string( new_value ) ), val_pred( new_val_pred ), prot_pred( new_prot_pred ) {}
virtual soar_module::string_param::~string_param ( )
inlinevirtual

Definition at line 340 of file soar_module.h.

References prot_pred, val_pred, and value.

{
delete value;
delete val_pred;
delete prot_pred;
}

Member Function Documentation

virtual char* soar_module::string_param::get_string ( )
inlinevirtual

Implements soar_module::named_object.

Definition at line 349 of file soar_module.h.

References value.

{
char *return_val = new char[ value->length() + 1 ];
strcpy( return_val, value->c_str() );
return_val[ value->length() ] = '\0';
return return_val;
}
virtual const char* soar_module::string_param::get_value ( )
inlinevirtual

Definition at line 378 of file soar_module.h.

References value.

Referenced by epmem_init_db(), rl_perform_update(), and smem_init_db().

{
return value->c_str();
}
virtual bool soar_module::string_param::set_string ( const char *  new_string)
inlinevirtual

Implements soar_module::param.

Definition at line 358 of file soar_module.h.

References prot_pred, set_value(), and val_pred.

{
if ( !(*val_pred)( new_string ) || (*prot_pred)( new_string ) )
{
return false;
}
else
{
set_value( new_string );
return true;
}
}
virtual void soar_module::string_param::set_value ( const char *  new_value)
inlinevirtual

Reimplemented in epmem_path_param, and smem_path_param.

Definition at line 383 of file soar_module.h.

References value.

Referenced by set_string().

{
value->assign( new_value );
}
virtual bool soar_module::string_param::validate_string ( const char *  new_value)
inlinevirtual

Implements soar_module::param.

Definition at line 371 of file soar_module.h.

References val_pred.

{
return (*val_pred)( new_value );
}

Field Documentation

predicate<const char *>* soar_module::string_param::prot_pred
protected

Definition at line 335 of file soar_module.h.

Referenced by set_string(), and ~string_param().

predicate<const char *>* soar_module::string_param::val_pred
protected

Definition at line 334 of file soar_module.h.

Referenced by set_string(), validate_string(), and ~string_param().

std::string* soar_module::string_param::value
protected

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