本文整理汇总了C++中Customer::get_generator_id方法的典型用法代码示例。如果您正苦于以下问题:C++ Customer::get_generator_id方法的具体用法?C++ Customer::get_generator_id怎么用?C++ Customer::get_generator_id使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Customer
的用法示例。
在下文中一共展示了Customer::get_generator_id方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: while
static FlightTicket *sell_ticket( InternetSeller *self ) {
Customer *customer = self->queue.dequeue();
FlightTicket *ticket;
bool bought = false;
int i = 0;
while ( !bought && i < NUM_OF_AIRLINES ) {
do {
Airlines *airline = *( self->airlines + i );
ticket = airline->get_first_free_seat( customer->get_source(),
customer->get_destination() );
if ( ticket == NULL )
// This airline either doesn't provide any flight on this course,
// or all of them are already completely sold.
break;
#ifdef BUG
if ( ticket->is_free() ) {
ticket->buy( customer->get_id() );
customer->set_ticket( ticket );
++self->sold;
bought = true;
}
#else // correct:
if ( ticket->buy_with_check( customer->get_id() ) ) { // atomic test & set
customer->set_ticket( ticket );
++self->sold;
bought = true;
}
#endif
if ( bought ) {
info( "Customer ID = ",
customer->get_generator_id(), "/", customer->get_id(),
" bought a seat with the number ", ticket->get_position(),
" in a flight from ", ticket->get_source(),
" to ", ticket->get_destination(),
" provided by the airlines ID = ", airline->get_id(), "." );
}
} while ( !bought );
++i;
}
if ( !bought ) {
assert( ticket == NULL );
info( "Failed to find a ticket for the customer ID = ",
customer->get_generator_id(), "/", customer->get_id(), "." );
}
return ticket;
}