#ifndef EC_BITSET_HPP #define EC_BITSET_HPP #include #include "Meta/TypeList.hpp" #include "Meta/Combine.hpp" #include "Meta/IndexOf.hpp" namespace EC { template struct Bitset : public std::bitset { using Combined = EC::Meta::Combine; template constexpr auto getComponentBit() { return (*this)[EC::Meta::IndexOf::value]; } template constexpr auto getTagBit() { return (*this)[EC::Meta::IndexOf::value]; } template static constexpr Bitset generateBitset() { //TODO Bitset bitset; /* for(unsigned int i = 0; i < Contents::size; ++i) { if(EC::Meta::Contains, Combined>::value) { bitset[EC::Meta::IndexOf, Combined>::value] = true; } } */ return bitset; } }; } #endif