Factory, create an instance of concrete extension of base_object given its constructor.
Create a concrete instance of alpha_coefficients or optimal_weights or polynomials or smoothness_indicators.
Create an instance of concrete extension of alpha_coefficients given its constructor.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(alpha_coefficients_constructor), | intent(in) | :: | constructor | Constructor. |
||
class(alpha_coefficients), | intent(out), | allocatable | :: | object | Object. |
Create an instance of concrete extension of optimal_weights given its constructor.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(optimal_weights_constructor), | intent(in) | :: | constructor | Constructor. |
||
class(optimal_weights), | intent(out), | allocatable | :: | object | Object. |
Create an instance of concrete extension of polynomials given its constructor.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(polynomials_constructor), | intent(in) | :: | constructor | Constructor. |
||
class(polynomials), | intent(out), | allocatable | :: | object | Object. |
Create an instance of concrete extension of smoothness_indicators given its constructor.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(smoothness_indicators_constructor), | intent(in) | :: | constructor | Constructor. |
||
class(smoothness_indicators), | intent(out), | allocatable | :: | object | Object. |
Create a concrete instance of base_object.
Create an instance of concrete extension of base_object given its constructor.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(base_object_constructor), | intent(in) | :: | constructor | Constructor. |
||
class(base_object), | intent(out), | allocatable | :: | object | Object. |
Create a concrete instance of alpha_coefficients.
Create an instance of concrete extension of alpha_coefficients given its constructor.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(alpha_coefficients_constructor), | intent(in) | :: | constructor | Constructor. |
||
class(alpha_coefficients), | intent(out), | allocatable | :: | object | Object. |
Create a concrete instance of optimal_weights.
Create an instance of concrete extension of optimal_weights given its constructor.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(optimal_weights_constructor), | intent(in) | :: | constructor | Constructor. |
||
class(optimal_weights), | intent(out), | allocatable | :: | object | Object. |
Create a concrete instance of polynomials.
Create an instance of concrete extension of polynomials given its constructor.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(polynomials_constructor), | intent(in) | :: | constructor | Constructor. |
||
class(polynomials), | intent(out), | allocatable | :: | object | Object. |
Create a concrete instance of smoothness_indicators.
Create an instance of concrete extension of smoothness_indicators given its constructor.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(smoothness_indicators_constructor), | intent(in) | :: | constructor | Constructor. |
||
class(smoothness_indicators), | intent(out), | allocatable | :: | object | Object. |
type :: objects_factory
!< Factory, create an instance of concrete extension of [[base_object]] given its constructor.
contains
! public methods
generic :: create => create_alpha_coefficients, &
create_optimal_weights, &
create_polynomials, &
create_smoothness_indicators !< Create a concrete instance of [[alpha_coefficients]] or
!< [[optimal_weights]] or [[polynomials]] or [[smoothness_indicators]].
procedure, nopass :: create_base_object !< Create a concrete instance of [[base_object]].
! private methods
procedure, nopass, private :: create_alpha_coefficients !< Create a concrete instance of [[alpha_coefficients]].
procedure, nopass, private :: create_optimal_weights !< Create a concrete instance of [[optimal_weights]].
procedure, nopass, private :: create_polynomials !< Create a concrete instance of [[polynomials]].
procedure, nopass, private :: create_smoothness_indicators !< Create a concrete instance of [[smoothness_indicators]].
endtype objects_factory