/*#ifndef BODY_PART_T #define BODY_PART_T */ #pragma once #include #include const std::string BODY_PART_NAMES[]{"body", "head", "leg", "eye", "antenna", "tail", "none"}; enum class BodyPartT : unsigned char {BODY, HEAD, LEG, EYE, ANTENNA, TAIL, NONE}; const size_t BODY_PART_COUNT {static_cast(BodyPartT::NONE)}; const BodyPartT FIRST_BODY_PART{BodyPartT::BODY}; // this would work, but I don't like it. // const BodyPartT FIRST_PART{static_cast(0)}; std::string BodyPartTToString(BodyPartT b); std::ostream & operator << (std::ostream & s, const BodyPartT & b); BodyPartT operator ++(BodyPartT & b); // ++i BodyPartT operator ++(BodyPartT & b, int); // i++ // BodyPartT i; // // for(i = FIRST_BODY_PART; i < BodyPartT::NONE; ++i) { // cout << i << endl; // } //#endif