#pragma once
#include <memory>

namespace mof
{
    typedef unsigned int FrameNumber;
    typedef FrameNumber frame_t;

	template<typename T>
	class Manipulator 
    {
	public:
        typedef typename std::shared_ptr< Manipulator > Handler;
        typedef typename std::shared_ptr< Manipulator > ptr;
        virtual ~Manipulator(){}	
		virtual T value( FrameNumber fn ) const = 0;

	};


} // namespace mof
