1 /** @file 2 Provides alternative "spellings" for several C operators. 3 4 The header <iso646.h> defines the following eleven macros (on the left) that expand 5 to the corresponding tokens (on the right). 6 7 Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR> 8 This program and the accompanying materials are licensed and made available under 9 the terms and conditions of the BSD License that accompanies this distribution. 10 The full text of the license may be found at 11 http://opensource.org/licenses/bsd-license. 12 13 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 14 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 15 **/ 16 #ifndef _ISO646_H 17 #define _ISO646_H 18 #include <sys/EfiCdefs.h> 19 20 #define and && ///< Logical AND of two boolean expressions 21 #define and_eq &= ///< Bitwise AND with assignment to lval 22 #define bitand & ///< Bitwise AND of two scalar expressions 23 #define bitor | ///< Bitwise OR of two scalar expressions 24 #define compl ~ ///< Binary complement 25 #define not ! ///< Logical complement of a boolean expression 26 #define not_eq != ///< Not-equal comparison 27 #define or || ///< Logical OR of two boolean expressions 28 #define or_eq |= ///< Bitwise OR with assignment to lval 29 #define xor ^ ///< Exclusive OR 30 #define xor_eq ^= ///< Exclusive OR with assignment to lval 31 32 #endif /* _ISO646_H */ 33