// Description: Repeating index extender
// Documentation: indexextenders.txt
#ifndef PASTELSYS_REPEATEXTENDER_H
#define PASTELSYS_REPEATEXTENDER_H
#include "pastel/sys/extender/indexextender.h"
namespace Pastel
{
class RepeatExtender
: public IndexExtender
{
public:
virtual ~RepeatExtender()
{
}
virtual integer operator()(
integer index, integer extent) const
{
return mod(index, extent);
}
};
using RepeatExtenderPtr = CountedPtr<RepeatExtender>;
using ConstRepeatExtenderPtr = CountedPtr<const RepeatExtender>;
inline RepeatExtenderPtr repeatExtender()
{
return RepeatExtenderPtr(new RepeatExtender);
}
}
#endif