STAPL API Reference |
Modules Classes |
Utility classes and variables. More...
Classes | |
struct | stapl::affinity_tag |
Describes the affinity of a location. More... | |
class | stapl::exit_code |
Class to return exit codes from STAPL applications. More... | |
class | stapl::function< Signature > |
A general-purpose polymorphic function wrapper. More... | |
class | stapl::future< T > |
Provides a mechanism to access the result of asynchronous operations. More... | |
class | stapl::futures< T > |
Provides a mechanism to access the result of asynchronous operations. More... | |
class | stapl::immutable_range_wrapper< Iterator, T > |
Wraps a reference to a temporarily immutable range of objects. More... | |
class | stapl::immutable_reference_wrapper< T, bool > |
Wraps a reference to a temporarily immutable object. More... | |
class | stapl::immutable_shared< T, bool > |
Describes an immutable object. More... | |
class | stapl::lazy_reference_wrapper< T > |
std::reference_wrapper -like class for distributed objects. More... | |
class | stapl::location_range_wrapper< T > |
Range of location ids. More... | |
class | stapl::location_specific_storage< T > |
Supports global objects in the presence of locations. More... | |
class | stapl::main_wf |
Function object that is used with execute() to initiate a STAPL application. More... | |
class | stapl::pointer_wrapper< T, bool > |
std::reference_wrapper -like class for pointers to objects. More... | |
class | stapl::promise< R > |
Provides a means of setting a result asynchronously, which may be retrieved through an instance of future. More... | |
class | stapl::random_location_generator |
Random location id generator. More... | |
class | stapl::range_wrapper< Iterator, typename > |
Describes a range of const objects. More... | |
class | stapl::option |
Used to create a list of options. More... | |
class | stapl::pool_allocator< T, N > |
Pool backed allocator. More... | |
class | stapl::watchdog_timer |
Allows the creation of a watchdog timer that invokes the given function every interval milliseconds. More... | |
Macros | |
#define | stapl_assert(E, M) |
Ensures the given input condition is true. More... | |
#define | stapl_warning(E, M) |
Ensures the given input condition is true. More... | |
Typedefs | |
template<typename T > | |
using | stapl::object_pointer_wrapper = pointer_wrapper< T, false > |
pointer_wrapper when it is known that T is not a distributed object. | |
template<typename T > | |
using | stapl::p_object_pointer_wrapper = pointer_wrapper< T, true > |
pointer_wrapper when it is known that T is a distributed object. | |
Functions | |
template<typename T , typename = typename std::enable_if<!std::is_reference<T>::value>::type> | |
location_range_wrapper< typename std::decay< T >::type > | stapl::location_range (T &&t) |
Returns a location_range_wrapper from t . | |
template<typename T > | |
location_range_wrapper< T const & > | stapl::location_range (T &t) |
Returns a location_range_wrapper from t . More... | |
template<typename InputIterator > | |
immutable_range_wrapper< InputIterator > | make_immutable_range (InputIterator first, InputIterator last) noexcept |
Creates a wrapper over the immutable range [first, last) . More... | |
template<typename InputIterator , typename Size > | |
immutable_range_wrapper< InputIterator > | make_immutable_range_n (InputIterator first, const Size count) noexcept |
Creates a wrapper over the immutable range [first, first + n) . More... | |
template<typename T > | |
immutable_reference_wrapper< T > | immutable_ref (T const &t) |
Creates an immutable reference to t . More... | |
template<typename T , typename... Args> | |
immutable_shared< T > | make_immutable_shared (Args &&... args) |
Constructs an immutable object of type T . More... | |
template<typename T > | |
T * | get_pointer (lazy_reference_wrapper< T > const &r) |
Returns a pointer to the distributed object referenced by r . More... | |
template<typename T > | |
std::conditional< is_p_object< T >::value, lazy_reference_wrapper< T >, std::reference_wrapper< T > >::type | lazy_ref (T &t) |
Helper functions that creates an object of type lazy_reference_wrapper if T is a distributed object, otherwise an object of type std::reference_wrapper . | |
template<typename T > | |
std::conditional< is_p_object< T >::value, lazy_reference_wrapper< const T >, std::reference_wrapper< const T > >::type | lazy_cref (T const &t) |
Helper function that creates an object of type lazy_reference_wrapper if T is a distributed object, otherwise an object of type std::reference_wrapper . | |
template<typename T > | |
T * | get_pointer (pointer_wrapper< T > const &r) |
Returns a pointer to the object through pointer_wrapper. More... | |
template<typename T > | |
pointer_wrapper< T > | pointer (T *const t) |
Helper functions that creates an object of type pointer_wrapper. | |
template<typename T > | |
pointer_wrapper< const T > | cpointer (T *const t) |
Helper function that creates an object of type pointer_wrapper. | |
template<typename InputIterator > | |
range_wrapper< InputIterator > | make_range (InputIterator first, InputIterator last) noexcept |
Creates a wrapper over the range [first, last) . More... | |
template<typename InputIterator , typename Size > | |
range_wrapper< InputIterator > | make_range_n (InputIterator first, const Size count) noexcept |
Creates a wrapper over the range [first, first + n) . More... | |
Variables | |
constexpr affinity_tag | stapl::invalid_affinity_tag |
Invalid affinity tag. More... | |
Utility classes and variables.
#define stapl_assert | ( | E, | |
M | |||
) |
Ensures the given input condition is true.
If E
is true
, nothing happens, otherwise the error message M
is printed and the program aborts.
#define stapl_warning | ( | E, | |
M | |||
) |
Ensures the given input condition is true.
If E
is true
, nothing happens, otherwise the warning message M
is printed.
location_range_wrapper<T const&> stapl::location_range | ( | T & | t | ) |
Returns a location_range_wrapper from t
.
t
will be alive when the location_range_wrapper is used.
|
related |
Creates a wrapper over the immutable range [first, last)
.
An immutable range of objects may be passed by reference during communication.
|
related |
Creates a wrapper over the immutable range [first, first + n)
.
An immutable range of objects may be passed by reference during communication.
|
related |
Creates an immutable reference to t
.
An immutable reference may pass the object by reference during shared memory communication, avoiding any potential copies.
|
related |
Constructs an immutable object of type T
.
Immutable objects may be passed by reference when communication happens in shared memory.
The object can never be mutated and it is deleted when the last immutable_shared is destroyed.
|
related |
Returns a pointer to the distributed object referenced by r
.
This function is required for interoperability with boost::bind()
.
|
related |
Returns a pointer to the object through pointer_wrapper.
This function is required for interoperability with boost::bind()
.
|
related |
Creates a wrapper over the range [first, last)
.
Upon communication, a copy of the elements in the range is given to the callee.
|
related |
Creates a wrapper over the range [first, first + n)
.
Upon communication, a copy of the elements in the range is given to the callee.
constexpr affinity_tag stapl::invalid_affinity_tag |
Invalid affinity tag.