Octopus
system_factory_abst.F90
Go to the documentation of this file.
1
!! Copyright (C) 2020 M. Oliveira
2
!!
3
!! This Source Code Form is subject to the terms of the Mozilla Public
4
!! License, v. 2.0. If a copy of the MPL was not distributed with this
5
!! file, You can obtain one at https://mozilla.org/MPL/2.0/.
6
!!
7
9
module
system_factory_abst_oct_m
10
use
namespace_oct_m
11
use
system_oct_m
12
implicit none
13
14
private
15
public
:: &
16
system_factory_abst_t
17
19
type
,
abstract
::
system_factory_abst_t
20
contains
21
procedure
(system_factory_abst_create),
deferred
:: create
22
end type
system_factory_abst_t
23
24
abstract
interface
25
function
system_factory_abst_create
(this, namespace, type)
result
(system)
26
import
::
system_factory_abst_t
27
import
system_t
28
import
namespace_t
29
class
(
system_factory_abst_t
),
intent(in)
:: this
30
type
(
namespace_t
),
intent(in)
:: namespace
31
integer
,
intent(in)
:: type
32
class
(
system_t
),
pointer
:: system
33
end function
system_factory_abst_create
34
end interface
35
36
end module
system_factory_abst_oct_m
37
38
!! Local Variables:
39
!! mode: f90
40
!! coding: utf-8
41
!! End:
system_factory_abst_oct_m::system_factory_abst_create
Definition:
system_factory_abst.F90:31
namespace_oct_m
Definition:
namespace.F90:103
system_factory_abst_oct_m
This module defines the abstract class for the system factory.
Definition:
system_factory_abst.F90:15
system_oct_m
This module implements the abstract system type.
Definition:
system.F90:118
namespace_oct_m::namespace_t
Definition:
namespace.F90:115
system_factory_abst_oct_m::system_factory_abst_t
abstract class of the system factory
Definition:
system_factory_abst.F90:25
system_oct_m::system_t
Abstract class for systems.
Definition:
system.F90:172
multisystem
core
system_factory_abst.F90
Generated on Fri Nov 22 2024 10:43:12 for Octopus by
1.9.4