Legion Runtime
 All Classes Namespaces Files Functions Variables Typedefs Macros Pages
Public Member Functions | List of all members
Legion::ArgumentMap Class Reference

#include <legion.h>

Inheritance diagram for Legion::ArgumentMap:
Legion::Unserializable< ArgumentMap >

Public Member Functions

 ArgumentMap (const FutureMap &rhs)
 
 ArgumentMap (const ArgumentMap &rhs)
 
 ArgumentMap (ArgumentMap &&rhs)
 
ArgumentMapoperator= (const FutureMap &rhs)
 
ArgumentMapoperator= (const ArgumentMap &rhs)
 
ArgumentMapoperator= (ArgumentMap &&rhs)
 
bool operator== (const ArgumentMap &rhs) const
 
bool operator< (const ArgumentMap &rhs) const
 
bool has_point (const DomainPoint &point)
 
void set_point (const DomainPoint &point, const UntypedBuffer &arg, bool replace=true)
 
void set_point (const DomainPoint &point, const Future &f, bool replace=true)
 
bool remove_point (const DomainPoint &point)
 
UntypedBuffer get_point (const DomainPoint &point) const
 
template<typename PT , unsigned DIM>
void set_point_arg (const PT point[DIM], const UntypedBuffer &arg, bool replace=false)
 
template<typename PT , unsigned DIM>
bool remove_point (const PT point[DIM])
 
- Public Member Functions inherited from Legion::Unserializable< ArgumentMap >
size_t legion_buffer_size (void)
 
size_t legion_serialize (void *buffer)
 
size_t legion_deserialize (const void *buffer)
 

Detailed Description

Argument maps provide a data structure for storing the task arguments that are to be associated with different points in an index space launch. Argument maps are light-weight handle to the actual implementation that uses a versioning system to make it efficient to re-use argument maps over many task calls, especially if there are very few changes applied to the map between task call launches.

Member Function Documentation

UntypedBuffer Legion::ArgumentMap::get_point ( const DomainPoint point) const

Get the untyped buffer for a point if it exists, otherwise return an empty untyped buffer.

Parameters
pointthe point to retrieve
Returns
a untyped buffer if the point exists otherwise an empty untyped buffer
bool Legion::ArgumentMap::has_point ( const DomainPoint point)

Check to see if a point has an argument set

Parameters
pointthe point to check
Returns
true if the point has a value already set
bool Legion::ArgumentMap::remove_point ( const DomainPoint point)

Remove a point from the argument map

Parameters
pointthe point to be removed
Returns
true if the point was removed
template<typename PT , unsigned DIM>
bool Legion::ArgumentMap::remove_point ( const PT  point[DIM])
inline

An older method for removing a point argument from an argument map.

Parameters
pointthe point to remove from the map
void Legion::ArgumentMap::set_point ( const DomainPoint point,
const UntypedBuffer arg,
bool  replace = true 
)

Associate an argument with a domain point

Parameters
pointthe point to associate with the untyped buffer
argthe untyped buffer
replacespecify whether to overwrite an existing value
void Legion::ArgumentMap::set_point ( const DomainPoint point,
const Future f,
bool  replace = true 
)

Associate a future with a domain point

Parameters
pointthe point to associate with the untyped buffer
futurethe future argument
replacespecify whether to overwrite an existing value
template<typename PT , unsigned DIM>
void Legion::ArgumentMap::set_point_arg ( const PT  point[DIM],
const UntypedBuffer arg,
bool  replace = false 
)
inline

An older method for setting the point argument in an argument map.

Parameters
pointthe point to associate the untyped buffer
argthe argument
replacespecify if the value should overwrite the existing value if it already exists

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