12 #ifndef _DYNAMIC_REFOBJECT_ARRAY_H_
13 #define _DYNAMIC_REFOBJECT_ARRAY_H_
15 #include <shogun/base/RefObject.h>
50 :
CSGObject(), m_array(dim1*dim2*dim3), name(
"Array")
65 :
CSGObject(), m_array(p_array, p_dim1_size, p_free_array, p_copy_array), name(
"Array")
67 dim1_size=p_dim1_size;
81 bool p_free_array=
true,
bool p_copy_array=
false)
82 :
CSGObject(), m_array(p_array, p_dim1_size*p_dim2_size, p_free_array, p_copy_array), name(
"Array")
84 dim1_size=p_dim1_size;
85 dim2_size=p_dim2_size;
99 int32_t p_dim3_size,
bool p_free_array=
true,
bool p_copy_array=
false)
100 :
CSGObject(), m_array(p_array, p_dim1_size*p_dim2_size*p_dim3_size, p_free_array, p_copy_array), name(
"Array")
102 dim1_size=p_dim1_size;
103 dim2_size=p_dim2_size;
104 dim3_size=p_dim3_size;
198 inline CRefObject*
element(int32_t idx1, int32_t idx2=0, int32_t idx3=0)
200 return get_element(idx1+dim1_size*(idx2+dim2_size*idx3));
236 inline bool set_element(CRefObject* e, int32_t idx1, int32_t idx2=0, int32_t idx3=0)
238 int32_t idx = idx1+dim1_size*(idx2+dim2_size*idx3);
239 CRefObject* old=NULL;
300 CRefObject* e=m_array.
back();
311 inline CRefObject*
back()
const
313 CRefObject* e=m_array.
back();
373 m_array=orig.m_array;
403 {
return "DynamicRefObjectArray"; }
407 inline void unref_all()
418 DynArray<CRefObject*> m_array;