14 #ifndef _DS3D_COMMON_HPP_FRAME__HPP
15 #define _DS3D_COMMON_HPP_FRAME__HPP
17 #include <ds3d/common/abi_frame.h>
18 #include <ds3d/common/func_utils.h>
20 #include <ds3d/common/hpp/obj.hpp>
29 class FrameGuard :
public GuardDataT<abiFrame> {
30 using _Base = GuardDataT<abiFrame>;
34 template <
typename... Args>
35 FrameGuard(Args&&... args) : _Base(std::forward<Args>(args)...)
42 abiFrame* f = this->
ptr();
47 return *
static_cast<EleT*
>((uint8_t*)f->base() + eleSize * idx);
57 #endif // _DS3D_COMMON_HPP_FRAME__HPP