#include <func.h>
Public Types | |
typedef aegis_shared_ptr < rpt_func > | pointer |
Public Member Functions | |
virtual | ~rpt_func () |
virtual const char * | name () const =0 |
virtual bool | optimizable () const =0 |
virtual bool | verify (const rpt_expr::pointer &ep) const =0 |
virtual rpt_value::pointer | run (const rpt_expr::pointer &ep, size_t argc, rpt_value::pointer *argv) const =0 |
Static Public Member Functions | |
static void | init (symtab< rpt_value::pointer > &) |
Protected Member Functions | |
rpt_func () |
Definition at line 35 of file func.h.
typedef aegis_shared_ptr<rpt_func> rpt_func::pointer |
virtual rpt_func::~rpt_func | ( | ) | [virtual] |
The destructor.
rpt_func::rpt_func | ( | ) | [protected] |
The default constructor.
virtual const char* rpt_func::name | ( | ) | const [pure virtual] |
The name method may be used to obtain the name of the function.
Implemented in rpt_func_capitalize, rpt_func_change_number, rpt_func_change_number_set, rpt_func_columns, rpt_func_count, rpt_func_basename, rpt_func_dirname, rpt_func_downcase, rpt_func_eject, rpt_func_getenv, rpt_func_gettime, rpt_func_mktime, rpt_func_getuid, rpt_func_keys, rpt_func_length, rpt_func_mtime, rpt_func_need, rpt_func_now, rpt_func_working_days, rpt_func_page_width, rpt_func_page_length, rpt_func_print, rpt_func_project_name, rpt_func_project_name_set, rpt_func_quote_url, rpt_func_unquote_url, rpt_func_quote_html, rpt_func_quote_tcl, rpt_func_ceil, rpt_func_floor, rpt_func_round, rpt_func_trunc, rpt_func_sort, rpt_func_split, rpt_func_sprintf, rpt_func_strftime, rpt_func_substitute, rpt_func_substr, rpt_func_terse, rpt_func_title, rpt_func_typeof, rpt_func_upcase, rpt_func_wrap, and rpt_func_wrap_html.
virtual bool rpt_func::optimizable | ( | ) | const [pure virtual] |
The optimizable method may be used to determine whether or not this function can be optimized.
Implemented in rpt_func_capitalize, rpt_func_change_number, rpt_func_change_number_set, rpt_func_columns, rpt_func_count, rpt_func_basename, rpt_func_dirname, rpt_func_downcase, rpt_func_eject, rpt_func_getenv, rpt_func_gettime, rpt_func_getuid, rpt_func_keys, rpt_func_length, rpt_func_mtime, rpt_func_need, rpt_func_now, rpt_func_working_days, rpt_func_page_width, rpt_func_page_length, rpt_func_print, rpt_func_project_name, rpt_func_project_name_set, rpt_func_quote_url, rpt_func_unquote_url, rpt_func_quote_html, rpt_func_quote_tcl, rpt_func_ceil, rpt_func_floor, rpt_func_round, rpt_func_trunc, rpt_func_sort, rpt_func_split, rpt_func_sprintf, rpt_func_strftime, rpt_func_substitute, rpt_func_substr, rpt_func_terse, rpt_func_title, rpt_func_typeof, rpt_func_upcase, rpt_func_wrap, and rpt_func_wrap_html.
virtual bool rpt_func::verify | ( | const rpt_expr::pointer & | ep | ) | const [pure virtual] |
The verify method may be used to determine whether or not the arguments presented are valid for this function.
ep | The list of arguments |
Implemented in rpt_func_capitalize, rpt_func_change_number, rpt_func_change_number_set, rpt_func_columns, rpt_func_count, rpt_func_basename, rpt_func_dirname, rpt_func_downcase, rpt_func_eject, rpt_func_getenv, rpt_func_gettime, rpt_func_getuid, rpt_func_keys, rpt_func_length, rpt_func_mtime, rpt_func_need, rpt_func_now, rpt_func_working_days, rpt_func_page_width, rpt_func_page_length, rpt_func_print, rpt_func_project_name, rpt_func_project_name_set, rpt_func_quote_url, rpt_func_unquote_url, rpt_func_quote_html, rpt_func_quote_tcl, rpt_func_ceil, rpt_func_floor, rpt_func_round, rpt_func_trunc, rpt_func_sort, rpt_func_split, rpt_func_sprintf, rpt_func_strftime, rpt_func_substitute, rpt_func_substr, rpt_func_terse, rpt_func_title, rpt_func_typeof, rpt_func_upcase, rpt_func_wrap, and rpt_func_wrap_html.
virtual rpt_value::pointer rpt_func::run | ( | const rpt_expr::pointer & | ep, | |
size_t | argc, | |||
rpt_value::pointer * | argv | |||
) | const [pure virtual] |
The run method is used to evaluate the value of this function.
ep | ||
argc | ||
argv |
Implemented in rpt_func_capitalize, rpt_func_change_number, rpt_func_change_number_set, rpt_func_columns, rpt_func_count, rpt_func_basename, rpt_func_dirname, rpt_func_downcase, rpt_func_eject, rpt_func_getenv, rpt_func_gettime, rpt_func_getuid, rpt_func_keys, rpt_func_length, rpt_func_mtime, rpt_func_need, rpt_func_now, rpt_func_working_days, rpt_func_page_width, rpt_func_page_length, rpt_func_print, rpt_func_project_name, rpt_func_project_name_set, rpt_func_quote_url, rpt_func_unquote_url, rpt_func_quote_html, rpt_func_quote_tcl, rpt_func_ceil, rpt_func_floor, rpt_func_round, rpt_func_trunc, rpt_func_sort, rpt_func_split, rpt_func_sprintf, rpt_func_strftime, rpt_func_substitute, rpt_func_substr, rpt_func_terse, rpt_func_title, rpt_func_typeof, rpt_func_upcase, rpt_func_wrap, and rpt_func_wrap_html.
static void rpt_func::init | ( | symtab< rpt_value::pointer > & | ) | [static] |
The init class method is used to initialize the given symnbl table with rpt_func instances.