18 #ifndef _DS3D_COMMON_HPP_FRAME__HPP
19 #define _DS3D_COMMON_HPP_FRAME__HPP
21 #include <ds3d/common/abi_frame.h>
22 #include <ds3d/common/func_utils.h>
24 #include <ds3d/common/hpp/obj.hpp>
33 class FrameGuard :
public GuardDataT<abiFrame> {
34 using _Base = GuardDataT<abiFrame>;
38 template <
typename... Args>
39 FrameGuard(Args&&... args) : _Base(std::forward<Args>(args)...)
46 abiFrame* f = this->
ptr();
51 return *
static_cast<EleT*
>((uint8_t*)f->base() + eleSize * idx);
61 #endif // _DS3D_COMMON_HPP_FRAME__HPP