35 use,
intrinsic :: iso_c_binding
40 kim_argument_name_type, &
41 kim_argument_name_from_string, &
44 kim_argument_name_string, &
56 kim_argument_name_get_number_of_arguments, &
57 kim_argument_name_get_argument_name, &
58 kim_argument_name_get_argument_data_type
60 type, bind(c) :: kim_argument_name_type
61 integer(c_int) argument_name_id
62 end type kim_argument_name_type
64 type(kim_argument_name_type),
protected, &
65 bind(c, name=
"KIM_ARGUMENT_NAME_numberOfParticles") &
67 type(kim_argument_name_type),
protected, &
68 bind(c, name=
"KIM_ARGUMENT_NAME_particleSpeciesCodes") &
70 type(kim_argument_name_type),
protected, &
71 bind(c, name=
"KIM_ARGUMENT_NAME_particleContributing") &
73 type(kim_argument_name_type),
protected, &
74 bind(c, name=
"KIM_ARGUMENT_NAME_coordinates") &
76 type(kim_argument_name_type),
protected, &
77 bind(c, name=
"KIM_ARGUMENT_NAME_partialEnergy") &
79 type(kim_argument_name_type),
protected, &
80 bind(c, name=
"KIM_ARGUMENT_NAME_partialForces") &
82 type(kim_argument_name_type),
protected, &
83 bind(c, name=
"KIM_ARGUMENT_NAME_partialParticleEnergy") &
85 type(kim_argument_name_type),
protected, &
86 bind(c, name=
"KIM_ARGUMENT_NAME_partialVirial") &
88 type(kim_argument_name_type),
protected, &
89 bind(c, name=
"KIM_ARGUMENT_NAME_partialParticleVirial") &
92 interface operator (.eq.)
93 logical function kim_argument_name_equal(left, right)
94 use,
intrinsic :: iso_c_binding
95 import kim_argument_name_type
97 type(kim_argument_name_type),
intent(in) :: left
98 type(kim_argument_name_type),
intent(in) :: right
99 end function kim_argument_name_equal
100 end interface operator (.eq.)
102 interface operator (.ne.)
103 logical function kim_argument_name_not_equal(left, right)
104 use,
intrinsic :: iso_c_binding
105 import kim_argument_name_type
107 type(kim_argument_name_type),
intent(in) :: left
108 type(kim_argument_name_type),
intent(in) :: right
109 end function kim_argument_name_not_equal
110 end interface operator (.ne.)
113 subroutine kim_argument_name_from_string(string, argument_name)
114 import kim_argument_name_type
116 character(len=*),
intent(in) :: string
117 type(kim_argument_name_type),
intent(out) :: argument_name
118 end subroutine kim_argument_name_from_string
120 subroutine kim_argument_name_string(argument_name, string)
121 import kim_argument_name_type
123 type(kim_argument_name_type),
intent(in),
value :: argument_name
124 character(len=*),
intent(out) :: string
125 end subroutine kim_argument_name_string
127 subroutine kim_argument_name_get_number_of_arguments( &
129 use,
intrinsic :: iso_c_binding
131 integer(c_int),
intent(out) :: number_of_arguments
132 end subroutine kim_argument_name_get_number_of_arguments
134 subroutine kim_argument_name_get_argument_name(index, argument_name, &
136 use,
intrinsic :: iso_c_binding
137 import kim_argument_name_type
139 integer(c_int),
intent(in),
value :: index
140 type(kim_argument_name_type),
intent(out) :: argument_name
141 integer(c_int),
intent(out) :: ierr
142 end subroutine kim_argument_name_get_argument_name
144 subroutine kim_argument_name_get_argument_data_type(argument_name, &
146 use,
intrinsic :: iso_c_binding
148 import kim_argument_name_type
150 type(kim_argument_name_type),
intent(in),
value :: argument_name
151 type(kim_data_type_type),
intent(out) :: data_type
152 integer(c_int),
intent(out) :: ierr
153 end subroutine kim_argument_name_get_argument_data_type
type(kim_argument_name_type), public, protected kim_argument_name_number_of_particles
type(kim_argument_name_type), public, protected kim_argument_name_partial_forces
type(kim_argument_name_type), public, protected kim_argument_name_particle_contributing
type(kim_argument_name_type), public, protected kim_argument_name_particle_species_codes
type(kim_argument_name_type), public, protected kim_argument_name_partial_particle_energy
type(kim_argument_name_type), public, protected kim_argument_name_partial_virial
type(kim_argument_name_type), public, protected kim_argument_name_partial_energy
type(kim_argument_name_type), public, protected kim_argument_name_coordinates
type(kim_argument_name_type), public, protected kim_argument_name_partial_particle_virial