FLANG

Public Member Functions | Static Public Member Functions | List of all members
Fortran::runtime::Descriptor Class Reference

## Public Member Functions
| Descriptor (const Descriptor &)
void | Establish (TypeCode t, std::size_t elementBytes, void *p=nullptr, int rank=maxRank, const SubscriptValue *extent=nullptr, ISO::CFI_attribute_t attribute=CFI_attribute_other, bool addendum=false)
void | Establish (TypeCategory, int kind, void *p=nullptr, int rank=maxRank, const SubscriptValue *extent=nullptr, ISO::CFI_attribute_t attribute=CFI_attribute_other, bool addendum=false)
void | Establish (int characterKind, std::size_t characters, void *p=nullptr, int rank=maxRank, const SubscriptValue *extent=nullptr, ISO::CFI_attribute_t attribute=CFI_attribute_other, bool addendum=false)
void | Establish (const DerivedType &dt, void *p=nullptr, int rank=maxRank, const SubscriptValue *extent=nullptr, ISO::CFI_attribute_t attribute=CFI_attribute_other)
ISO::CFI_cdesc_t & | raw ()
const ISO::CFI_cdesc_t & | raw () const
std::size_t | ElementBytes () const
int | rank () const
TypeCode | type () const
Descriptor & | set_base_addr (void *p)
bool | IsPointer () const
bool | IsAllocatable () const
bool | IsAllocated () const
Dimension & | GetDimension (int dim)
const Dimension & | GetDimension (int dim) const
std::size_t | SubscriptByteOffset (int dim, SubscriptValue subscriptValue) const
std::size_t | SubscriptsToByteOffset (const SubscriptValue subscript[]) const
template<typename A = char>
A * | OffsetElement (std::size_t offset=0) const
template<typename A >
A * | Element (const SubscriptValue subscript[]) const
template<typename A >
A * | ZeroBasedIndexedElement (std::size_t n) const
void | GetLowerBounds (SubscriptValue subscript[]) const
bool | IncrementSubscripts (SubscriptValue[], const int *permutation=nullptr) const
bool | DecrementSubscripts (SubscriptValue[], const int *permutation=nullptr) const
bool | SubscriptsForZeroBasedElementNumber (SubscriptValue *, std::size_t elementNumber, const int *permutation=nullptr) const
std::size_t | ZeroBasedElementNumber (const SubscriptValue *, const int *permutation=nullptr) const
DescriptorAddendum * | Addendum ()
const DescriptorAddendum * | Addendum () const
std::size_t | SizeInBytes () const
std::size_t | Elements () const
int | Allocate (const SubscriptValue lb[], const SubscriptValue ub[])
int | Deallocate (bool finalize=true)
void | Destroy (char *data, bool finalize=true) const
bool | IsContiguous (int leadingDimensions=maxRank) const
void | Check () const
void | Dump (FILE *=stdout) const

## Static Public Member Functions
static constexpr std::size_t | BytesFor (TypeCategory category, int kind)
static OwningPtr< Descriptor > | Create (TypeCode t, std::size_t elementBytes, void *p=nullptr, int rank=maxRank, const SubscriptValue *extent=nullptr, ISO::CFI_attribute_t attribute=CFI_attribute_other, int derivedTypeLenParameters=0)
static OwningPtr< Descriptor > | Create (TypeCategory, int kind, void *p=nullptr, int rank=maxRank, const SubscriptValue *extent=nullptr, ISO::CFI_attribute_t attribute=CFI_attribute_other)
static OwningPtr< Descriptor > | Create (int characterKind, SubscriptValue characters, void *p=nullptr, int rank=maxRank, const SubscriptValue *extent=nullptr, ISO::CFI_attribute_t attribute=CFI_attribute_other)
static OwningPtr< Descriptor > | Create (const DerivedType &dt, void *p=nullptr, int rank=maxRank, const SubscriptValue *extent=nullptr, ISO::CFI_attribute_t attribute=CFI_attribute_other)
static constexpr std::size_t | SizeInBytes (int rank, bool addendum=false, int lengthTypeParameters=0)

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

- runtime/descriptor.h
- runtime/descriptor.cpp