Abstract content class to storage any contents.
A very base class that is intended to be the parent of all contents.
Destroy the content.
Destroy the content.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(content_adt), | intent(inout) | :: | self | The content. |
Return storage status.
Return storage status.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(content_adt), | intent(in) | :: | self | The content. |
Set the content.
Set the content of the content.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(content_adt), | intent(out) | :: | self | The content. |
||
class(*), | intent(in) | :: | content | The content to be stored. |
Check if the content type is allowed.
Check if the content type is allowed.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(content_adt), | intent(in) | :: | self | The content. |
||
class(*), | intent(in) | :: | content | The content to be stored. |
Implement ==
operator.
Implement ==
operator.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(content_adt), | intent(in) | :: | lhs | Left hand side. |
||
class(content_adt), | intent(in) | :: | rhs | Rigth hand side. |
Overloading ==
operator.
Implement ==
operator.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(content_adt), | intent(in) | :: | lhs | Left hand side. |
||
class(content_adt), | intent(in) | :: | rhs | Rigth hand side. |
type, abstract :: content_adt
!< Abstract **content** class to storage any contents.
!<
!< A very base class that is intended to be the parent of all contents.
contains
! public/private deferred methods
procedure(destroy_interface), pass(self), deferred :: destroy !< Destroy the content.
procedure(is_filled_interface), pass(self), deferred :: is_filled !< Return storage status.
procedure(set_interface), pass(self), deferred :: set !< Set the content.
procedure(typeguard_interface), pass(self), deferred :: typeguard !< Check if the content type is allowed.
procedure(is_equal_interface), pass(lhs), private, deferred :: is_equal !< Implement `==` operator.
! public generics
generic, public :: operator(==) => is_equal !< Overloading `==` operator.
endtype content_adt