// // aegis - project change supervisor // Copyright (C) 1994-2008 Peter Miller // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see // . // #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include rpt_func::~rpt_func() { } rpt_func::rpt_func() { } typedef rpt_func::pointer (*table_t)(void); static table_t table[] = { &rpt_func_basename::create, &rpt_func_capitalize::create, &rpt_func_ceil::create, &rpt_func_change_number::create, &rpt_func_change_number_set::create, &rpt_func_columns::create, &rpt_func_count::create, &rpt_func_dirname::create, &rpt_func_downcase::create, &rpt_func_eject::create, &rpt_func_floor::create, &rpt_func_getenv::create, &rpt_func_gettime::create, &rpt_func_getuid::create, &rpt_func_keys::create, &rpt_func_length::create, &rpt_func_mktime::create, &rpt_func_mtime::create, &rpt_func_need::create, &rpt_func_now::create, &rpt_func_page_length::create, &rpt_func_page_width::create, &rpt_func_print::create, &rpt_func_project_name::create, &rpt_func_project_name_set::create, &rpt_func_quote_html::create, &rpt_func_quote_tcl::create, &rpt_func_quote_url::create, &rpt_func_round::create, &rpt_func_sort::create, &rpt_func_split::create, &rpt_func_sprintf::create, &rpt_func_strftime::create, &rpt_func_substitute::create, &rpt_func_substr::create, &rpt_func_terse::create, &rpt_func_title::create, &rpt_func_trunc::create, &rpt_func_typeof::create, &rpt_func_unquote_url::create, &rpt_func_upcase::create, &rpt_func_working_days::create, &rpt_func_wrap::create, &rpt_func_wrap_html::create, }; void rpt_func::init(symtab &symbol_table) { for (size_t j = 0; j < SIZEOF(table); ++j) { rpt_func::pointer fp = table[j](); symbol_table.assign(fp->name(), rpt_value_func::create(fp)); } }