35 use,
intrinsic :: iso_c_binding
40 kim_language_name_type, &
41 kim_language_name_from_string, &
44 kim_language_name_string, &
50 kim_language_name_get_number_of_language_names, &
51 kim_language_name_get_language_name
54 type, bind(c) :: kim_language_name_type
55 integer(c_int) :: language_name_id
56 end type kim_language_name_type
58 type(kim_language_name_type),
protected, &
59 bind(c, name=
"KIM_LANGUAGE_NAME_cpp") &
61 type(kim_language_name_type),
protected, &
62 bind(c, name=
"KIM_LANGUAGE_NAME_c") &
64 type(kim_language_name_type),
protected, &
65 bind(c, name=
"KIM_LANGUAGE_NAME_fortran") &
68 interface operator (.eq.)
69 logical function kim_language_name_equal(left, right)
70 use,
intrinsic :: iso_c_binding
71 import kim_language_name_type
73 type(kim_language_name_type),
intent(in) :: left
74 type(kim_language_name_type),
intent(in) :: right
75 end function kim_language_name_equal
76 end interface operator (.eq.)
78 interface operator (.ne.)
79 logical function kim_language_name_not_equal(left, right)
80 use,
intrinsic :: iso_c_binding
81 import kim_language_name_type
83 type(kim_language_name_type),
intent(in) :: left
84 type(kim_language_name_type),
intent(in) :: right
85 end function kim_language_name_not_equal
86 end interface operator (.ne.)
89 subroutine kim_language_name_from_string(string, language_name)
90 use,
intrinsic :: iso_c_binding
91 import kim_language_name_type
93 character(len=*, kind=c_char),
intent(in) :: string
94 type(kim_language_name_type),
intent(out) :: language_name
95 end subroutine kim_language_name_from_string
97 subroutine kim_language_name_string(language_name, string)
98 use,
intrinsic :: iso_c_binding
99 import kim_language_name_type
101 type(kim_language_name_type),
intent(in),
value :: language_name
102 character(len=*, kind=c_char),
intent(out) :: string
103 end subroutine kim_language_name_string
105 subroutine kim_language_name_get_number_of_language_names( &
106 number_of_language_names)
107 use,
intrinsic :: iso_c_binding
109 integer(c_int),
intent(out) :: number_of_language_names
110 end subroutine kim_language_name_get_number_of_language_names
112 subroutine kim_language_name_get_language_name(index, language_name, ierr)
113 use,
intrinsic :: iso_c_binding
114 import kim_language_name_type
116 integer(c_int),
intent(in),
value :: index
117 type(kim_language_name_type),
intent(out) :: language_name
118 integer(c_int),
intent(out) :: ierr
119 end subroutine kim_language_name_get_language_name
type(kim_language_name_type), public, protected kim_language_name_fortran
type(kim_language_name_type), public, protected kim_language_name_cpp
type(kim_language_name_type), public, protected kim_language_name_c