#include #include // define a byte container based on std::vector using byte_container_with_subtype = nlohmann::byte_container_with_subtype>; int main() { std::vector bytes = {{0xca, 0xfe, 0xba, 0xbe}}; // create container auto c1 = byte_container_with_subtype(bytes); // create container with subtype auto c2 = byte_container_with_subtype(bytes, 42); std::cout << "c1.subtype() = " << c1.subtype() << "\nc2.subtype() = " << c2.subtype() << std::endl; // in case no subtype is set, return special value assert(c1.subtype() == static_cast(-1)); }