Legion Runtime
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) noexcept
 
ArgumentMapoperator= (const FutureMap &rhs)
 
ArgumentMapoperator= (const ArgumentMap &rhs)
 
ArgumentMapoperator= (ArgumentMap &&rhs) noexcept
 
bool operator== (const ArgumentMap &rhs) const
 
bool operator< (const ArgumentMap &rhs) const
 
bool exists (void) 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

◆ get_point()

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

◆ has_point()

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

◆ remove_point() [1/2]

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

◆ remove_point() [2/2]

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

◆ set_point() [1/2]

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

◆ set_point() [2/2]

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

◆ set_point_arg()

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: