// /*-------------------------------------------------------------------*\
// | Concrete Template : Natural_IO_C
// \*-------------------------------------------------------------------*/
#ifndef CT_NATURAL_IO_C
#define CT_NATURAL_IO_C 1
///------------------------------------------------------------------------
/// Global Context --------------------------------------------------------
///------------------------------------------------------------------------
/*!
#include "AI/Natural/IO.h"
#include "AT/General/Get_From.h"
#include "AT/General/Put_To.h"
!*/
///------------------------------------------------------------------------
/// Interface -------------------------------------------------------------
///------------------------------------------------------------------------
concrete_template <
concrete_instance class Natural_IO_Base
/*!
implements
abstract_instance Get_From <Natural_Kernel>
abstract_instance Put_To <Natural_Kernel>
!*/
>
class Natural_IO_C :
checks
concrete_instance Natural_IO_Base
{
public:
procedure_body Get_From (
alters Character_IStream& str
)
{
assert (str.Is_Open (),
"str.is_open = true");
assert (not str.At_EOS (),
"str.content /= empty_string");
self.Natural_IO_Base::Get_From (str);
}
procedure_body Put_To (
alters Character_OStream& str
)
{
assert (str.Is_Open (),
"str.is_open = true");
self.Natural_IO_Base::Put_To (str);
}
};
#endif // CT_NATURAL_IO_C
Last modified: Thu Jan 11 17:05:57 EST 2007