dlib C++ Library - queue_sort_abstract.h

// Copyright (C) 2003 Davis E. King (davis@dlib.net)
// License: Boost Software License See LICENSE.txt for the full license.
#undef DLIB_QUEUE_SORt_ABSTRACT_
#ifdef DLIB_QUEUE_SORt_ABSTRACT_
#include "queue_kernel_abstract.h"
namespace dlib
{
 template <
 typename queue_base
 >
 class queue_sort : public queue_base
 {
 /*!
 REQUIREMENTS ON QUEUE_BASE
 - is an implementation of queue/queue_kernel_abstract.h
 - queue_base::type must be a type with that is comparable via operator<
 POINTERS AND REFERENCES TO INTERNAL DATA
 sort() may invalidate pointers and references to internal data.
 WHAT THIS EXTENSION DOES FOR QUEUE
 This gives a queue the ability to sort its contents by calling sort().
 !*/
 public:
 void sort (
 );
 /*!
 ensures
 - for all elements in #*this the ith element is <= the i+1 element
 - #at_start() == true
 throws
 - std::bad_alloc or any exception thrown by T's constructor
 data may be lost if sort() throws
 !*/
 template <typename compare_type>
 void sort (
 const compare_type& compare
 );
 /*!
 ensures
 - for all elements in #*this the ith element is <= the i+1 element
 - uses compare(a,b) as the < operator. So if compare(a,b) == true
 then a comes before b in the resulting ordering. 
 - #at_start() == true
 throws
 - std::bad_alloc or any exception thrown by T's constructor
 data may be lost if sort() throws
 !*/
 };
 template <
 template queue_base
 >
 inline void swap (
 queue_sort<queue_base>& a, 
 queue_sort<queue_base>& b 
 ) { a.swap(b); } 
 /*!
 provides a global swap function
 !*/
}
#endif // DLIB_QUEUE_SORt_ABSTRACT_

AltStyle によって変換されたページ (->オリジナル) /