PFUNC 1.0
Public Types | Public Member Functions | Static Public Attributes | Private Attributes
pfunc::space_1D Struct Reference

#include <pfunc/space_1D.hpp>

List of all members.

Public Types

typedef std::vector< space_1Dsubspace_container

Public Member Functions

 space_1D (const size_t space_begin, const size_t space_end)
size_t begin () const
size_t end () const
bool can_split () const
subspace_container split () const
void pretty_print () const

Static Public Attributes

static size_t base_case_size = 100
static const size_t arity = 2
static const size_t dimension = 1

Private Attributes

size_t space_begin
size_t space_end
bool splittable

Detailed Description

A structure that implements a 1-D iteration space --- [begin, end). It is a model of the interface Space (see Space.concept.ipp)


Member Typedef Documentation

Container type


Constructor & Destructor Documentation

pfunc::space_1D::space_1D ( const size_t  space_begin,
const size_t  space_end 
) [inline]

Constructor.

Parameters:
[in]beginBeginning of the iteration space.
[in]endEnd of the iteration space.

Member Function Documentation

size_t pfunc::space_1D::begin ( ) const [inline]

Get the beginning of the iteration space.

Returns:
Beginning of the iteration space.
bool pfunc::space_1D::can_split ( ) const [inline]

Check if the space is splittable

Returns:
true iff splittable, false otherwise.
size_t pfunc::space_1D::end ( ) const [inline]

Get the end of the iteration space.

Returns:
End of the iteration space.
void pfunc::space_1D::pretty_print ( ) const [inline]

Pretty print

subspace_container pfunc::space_1D::split ( ) const [inline]

Split the current space into two pieces and return an iterator pair that gives the right and the left subspaces.

Returns:
A pair of iterators [begin, end) that will point to the split subspaces.

Member Data Documentation

const size_t pfunc::space_1D::arity = 2 [static]

Number of ways in which a space is split

size_t pfunc::space_1D::base_case_size = 100 [static]

Default which we will over-ride

Initialize base_case_size to something sensible.

const size_t pfunc::space_1D::dimension = 1 [static]

Dimensionality of the space

size_t pfunc::space_1D::space_begin [private]

Beginning of the iteration space

size_t pfunc::space_1D::space_end [private]

End of the iteration space

Shortcut that tells us if we are splittable


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