See More

#include namespace xcppb { void setup::print( std::ostream &os ) const { os << " Protocol major version: " << +generic_setup.get< data::protocol_major_version >() << "\n" << " Protocol minor version: " << +generic_setup.get< data::protocol_minor_version >() << "\n" << " Release number : " << +setup_.get< data::release_number >() << "\n" << " resource id base : " << +setup_.get< data::resource_id_base >() << "\n" << " resource id mask : " << +setup_.get< data::resource_id_mask >() << "\n" << " Motion buffer size : " << +setup_.get< data::motion_buffer_size >() << "\n" << " Vendor length : " << +setup_.get< data::vendor_len >() << "\n" << " Maximum request : " << +setup_.get< data::maximum_request_length >() << "\n" << " Image byte order : " << +setup_.get< data::image_byte_order >() << "\n" << " Bitmap bit order : " << +setup_.get< data::bitmap_format_bit_order >() << "\n" << " Bitmap unit : " << +setup_.get< data::bitmap_format_scanline_unit >() << "\n" << " Bitmap padding : " << +setup_.get< data::bitmap_format_scanline_pad >() << "\n" << " Keycode range : " << +setup_.get< data::min_keycode >() << " " << +setup_.get< data::max_keycode >() << "\n" << " Vendor : " << vendor << "\n"; //<< " Number of formats : " << formats.size() << "\n" //<< " Number of screens : " << screens.size() << "\n"; os << "\n Formats:\n"; unsigned i( 0 ); for( std::vector::const_iterator itr( formats.begin() ); itr != formats.end(); ++itr, ++i ) { os << "\t" << i+1 << ": " << *itr << "\n"; } os << "\n Screens:\n"; i = 0; for( std::vector::const_iterator itr( screens.begin() ); itr != screens.end(); ++itr, ++i ) { os << "\t" << i+1 << ": "<< *itr << "\n"; } //std::copy( formats.begin(), formats.end(), std::ostream_iterator( os, " " ) ); } std::ostream &operator<< ( std::ostream& os, const xcppb::setup &s ) { s.print( os ); return os; } } // end namespace xcppb