# Concept Global Descriptor

Contents

- Description
- Refinement of
- Notation
- Associated types
- Valid Expressions

# Description

A global descriptor is an object that represents an entity that is owned by some process and may reside in an address space not accessible to the currently-executing process. The global descriptor consists of two parts: the owner of the entity, which is the identifier of that process in which the entity resides, and a local descriptor, that uniquely identifies the entity with the address space of the owner.

# Refinement of

> - Default Constructible
> - Assignable

# Notation

X
  A type that models the Global Descriptor concept.
x
  Object of type X

# Associated types

Process ID type | `process_id_type` | Determined by the process group associated with type X.
Local descriptor type | `local_type` | Determined by the data structure the descriptor accesses. Must model Equality Comparable and Copy Constructible.

# Valid Expressions

Name | Expression | Type | Semantics
--- | --- | --- | ---
Owner | `owner(x)` | `process_id_type` | Returns the owner of `x`.
Local descriptor | `local(x)` | `local_type` | Returns the local descriptor uniquely identifying `x`.

Copyright (C) 2005 The Trustees of Indiana University.

Authors: Douglas Gregor and Andrew Lumsdaine