template<template_param>\
class animation_handle_manager<specialization> final : public animation_handle_manager_bace\
{\
public:\
int get_handle()const override\
{\
DXLE_GET_LOCK(counter_mtx);\
return texture2d_handle_manager::GetTextureRawHandle(graphs.get()[counter.get() %
size]);\
}\
private:\
using Cont = specialization;\
using this_T = animation_handle_manager<Cont>;\
typename std::remove_reference<Cont>::type graphs;\
animation_handle_manager(time::counter&& counter, Cont&& graphs)\
: animation_handle_manager_bace(std::move(counter))\
, graphs(std::move(graphs))\
{}\
std::unique_ptr<texture2d_handle_manager> clone() override\
{\
return get_unique(*this);\
}\
friend animation_graph;\
template<typename... Args> static inline std::unique_ptr<texture2d_handle_manager> get_unique(Args&&... args) {\
return std::unique_ptr<texture2d_handle_manager>(new this_T(std::forward<Args>(args)...));\
}\
}
size_c< std::size_t > size