#ifndef BOOST_PREPROCESSOR_LOGICAL_BOOL_HPP
#define BOOST_PREPROCESSOR_LOGICAL_BOOL_HPP

//  Copyright (C) 2001
//  Housemarque, Inc.
//  http://www.housemarque.com
//  
//  Permission to copy, use, modify, sell and distribute this software is
//  granted provided this copyright notice appears in all copies. This
//  software is provided "as is" without express or implied warranty, and
//  with no claim as to its suitability for any purpose.

//  See http://www.boost.org for most recent version.

/*! \file

<a href="../../../../boost/preprocessor/logical/bool.hpp">Click here to see the header.</a>
*/

//! Expands to 0 if X == 0 and 1 if X != 0. 
#define BOOST_PREPROCESSOR_BOOL(X) BOOST_PREPROCESSOR_BOOL_DELAY(X)

#ifndef DOXYGEN_SHOULD_SKIP_THIS
//  BOOL can be implemented in O(1) tokens using saturated ADD & SUB.
//  Unfortunately, it would result in significantly slower preprocessing.
#define BOOST_PREPROCESSOR_BOOL_DELAY(X) BOOST_PREPROCESSOR_BOOL##X
#define BOOST_PREPROCESSOR_BOOL0 0
#define BOOST_PREPROCESSOR_BOOL1 1
#define BOOST_PREPROCESSOR_BOOL2 1
#define BOOST_PREPROCESSOR_BOOL3 1
#define BOOST_PREPROCESSOR_BOOL4 1
#define BOOST_PREPROCESSOR_BOOL5 1
#define BOOST_PREPROCESSOR_BOOL6 1
#define BOOST_PREPROCESSOR_BOOL7 1
#define BOOST_PREPROCESSOR_BOOL8 1
#define BOOST_PREPROCESSOR_BOOL9 1
#define BOOST_PREPROCESSOR_BOOL10 1
#define BOOST_PREPROCESSOR_BOOL11 1
#define BOOST_PREPROCESSOR_BOOL12 1
#define BOOST_PREPROCESSOR_BOOL13 1
#define BOOST_PREPROCESSOR_BOOL14 1
#define BOOST_PREPROCESSOR_BOOL15 1
#define BOOST_PREPROCESSOR_BOOL16 1
#define BOOST_PREPROCESSOR_BOOL17 1
#define BOOST_PREPROCESSOR_BOOL18 1
#define BOOST_PREPROCESSOR_BOOL19 1
#define BOOST_PREPROCESSOR_BOOL20 1
#define BOOST_PREPROCESSOR_BOOL21 1
#define BOOST_PREPROCESSOR_BOOL22 1
#define BOOST_PREPROCESSOR_BOOL23 1
#define BOOST_PREPROCESSOR_BOOL24 1
#define BOOST_PREPROCESSOR_BOOL25 1
#define BOOST_PREPROCESSOR_BOOL26 1
#define BOOST_PREPROCESSOR_BOOL27 1
#define BOOST_PREPROCESSOR_BOOL28 1
#define BOOST_PREPROCESSOR_BOOL29 1
#define BOOST_PREPROCESSOR_BOOL30 1
#define BOOST_PREPROCESSOR_BOOL31 1
#define BOOST_PREPROCESSOR_BOOL32 1
#define BOOST_PREPROCESSOR_BOOL33 1
#define BOOST_PREPROCESSOR_BOOL34 1
#define BOOST_PREPROCESSOR_BOOL35 1
#define BOOST_PREPROCESSOR_BOOL36 1
#define BOOST_PREPROCESSOR_BOOL37 1
#define BOOST_PREPROCESSOR_BOOL38 1
#define BOOST_PREPROCESSOR_BOOL39 1
#define BOOST_PREPROCESSOR_BOOL40 1
#define BOOST_PREPROCESSOR_BOOL41 1
#define BOOST_PREPROCESSOR_BOOL42 1
#define BOOST_PREPROCESSOR_BOOL43 1
#define BOOST_PREPROCESSOR_BOOL44 1
#define BOOST_PREPROCESSOR_BOOL45 1
#define BOOST_PREPROCESSOR_BOOL46 1
#define BOOST_PREPROCESSOR_BOOL47 1
#define BOOST_PREPROCESSOR_BOOL48 1
#define BOOST_PREPROCESSOR_BOOL49 1
#define BOOST_PREPROCESSOR_BOOL50 1
#define BOOST_PREPROCESSOR_BOOL51 1
#define BOOST_PREPROCESSOR_BOOL52 1
#define BOOST_PREPROCESSOR_BOOL53 1
#define BOOST_PREPROCESSOR_BOOL54 1
#define BOOST_PREPROCESSOR_BOOL55 1
#define BOOST_PREPROCESSOR_BOOL56 1
#define BOOST_PREPROCESSOR_BOOL57 1
#define BOOST_PREPROCESSOR_BOOL58 1
#define BOOST_PREPROCESSOR_BOOL59 1
#define BOOST_PREPROCESSOR_BOOL60 1
#define BOOST_PREPROCESSOR_BOOL61 1
#define BOOST_PREPROCESSOR_BOOL62 1
#define BOOST_PREPROCESSOR_BOOL63 1
#define BOOST_PREPROCESSOR_BOOL64 1
#define BOOST_PREPROCESSOR_BOOL65 1
#define BOOST_PREPROCESSOR_BOOL66 1
#define BOOST_PREPROCESSOR_BOOL67 1
#define BOOST_PREPROCESSOR_BOOL68 1
#define BOOST_PREPROCESSOR_BOOL69 1
#define BOOST_PREPROCESSOR_BOOL70 1
#define BOOST_PREPROCESSOR_BOOL71 1
#define BOOST_PREPROCESSOR_BOOL72 1
#define BOOST_PREPROCESSOR_BOOL73 1
#define BOOST_PREPROCESSOR_BOOL74 1
#define BOOST_PREPROCESSOR_BOOL75 1
#define BOOST_PREPROCESSOR_BOOL76 1
#define BOOST_PREPROCESSOR_BOOL77 1
#define BOOST_PREPROCESSOR_BOOL78 1
#define BOOST_PREPROCESSOR_BOOL79 1
#define BOOST_PREPROCESSOR_BOOL80 1
#define BOOST_PREPROCESSOR_BOOL81 1
#define BOOST_PREPROCESSOR_BOOL82 1
#define BOOST_PREPROCESSOR_BOOL83 1
#define BOOST_PREPROCESSOR_BOOL84 1
#define BOOST_PREPROCESSOR_BOOL85 1
#define BOOST_PREPROCESSOR_BOOL86 1
#define BOOST_PREPROCESSOR_BOOL87 1
#define BOOST_PREPROCESSOR_BOOL88 1
#define BOOST_PREPROCESSOR_BOOL89 1
#define BOOST_PREPROCESSOR_BOOL90 1
#define BOOST_PREPROCESSOR_BOOL91 1
#define BOOST_PREPROCESSOR_BOOL92 1
#define BOOST_PREPROCESSOR_BOOL93 1
#define BOOST_PREPROCESSOR_BOOL94 1
#define BOOST_PREPROCESSOR_BOOL95 1
#define BOOST_PREPROCESSOR_BOOL96 1
#define BOOST_PREPROCESSOR_BOOL97 1
#define BOOST_PREPROCESSOR_BOOL98 1
#define BOOST_PREPROCESSOR_BOOL99 1
#define BOOST_PREPROCESSOR_BOOL100 1
#define BOOST_PREPROCESSOR_BOOL101 1
#define BOOST_PREPROCESSOR_BOOL102 1
#define BOOST_PREPROCESSOR_BOOL103 1
#define BOOST_PREPROCESSOR_BOOL104 1
#define BOOST_PREPROCESSOR_BOOL105 1
#define BOOST_PREPROCESSOR_BOOL106 1
#define BOOST_PREPROCESSOR_BOOL107 1
#define BOOST_PREPROCESSOR_BOOL108 1
#define BOOST_PREPROCESSOR_BOOL109 1
#define BOOST_PREPROCESSOR_BOOL110 1
#define BOOST_PREPROCESSOR_BOOL111 1
#define BOOST_PREPROCESSOR_BOOL112 1
#define BOOST_PREPROCESSOR_BOOL113 1
#define BOOST_PREPROCESSOR_BOOL114 1
#define BOOST_PREPROCESSOR_BOOL115 1
#define BOOST_PREPROCESSOR_BOOL116 1
#define BOOST_PREPROCESSOR_BOOL117 1
#define BOOST_PREPROCESSOR_BOOL118 1
#define BOOST_PREPROCESSOR_BOOL119 1
#define BOOST_PREPROCESSOR_BOOL120 1
#define BOOST_PREPROCESSOR_BOOL121 1
#define BOOST_PREPROCESSOR_BOOL122 1
#define BOOST_PREPROCESSOR_BOOL123 1
#define BOOST_PREPROCESSOR_BOOL124 1
#define BOOST_PREPROCESSOR_BOOL125 1
#define BOOST_PREPROCESSOR_BOOL126 1
#define BOOST_PREPROCESSOR_BOOL127 1
#define BOOST_PREPROCESSOR_BOOL128 1
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
#endif
