Commit 47828780 authored by Roland Levillain's avatar Roland Levillain
Browse files

Re-enable exact_type vtype.

	* oln/core/typedefs.hh (oln_super_of_, oln_super2_of_)
	(oln_super3_of_, oln_super_of): Remove macros.
	(exact_type): Enable this typedef.
	* oln/core/abstract/image.hh (packed_vtypes::exact_type): New
	typedef.
	(packed_vtypes::echo): Print exact_type.
	(packed_vtypes::ensure): Check exact_type.


git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@476 4aad255d-cdde-0310-9447-f3009e2ae8c0
parent d53afee5
2006-04-25 Roland Levillain <roland@lrde.epita.fr>
Re-enable exact_type vtype.
* oln/core/typedefs.hh (oln_super_of_, oln_super2_of_)
(oln_super3_of_, oln_super_of): Remove macros.
(exact_type): Enable this typedef.
* oln/core/abstract/image.hh (packed_vtypes::exact_type): New
typedef.
(packed_vtypes::echo): Print exact_type.
(packed_vtypes::ensure): Check exact_type.
2006-04-25 Roland Levillain <roland@lrde.epita.fr>
* oln/core/typedefs.hh: s/properties/vtypes/.
......
......@@ -62,6 +62,7 @@ namespace oln {
typedef I exact_type;
typedef mlc::undefined grid_type;
// --------------------------------------------------------------------
// FIXME: To be enabled later.
// --------------------------------------------------------------------
......@@ -94,6 +95,8 @@ namespace oln {
struct packed_vtypes<category::image, I>
{
// Internally defined virtual types.
typedef oln_type_of(I, exact) exact_type;
typedef oln_type_of(I, grid) grid_type;
// --------------------------------------------------------------------
......@@ -133,6 +136,8 @@ namespace oln {
<< "vtypes_of(oln::category::image, " << mlc_to_string(I) << ") ="
<< std::endl
<< "{" << std::endl
<< " exact_type = " << mlc_to_string(exact_type) << std::endl
<< " grid_type = " << mlc_to_string(grid_type) << std::endl
// --------------------------------------------------------------------
......@@ -166,7 +171,10 @@ namespace oln {
static void ensure()
{
mlc::assert_< mlc_is_ok(exact_type) >::check();
mlc::assert_< mlc_is_ok(grid_type) >::check();
// --------------------------------------------------------------------
// FIXME: To be enabled later.
// --------------------------------------------------------------------
......
......@@ -37,42 +37,34 @@
# include <stc/vtypes.hh>
# define oln_super_of_(Type) \
oln::internal::get_super_type<Type>::ret
# define oln_super2_of_(Type,_2) \
oln::internal::get_super_type<Type,_2>::ret
# define oln_super3_of_(Type,_2,_3) \
oln::internal::get_super_type<Type,_2,_3>::ret
# define oln_super_of(Type) \
typename oln_super_of_(Type)
namespace oln
{
// Namespace equipment. The virtual types facility is inserted here
// because it also triggers Metalic's typedef introspection
// equipment.
/*----------------------.
| Namespace equipment. |
`----------------------*/
// The virtual types facility is inserted here because it also
// triggers Metalic's typedef introspection equipment.
stc_equip_namespace_with_vtypes();
// Misc.
/*-------.
| Misc. |
`-------*/
// --------------------------------------------------------------------
// FIXME: To be enabled later.
// --------------------------------------------------------------------
// mlc_decl_typedef(exact_type);
// --------------------------------------------------------------------
mlc_decl_typedef(exact_type);
// General.
/*----------.
| General. |
`----------*/
mlc_decl_typedef(grid_type);
// Iterators.
/*------------.
| Iterators. |
`------------*/
// --------------------------------------------------------------------
// FIXME: To be enabled later.
......@@ -94,7 +86,10 @@ namespace oln
// mlc_decl_typedef(bkd_niter_type);
// --------------------------------------------------------------------
// category::image.
/*------------------.
| category::image. |
`------------------*/
// --------------------------------------------------------------------
// FIXME: To be enabled later.
......@@ -133,7 +128,10 @@ namespace oln
// mlc_decl_typedef(image_rawness_type);
// --------------------------------------------------------------------
// Extension in image_operators.
// ------------------------------ //
// Extension in image_operators. //
// ------------------------------ //
// --------------------------------------------------------------------
// FIXME: To be enabled later.
// --------------------------------------------------------------------
......@@ -144,14 +142,17 @@ namespace oln
// --------------------------------------------------------------------
// category::grid.
/*-----------------.
| category::grid. |
`-----------------*/
mlc_decl_typedef(dimvalue_type);
mlc_decl_typedef(coord_type);
// category::fun1 and category::fun2.
/*------------------------------------.
| category::fun1 and category::fun2. |
`------------------------------------*/
// --------------------------------------------------------------------
// FIXME: To be enabled later.
......@@ -162,7 +163,6 @@ namespace oln
// mlc_decl_typedef(right_type);
// --------------------------------------------------------------------
} // end of namespace oln
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment