|
RT_API_ATTRS | Descriptor (const Descriptor &) |
|
RT_API_ATTRS Descriptor & | operator= (const Descriptor &) |
|
RT_API_ATTRS 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) |
|
RT_API_ATTRS 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) |
|
RT_API_ATTRS 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) |
|
RT_API_ATTRS void | Establish (const typeInfo::DerivedType &dt, void *p=nullptr, int rank=maxRank, const SubscriptValue *extent=nullptr, ISO::CFI_attribute_t attribute=CFI_attribute_other) |
|
RT_API_ATTRS ISO::CFI_cdesc_t & | raw () |
|
RT_API_ATTRS const ISO::CFI_cdesc_t & | raw () const |
|
RT_API_ATTRS std::size_t | ElementBytes () const |
|
RT_API_ATTRS int | rank () const |
|
RT_API_ATTRS TypeCode | type () const |
|
RT_API_ATTRS Descriptor & | set_base_addr (void *p) |
|
RT_API_ATTRS bool | IsPointer () const |
|
RT_API_ATTRS bool | IsAllocatable () const |
|
RT_API_ATTRS bool | IsAllocated () const |
|
RT_API_ATTRS Dimension & | GetDimension (int dim) |
|
RT_API_ATTRS const Dimension & | GetDimension (int dim) const |
|
RT_API_ATTRS std::size_t | SubscriptByteOffset (int dim, SubscriptValue subscriptValue) const |
|
RT_API_ATTRS std::size_t | SubscriptsToByteOffset (const SubscriptValue subscript[]) const |
|
template<typename A = char> |
RT_API_ATTRS A * | OffsetElement (std::size_t offset=0) const |
|
template<typename A > |
RT_API_ATTRS A * | Element (const SubscriptValue subscript[]) const |
|
template<typename A > |
RT_API_ATTRS A * | ElementComponent (const SubscriptValue subscript[], std::size_t componentOffset) const |
|
template<typename A > |
RT_API_ATTRS A * | ZeroBasedIndexedElement (std::size_t n) const |
|
RT_API_ATTRS int | GetLowerBounds (SubscriptValue subscript[]) const |
|
RT_API_ATTRS int | GetShape (SubscriptValue subscript[]) const |
|
RT_API_ATTRS bool | IncrementSubscripts (SubscriptValue subscript[], const int *permutation=nullptr) const |
|
RT_API_ATTRS bool | DecrementSubscripts (SubscriptValue[], const int *permutation=nullptr) const |
|
RT_API_ATTRS bool | SubscriptsForZeroBasedElementNumber (SubscriptValue subscript[], std::size_t elementNumber, const int *permutation=nullptr) const |
|
RT_API_ATTRS std::size_t | ZeroBasedElementNumber (const SubscriptValue *, const int *permutation=nullptr) const |
|
RT_API_ATTRS DescriptorAddendum * | Addendum () |
|
RT_API_ATTRS const DescriptorAddendum * | Addendum () const |
|
RT_API_ATTRS std::size_t | SizeInBytes () const |
|
RT_API_ATTRS std::size_t | Elements () const |
|
RT_API_ATTRS int | Allocate () |
|
RT_API_ATTRS void | SetByteStrides () |
|
RT_API_ATTRS int | Deallocate () |
|
RT_API_ATTRS int | Destroy (bool finalize=false, bool destroyPointers=false, Terminator *=nullptr) |
|
RT_API_ATTRS bool | IsContiguous (int leadingDimensions=maxRank) const |
|
RT_API_ATTRS bool | EstablishPointerSection (const Descriptor &source, const SubscriptValue *lower=nullptr, const SubscriptValue *upper=nullptr, const SubscriptValue *stride=nullptr) |
|
RT_API_ATTRS void | ApplyMold (const Descriptor &, int rank) |
|
RT_API_ATTRS void | Check () const |
|
void | Dump (FILE *=stdout) const |
|
RT_API_ATTRS bool | HasAddendum () const |
|
RT_API_ATTRS void | SetHasAddendum () |
|
RT_API_ATTRS int | GetAllocIdx () const |
|
RT_API_ATTRS void | SetAllocIdx (int pos) |
|
|
static RT_API_ATTRS std::size_t | BytesFor (TypeCategory category, int kind) |
|
static RT_API_ATTRS 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, bool addendum=false, const typeInfo::DerivedType *dt=nullptr) |
|
static RT_API_ATTRS 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 RT_API_ATTRS 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 RT_API_ATTRS OwningPtr< Descriptor > | Create (const typeInfo::DerivedType &dt, void *p=nullptr, int rank=maxRank, const SubscriptValue *extent=nullptr, ISO::CFI_attribute_t attribute=CFI_attribute_other) |
|
static constexpr RT_API_ATTRS std::size_t | SizeInBytes (int rank, bool addendum=false, int lengthTypeParameters=0) |
|