2009-02-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>

Added operator T*
	* src/array_fun.h
	* test/array_funTest.cc
pull/1/head
Tatsuhiro Tsujikawa 2009-02-12 13:10:38 +00:00
parent 5547b3a5ed
commit 1c46a26ae6
3 changed files with 23 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2009-02-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added operator T*
* src/array_fun.h
* test/array_funTest.cc
2009-02-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Use dynamically allocated char array to detect memory access

View File

@ -250,6 +250,16 @@ public:
{
return _array[index];
}
operator T*()
{
return _array;
}
operator const T*() const
{
return _array;
}
};
} // namespace aria2

View File

@ -92,6 +92,10 @@ static void arrayPtrConst(const array_ptr<struct array_funTest::X>& ax)
CPPUNIT_ASSERT_EQUAL(99, ax[2].m);
}
static void arrayPtrCast(struct array_funTest::X* x) {}
static void arrayPtrConstCast(const struct array_funTest::X* x) {}
void array_funTest::testArrayPtr()
{
array_ptr<struct X> ax(new struct X[10]);
@ -100,6 +104,9 @@ void array_funTest::testArrayPtr()
CPPUNIT_ASSERT_EQUAL(100, ax[3].m);
CPPUNIT_ASSERT_EQUAL(99, ax[2].m);
arrayPtrConst(ax);
arrayPtrCast(ax);
arrayPtrConstCast(ax);
}
} // namespace aria2