STXXL  1.4.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
stxxl::priority_queue_local::find_B_m< E_, IntMem_, MaxItems, B_, m_, stop > Struct Template Reference

Detailed Description

template<unsigned_type E_, internal_size_type IntMem_, external_size_type MaxItems, unsigned_type B_, unsigned_type m_, bool stop = false>
struct stxxl::priority_queue_local::find_B_m< E_, IntMem_, MaxItems, B_, m_, stop >

Definition at line 858 of file priority_queue.h.

Public Types

typedef find_B_m< element_size,
IntMem, MaxItems, B, m+step,
fits||(m >=k-step)>::result 
candidate1
 
typedef find_B_m< element_size,
IntMem, MaxItems, B/2, 1, fits||candidate1::fits >
::result 
candidate2
 
typedef IF< fits, Self,
typename IF< candidate1::fits,
candidate1, candidate2 >
::result >::result 
result
 
typedef find_B_m< E_, IntMem_,
MaxItems, B_, m_, stop > 
Self
 

Static Public Attributes

static const unsigned_type B = B_
 
static const unsigned_type c = k - m_
 
static const unsigned_type element_size = E_
 
static const external_size_type fits
 
static const internal_size_type IntMem = IntMem_
 
static const unsigned_type k = IntMem_ / B_
 
static const external_size_type m = m_
 
static const unsigned_type step = 1
 

Member Typedef Documentation

template<unsigned_type E_, internal_size_type IntMem_, external_size_type MaxItems, unsigned_type B_, unsigned_type m_, bool stop = false>
typedef find_B_m<element_size, IntMem, MaxItems, B, m + step, fits || (m >= k - step)>::result stxxl::priority_queue_local::find_B_m< E_, IntMem_, MaxItems, B_, m_, stop >::candidate1

Definition at line 875 of file priority_queue.h.

template<unsigned_type E_, internal_size_type IntMem_, external_size_type MaxItems, unsigned_type B_, unsigned_type m_, bool stop = false>
typedef find_B_m<element_size, IntMem, MaxItems, B / 2, 1, fits || candidate1::fits>::result stxxl::priority_queue_local::find_B_m< E_, IntMem_, MaxItems, B_, m_, stop >::candidate2

Definition at line 876 of file priority_queue.h.

template<unsigned_type E_, internal_size_type IntMem_, external_size_type MaxItems, unsigned_type B_, unsigned_type m_, bool stop = false>
typedef IF<fits, Self, typename IF<candidate1::fits, candidate1, candidate2>::result>::result stxxl::priority_queue_local::find_B_m< E_, IntMem_, MaxItems, B_, m_, stop >::result

Definition at line 877 of file priority_queue.h.

template<unsigned_type E_, internal_size_type IntMem_, external_size_type MaxItems, unsigned_type B_, unsigned_type m_, bool stop = false>
typedef find_B_m<E_, IntMem_, MaxItems, B_, m_, stop> stxxl::priority_queue_local::find_B_m< E_, IntMem_, MaxItems, B_, m_, stop >::Self

Definition at line 860 of file priority_queue.h.

Member Data Documentation

template<unsigned_type E_, internal_size_type IntMem_, external_size_type MaxItems, unsigned_type B_, unsigned_type m_, bool stop = false>
const unsigned_type stxxl::priority_queue_local::find_B_m< E_, IntMem_, MaxItems, B_, m_, stop >::B = B_
static

Definition at line 865 of file priority_queue.h.

template<unsigned_type E_, internal_size_type IntMem_, external_size_type MaxItems, unsigned_type B_, unsigned_type m_, bool stop = false>
const unsigned_type stxxl::priority_queue_local::find_B_m< E_, IntMem_, MaxItems, B_, m_, stop >::c = k - m_
static

Definition at line 867 of file priority_queue.h.

template<unsigned_type E_, internal_size_type IntMem_, external_size_type MaxItems, unsigned_type B_, unsigned_type m_, bool stop = false>
const unsigned_type stxxl::priority_queue_local::find_B_m< E_, IntMem_, MaxItems, B_, m_, stop >::element_size = E_
static

Definition at line 863 of file priority_queue.h.

template<unsigned_type E_, internal_size_type IntMem_, external_size_type MaxItems, unsigned_type B_, unsigned_type m_, bool stop = false>
const external_size_type stxxl::priority_queue_local::find_B_m< E_, IntMem_, MaxItems, B_, m_, stop >::fits
static
Initial value:
= (c > 10) &&
(((k - m) * (m) * (m * B / (element_size * 4 * 1024))) >= MaxItems) &&
((MaxItems < ((k - m) * m / (2 * element_size)) * 1024) || m >= 128)

Definition at line 870 of file priority_queue.h.

template<unsigned_type E_, internal_size_type IntMem_, external_size_type MaxItems, unsigned_type B_, unsigned_type m_, bool stop = false>
const internal_size_type stxxl::priority_queue_local::find_B_m< E_, IntMem_, MaxItems, B_, m_, stop >::IntMem = IntMem_
static

Definition at line 864 of file priority_queue.h.

template<unsigned_type E_, internal_size_type IntMem_, external_size_type MaxItems, unsigned_type B_, unsigned_type m_, bool stop = false>
const unsigned_type stxxl::priority_queue_local::find_B_m< E_, IntMem_, MaxItems, B_, m_, stop >::k = IntMem_ / B_
static

Definition at line 862 of file priority_queue.h.

template<unsigned_type E_, internal_size_type IntMem_, external_size_type MaxItems, unsigned_type B_, unsigned_type m_, bool stop = false>
const external_size_type stxxl::priority_queue_local::find_B_m< E_, IntMem_, MaxItems, B_, m_, stop >::m = m_
static

Definition at line 866 of file priority_queue.h.

template<unsigned_type E_, internal_size_type IntMem_, external_size_type MaxItems, unsigned_type B_, unsigned_type m_, bool stop = false>
const unsigned_type stxxl::priority_queue_local::find_B_m< E_, IntMem_, MaxItems, B_, m_, stop >::step = 1
static

Definition at line 873 of file priority_queue.h.


The documentation for this struct was generated from the following file: