// /*-------------------------------------------------------------------*\
// | Abstract Template : Fixed_Length_Bit_String_NOT
// \*-------------------------------------------------------------------*/
#ifndef AT_FIXED_LENGTH_BIT_STRING_NOT
#define AT_FIXED_LENGTH_BIT_STRING_NOT 1
///------------------------------------------------------------------------
/// Global Context --------------------------------------------------------
///------------------------------------------------------------------------
#include "AT/Fixed_Length_Bit_String/Kernel.h"
///------------------------------------------------------------------------
/// Interface -------------------------------------------------------------
///------------------------------------------------------------------------
abstract_template <
Integer_constant String_Length
/*!
satisfies restriction
String_Length > 0
!*/
>
class Fixed_Length_Bit_String_Not :
extends
abstract_instance Fixed_Length_Bit_String_Kernel <String_Length>
{
public:
/*!
math definition NOT (
b: BIT
): BIT
satisfies
NOT (0) = 1 and
NOT (1) = 0
!*/
procedure Not () is_abstract;
/*!
ensures
for all p: BIT_POSITION
(BIT_VALUE_AT (self, p) = NOT (BIT_VALUE_AT (#self, p))
!*/
};
#endif // AT_FIXED_LENGTH_BIT_STRING_NOT
Last modified: Wed Aug 27 14:43:39 EDT 2008