// $Id: MultiTabulatedFunction.h 14717 2009-09-17 20:24:36Z lukas $ #ifndef _utl_MultiTabulatedFunction_h_ #define _utl_MultiTabulatedFunction_h_ #include #include namespace utl { class LabeledTabulatedFunction : public LabeledObject { public: LabeledTabulatedFunction(const int label, TabulatedFunction& tf) : LabeledObject(label, tf) { } LabeledTabulatedFunction(const std::pair pair) : LabeledObject(pair) { } TabulatedFunction& GetTabulatedFunction() { return LabeledObject::GetObject(); } const TabulatedFunction& GetTabulatedFunction() const { return LabeledObject::GetObject(); } }; /** \brief A collection of TabulatedFunction This class provides methods to access TabulatedFunction objects different sources. \author Stefano Argiro', Darko Veberic \date 14 Nov 2005 revision \ingroup math */ class MultiTabulatedFunction : public MultiObject { public: /// Returns the TabulatedFunction for /par source, throws an exception if na TabulatedFunction& GetTabulatedFunction(const int label = 0) { return MultiObject::GetObject(label); } const TabulatedFunction& GetTabulatedFunction(const int label = 0) const { return MultiObject::GetObject(label); } Iterator TabulatedFunctionsBegin() { return Begin(); } ConstIterator TabulatedFunctionsBegin() const { return Begin(); } Iterator TabulatedFunctionsEnd() { return End(); } ConstIterator TabulatedFunctionsEnd() const { return End(); } /** Creates a new TabulatedFunction and assign source /par source */ void AddTabulatedFunction(const int label) { AddObject(new TabulatedFunction, label); } /** Copies the TabulatedFunction in the internal list * and assign source /par source -The original can be deleted */ void AddTabulatedFunction(const TabulatedFunction& tf, const int label) { MultiObject::AddObject(tf, label); } }; } #endif // Configure (x)emacs for this file ... // Local Variables: // mode: c++ // compile-command: "cd ..; make -k" // End: