#include <iostream>
class uint32 {
private :
int _value;
public :
uint32 ( int i) : _value( i) { }
friend const uint32 operator < ( const uint32 & left, const int & right) {
return right > static_cast < const int > ( left) ;
}
friend const uint32 operator > ( const uint32 & left, const int & right) {
return right < static_cast < const int > ( left) ;
}
friend const bool operator || ( const uint32 & left, const uint32 & right) {
return static_cast < const bool > ( left) && static_cast < const bool > ( right) ;
}
friend const uint32 & operator++ ( uint32 & i) {
i._value++ ;
return i;
}
operator int ( ) const {
return _value;
}
operator bool ( ) const {
return _value ! = 0 ;
}
} ;
#define PERM_ENCHANTMENT_SLOT 0
#define MAX_ENCHANTMENT_SLOT 15
#define PRISMATIC_ENCHANTMENT_SLOT 6
#define PROP_ENCHANTMENT_SLOT_0 10
bool IsBoundByEnchant( ) {
for ( uint32 enchant_slot = PERM_ENCHANTMENT_SLOT; enchant_slot < MAX_ENCHANTMENT_SLOT; ++ enchant_slot) {
if ( enchant_slot > PRISMATIC_ENCHANTMENT_SLOT || enchant_slot < PROP_ENCHANTMENT_SLOT_0) // not holding enchantment id
continue ;
std:: cout << "We are here! enchant_slot = " << ( int ) enchant_slot << std:: endl ;
}
return false ;
}
int main( ) {
( void ) IsBoundByEnchant( ) ;
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKY2xhc3MgdWludDMyIHsKcHJpdmF0ZToKICAgIGludCBfdmFsdWU7CnB1YmxpYzoKICAgIHVpbnQzMihpbnQgaSk6IF92YWx1ZShpKSB7fQoKICAgIGZyaWVuZCBjb25zdCB1aW50MzIgb3BlcmF0b3IgPCAoY29uc3QgdWludDMyJiBsZWZ0LCBjb25zdCBpbnQmIHJpZ2h0KSB7CiAgICAgICAgcmV0dXJuIHJpZ2h0ID4gc3RhdGljX2Nhc3Q8Y29uc3QgaW50PihsZWZ0KTsKICAgIH0KCiAgICBmcmllbmQgY29uc3QgdWludDMyIG9wZXJhdG9yID4gKGNvbnN0IHVpbnQzMiYgbGVmdCwgY29uc3QgaW50JiByaWdodCkgewogICAgICAgIHJldHVybiByaWdodCA8IHN0YXRpY19jYXN0PGNvbnN0IGludD4obGVmdCk7CiAgICB9CgogICAgZnJpZW5kIGNvbnN0IGJvb2wgb3BlcmF0b3IgfHwgKGNvbnN0IHVpbnQzMiYgbGVmdCwgY29uc3QgdWludDMyJiByaWdodCkgewogICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBib29sPihsZWZ0KSAmJiBzdGF0aWNfY2FzdDxjb25zdCBib29sPihyaWdodCk7CiAgICB9CgogICAgZnJpZW5kIGNvbnN0IHVpbnQzMiYgb3BlcmF0b3IrKyh1aW50MzImIGkpIHsKICAgICAgICBpLl92YWx1ZSsrOwogICAgICAgIHJldHVybiBpOwogICAgfQoKICAgIG9wZXJhdG9yIGludCgpIGNvbnN0IHsKICAgICAgICByZXR1cm4gX3ZhbHVlOwogICAgfQoKICAgIG9wZXJhdG9yIGJvb2woKSBjb25zdCB7CiAgICAgICAgcmV0dXJuIF92YWx1ZSAhPSAwOwogICAgfQoKfTsKCiNkZWZpbmUgUEVSTV9FTkNIQU5UTUVOVF9TTE9UIDAKI2RlZmluZSBNQVhfRU5DSEFOVE1FTlRfU0xPVCAxNQojZGVmaW5lIFBSSVNNQVRJQ19FTkNIQU5UTUVOVF9TTE9UIDYKI2RlZmluZSBQUk9QX0VOQ0hBTlRNRU5UX1NMT1RfMCAxMAoKYm9vbCBJc0JvdW5kQnlFbmNoYW50KCkgewogICAgZm9yICh1aW50MzIgZW5jaGFudF9zbG90ID0gUEVSTV9FTkNIQU5UTUVOVF9TTE9UOyBlbmNoYW50X3Nsb3QgPCBNQVhfRU5DSEFOVE1FTlRfU0xPVDsgKytlbmNoYW50X3Nsb3QpIHsKICAgICAgICBpZiAoZW5jaGFudF9zbG90ID4gUFJJU01BVElDX0VOQ0hBTlRNRU5UX1NMT1QgfHwgZW5jaGFudF9zbG90IDwgUFJPUF9FTkNIQU5UTUVOVF9TTE9UXzApICAgIC8vIG5vdCBob2xkaW5nIGVuY2hhbnRtZW50IGlkCiAgICAgICAgICAgIGNvbnRpbnVlOwoKICAgICAgICBzdGQ6OmNvdXQgPDwgIldlIGFyZSBoZXJlISBlbmNoYW50X3Nsb3QgPSAiIDw8IChpbnQpZW5jaGFudF9zbG90IDw8IHN0ZDo6ZW5kbDsKCiAgICB9CgogICAgcmV0dXJuIGZhbHNlOwp9CgppbnQgbWFpbigpIHsKICAgICh2b2lkKUlzQm91bmRCeUVuY2hhbnQoKTsKICAgIHJldHVybiAwOwp9Cg==