#ifndef FUNCTIONS_HH
#define FUNCTIONS_HH

#include <string>

namespace functions {
    class FunctionWrapper {
    public:
	virtual std::string neutral_element() = 0;
	virtual std::string combine(std::string accumulator,
				    std::string newval) = 0;
    };

    bool defined(const char *name);
    FunctionWrapper *get_function(const char *name);
};

#endif // FUNCTIONS_HH


syntax highlighted by Code2HTML, v. 0.9.1