#include <iostream>
using namespace std;

class Foo {
private:
    uint32_t m_time;
    uint32_t m_big : 20;
    uint32_t m_small : 10;
    uint32_t m_isblue : 1;
    uint32_t m_isnice : 1;
public:
    Foo(uint32_t t, uint32_t big, uint16_t small, bool is_blue, bool is_nice)
        : m_time(t), m_big(big), m_small(small), m_isblue(is_blue), m_isnice(is_nice)
    { }

    uint32_t get_time()  const { return m_time; }
    uint32_t get_big()   const { return m_big; }
    uint16_t get_small() const { return m_small; }
    uint16_t is_blue()   const { return m_isblue; }
    uint16_t is_nice()   const { return m_isnice; }
};

int main() {
	Foo a{1032, 777777, 1023, 0, 1};
	cout<< a.get_time()<<", "<<a.get_big()<<", "<<a.get_small()<<", "<<a.is_blue()<<", "<<a.is_nice()<<endl; 
	cout <<"Size of Foo: "<< sizeof (Foo)<<", size of 2 unint_32t: "<<2*sizeof(uint32_t)<<endl;
	return 0;
}