Resolve/C++ Catalog
AT/Fixed_Length_Bit_String/Logic.h
Copyright © 2010, Reusable Software Research Group, The Ohio State University

//  /*-------------------------------------------------------------------*\
//  |   Abstract Template : Fixed_Length_Bit_String_Logic
//  \*-------------------------------------------------------------------*/

#ifndef AT_FIXED_LENGTH_BIT_STRING_LOGIC
#define AT_FIXED_LENGTH_BIT_STRING_LOGIC 1

///------------------------------------------------------------------------
/// Global Context --------------------------------------------------------
///------------------------------------------------------------------------

#include "AT/Fixed_Length_Bit_String/Kernel.h"
#include "AT/Fixed_Length_Bit_String/And.h"
#include "AT/Fixed_Length_Bit_String/Or.h"
#include "AT/Fixed_Length_Bit_String/Exclusive_Or.h"
#include "AT/Fixed_Length_Bit_String/Not.h"
#include "AT/Fixed_Length_Bit_String/Shift_Left.h"
#include "AT/Fixed_Length_Bit_String/Shift_Right.h"

///------------------------------------------------------------------------
/// Interface -------------------------------------------------------------
///------------------------------------------------------------------------

abstract_template <
        Integer_constant String_Length,
        /*!
	    satisfies restriction
	        String_Length > 0
	!*/
        concrete_instance class T
        /*!
	    implements
	        abstract_instance Fixed_Length_Bit_String_Kernel <
		        String_Length
		    >
	!*/
    >
class Fixed_Length_Bit_String_Logic :
    extends
        abstract_instance Fixed_Length_Bit_String_Kernel
                              <String_Length>,
    extends
        abstract_instance Fixed_Length_Bit_String_And
                              <String_Length, T>,
    extends
	abstract_instance Fixed_Length_Bit_String_Or
                              <String_Length, T>,
    extends
	abstract_instance Fixed_Length_Bit_String_Exclusive_Or
                              <String_Length, T>,
    extends
	abstract_instance Fixed_Length_Bit_String_Not
                              <String_Length>,
    extends
	abstract_instance Fixed_Length_Bit_String_Shift_Left
                              <String_Length>,
    extends
	abstract_instance Fixed_Length_Bit_String_Shift_Right
                              <String_Length>
{};

#endif // AT_FIXED_LENGTH_BIT_STRING_LOGIC

Last modified: Wed Aug 27 14:43:39 EDT 2008