union object_holder { // used fields char buffer[ANY_BUFFER_SIZE]; void* pointer; // the following is just to help assure alignment boost::detail::max_align alignment_dummy_[any_buffer_elements]; };