\hypertarget{namespacedc__hash}{}\section{dc\+\_\+hash Module Reference}
\label{namespacedc__hash}\index{dc\+\_\+hash@{dc\+\_\+hash}}
\subsection*{Data Types}
\begin{DoxyCompactItemize}
\item 
interface \hyperlink{interfacedc__hash_1_1dchashdelete}{dchashdelete}
\item 
interface \hyperlink{interfacedc__hash_1_1dchashget}{dchashget}
\item 
interface \hyperlink{interfacedc__hash_1_1dchashnext}{dchashnext}
\item 
interface \hyperlink{interfacedc__hash_1_1dchashnumber}{dchashnumber}
\item 
interface \hyperlink{interfacedc__hash_1_1dchashput}{dchashput}
\item 
interface \hyperlink{interfacedc__hash_1_1dchashputline}{dchashputline}
\item 
interface \hyperlink{interfacedc__hash_1_1dchashrewind}{dchashrewind}
\item 
interface \hyperlink{interfacedc__hash_1_1delete}{delete}
\item 
interface \hyperlink{interfacedc__hash_1_1get}{get}
\item 
type \hyperlink{structdc__hash_1_1hash}{hash}
\item 
type \hyperlink{structdc__hash_1_1hash__internal}{hash\+\_\+internal}
\item 
interface \hyperlink{interfacedc__hash_1_1next}{next}
\item 
interface \hyperlink{interfacedc__hash_1_1number}{number}
\item 
interface \hyperlink{interfacedc__hash_1_1put}{put}
\item 
interface \hyperlink{interfacedc__hash_1_1putline}{putline}
\item 
interface \hyperlink{interfacedc__hash_1_1rewind}{rewind}
\end{DoxyCompactItemize}
\subsection*{Functions/\+Subroutines}
\begin{DoxyCompactItemize}
\item 
subroutine \hyperlink{namespacedc__hash_a2af1d227d9325071440a3f4b9f9ae170}{dchashput0} (hashv, key, value)
\item 
integer function \hyperlink{namespacedc__hash_a9985ad3008d4be1c4420ea91d97c5e46}{dchashnumber0} (hashv)
\item 
subroutine \hyperlink{namespacedc__hash_a6d0fe7bc6299ea958a8bed309583399a}{dchashrewind0} (hashv)
\item 
subroutine \hyperlink{namespacedc__hash_aae82c50801f47ce85f526f11c4b6c909}{dchashnext0} (hashv, key, value, end)
\item 
subroutine \hyperlink{namespacedc__hash_abbffc2ab9d9d317f5786a2a8e6431888}{dchashputline0} (hashv)
\item 
subroutine \hyperlink{namespacedc__hash_a7d9a5d4a503134389508700c73120842}{dchashget0} (hashv, key, value, found)
\item 
subroutine \hyperlink{namespacedc__hash_a40056e07ec8111f8550bdce57e138e95}{dchashdelete0} (hashv, key)
\end{DoxyCompactItemize}


\subsection{Function/\+Subroutine Documentation}
\mbox{\Hypertarget{namespacedc__hash_a40056e07ec8111f8550bdce57e138e95}\label{namespacedc__hash_a40056e07ec8111f8550bdce57e138e95}} 
\index{dc\+\_\+hash@{dc\+\_\+hash}!dchashdelete0@{dchashdelete0}}
\index{dchashdelete0@{dchashdelete0}!dc\+\_\+hash@{dc\+\_\+hash}}
\subsubsection{\texorpdfstring{dchashdelete0()}{dchashdelete0()}}
{\footnotesize\ttfamily subroutine dc\+\_\+hash\+::dchashdelete0 (\begin{DoxyParamCaption}\item[{type(\hyperlink{structdc__hash_1_1hash}{hash}), intent(inout)}]{hashv,  }\item[{character($\ast$), intent(in), optional}]{key }\end{DoxyParamCaption})}



Definition at line 362 of file dc\+\_\+hash.\+f90.


\begin{DoxyCode}
362     \textcolor{comment}{!}
363     \textcolor{comment}{! *hashv* のキー *key* およびその関連する値を削除します.}
364     \textcolor{comment}{! *hashv* 内に *key* が見つからない場合には何もしません.}
365     \textcolor{comment}{!}
366     \textcolor{comment}{! *key* が省略される場合には *hashv* 内の全てのキーと値を}
367     \textcolor{comment}{! 削除します.}
368     \textcolor{comment}{!}
369     \textcolor{keywordtype}{implicit none}
370     \textcolor{keywordtype}{type}(\hyperlink{structdc__hash_1_1hash}{hash}), \textcolor{keywordtype}{intent(inout)} :: hashv
371     \textcolor{keywordtype}{character(*)}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional} :: key
372     \textcolor{keywordtype}{type}(\hyperlink{structdc__hash_1_1hash__internal}{hash\_internal}), \textcolor{keywordtype}{pointer} :: hash\_table\_tmp(:) => null()
373     \textcolor{keywordtype}{integer} :: table\_size, i, j
374     \textcolor{keywordtype}{logical} :: found
375     \textcolor{keywordtype}{character(STRING)} :: search\_value
376   \textcolor{keywordflow}{continue}
377     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(key)) \textcolor{keywordflow}{then}
378       \textcolor{keyword}{call }\hyperlink{interfacedc__hash_1_1dchashget}{dchashget}(hashv, key, search\_value, found)
379       table\_size = \hyperlink{interfacedc__hash_1_1dchashnumber}{dchashnumber}(hashv)
380       \textcolor{keywordflow}{if} (found .and. table\_size > 1) \textcolor{keywordflow}{then}
381         \textcolor{keyword}{allocate}(hash\_table\_tmp(table\_size))
382         hash\_table\_tmp = hashv % hash\_table
383         \textcolor{keyword}{deallocate}(hashv % hash\_table)
384         \textcolor{keyword}{allocate}(hashv % hash\_table(table\_size - 1))
385         j = 1
386         \textcolor{keywordflow}{do} i = 1, table\_size
387           \textcolor{keywordflow}{if} (trim(hash\_table\_tmp(i) % key) /= trim(key)) \textcolor{keywordflow}{then}
388             hashv % hash\_table(j) % key = hash\_table\_tmp(i) % key
389             hashv % hash\_table(j) % value = hash\_table\_tmp(i) % value
390             j = j + 1
391 \textcolor{keywordflow}{          end if}
392 \textcolor{keywordflow}{        end do}
393         
394         \textcolor{keyword}{deallocate}(hash\_table\_tmp)
395       \textcolor{keywordflow}{elseif} (found .and. table\_size == 1) \textcolor{keywordflow}{then}
396         \textcolor{keyword}{deallocate}(hashv % hash\_table)
397 \textcolor{keywordflow}{      end if}
398     \textcolor{keywordflow}{else}
399       \textcolor{keywordflow}{if} (\textcolor{keyword}{associated}(hashv % hash\_table)) \textcolor{keyword}{deallocate}(hashv % hash\_table)
400 \textcolor{keywordflow}{    end if}
401 
\end{DoxyCode}
\mbox{\Hypertarget{namespacedc__hash_a7d9a5d4a503134389508700c73120842}\label{namespacedc__hash_a7d9a5d4a503134389508700c73120842}} 
\index{dc\+\_\+hash@{dc\+\_\+hash}!dchashget0@{dchashget0}}
\index{dchashget0@{dchashget0}!dc\+\_\+hash@{dc\+\_\+hash}}
\subsubsection{\texorpdfstring{dchashget0()}{dchashget0()}}
{\footnotesize\ttfamily subroutine dc\+\_\+hash\+::dchashget0 (\begin{DoxyParamCaption}\item[{type(\hyperlink{structdc__hash_1_1hash}{hash}), intent(inout)}]{hashv,  }\item[{character($\ast$), intent(in)}]{key,  }\item[{character($\ast$), intent(out)}]{value,  }\item[{logical, intent(out), optional}]{found }\end{DoxyParamCaption})}



Definition at line 326 of file dc\+\_\+hash.\+f90.



References dc\+\_\+types\+::string.


\begin{DoxyCode}
326     \textcolor{comment}{!}
327     \textcolor{comment}{! *hashv* のキー *key* に関連する値を *value* に返します.}
328     \textcolor{comment}{! *key* に関連する値が存在しない場合は *value* に}
329     \textcolor{comment}{! 空文字を返します.}
330     \textcolor{comment}{!}
331     \textcolor{comment}{! *found* を与えると, *key* に関連する値が見つからなかった}
332     \textcolor{comment}{! 場合に .false. を返します.}
333     \textcolor{comment}{!}
334     \textcolor{keywordtype}{use }\hyperlink{namespacedc__types}{dc\_types}\textcolor{keywordtype}{, only}: \hyperlink{namespacedc__types_adb76910ff05e3b9fe3436567f8f8dac6}{string}
335     \textcolor{keywordtype}{implicit none}
336     \textcolor{keywordtype}{type}(\hyperlink{structdc__hash_1_1hash}{hash}), \textcolor{keywordtype}{intent(inout)} :: hashv
337     \textcolor{keywordtype}{character(*)}, \textcolor{keywordtype}{intent(in)}  :: key
338     \textcolor{keywordtype}{character(*)}, \textcolor{keywordtype}{intent(out)} :: value
339     \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{intent(out)}, \textcolor{keywordtype}{optional} :: found
340     \textcolor{keywordtype}{character(STRING)} :: search\_key, search\_value
341     \textcolor{keywordtype}{logical} :: end
342   \textcolor{keywordflow}{continue}
343     \textcolor{keyword}{call }\hyperlink{interfacedc__hash_1_1dchashrewind}{dchashrewind}(hashv)
344     \textcolor{keywordflow}{do}
345       \textcolor{keyword}{call }\hyperlink{interfacedc__hash_1_1dchashnext}{dchashnext}(hashv, search\_key, search\_value, end)
346       \textcolor{keywordflow}{if} (end) \textcolor{keywordflow}{then}
347         \textcolor{keywordtype}{value} = \textcolor{stringliteral}{''}
348         \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(found)) found = .false.
349         \textcolor{keywordflow}{exit}
350 \textcolor{keywordflow}{      end if}
351 
352       \textcolor{keywordflow}{if} (trim(search\_key) == trim(key)) \textcolor{keywordflow}{then}
353         \textcolor{keywordtype}{value} = search\_value
354         \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(found)) found = .true.
355         \textcolor{keywordflow}{exit}
356 \textcolor{keywordflow}{      end if}
357 \textcolor{keywordflow}{    enddo}
358 
\end{DoxyCode}
\mbox{\Hypertarget{namespacedc__hash_aae82c50801f47ce85f526f11c4b6c909}\label{namespacedc__hash_aae82c50801f47ce85f526f11c4b6c909}} 
\index{dc\+\_\+hash@{dc\+\_\+hash}!dchashnext0@{dchashnext0}}
\index{dchashnext0@{dchashnext0}!dc\+\_\+hash@{dc\+\_\+hash}}
\subsubsection{\texorpdfstring{dchashnext0()}{dchashnext0()}}
{\footnotesize\ttfamily subroutine dc\+\_\+hash\+::dchashnext0 (\begin{DoxyParamCaption}\item[{type(\hyperlink{structdc__hash_1_1hash}{hash}), intent(inout)}]{hashv,  }\item[{character($\ast$), intent(out)}]{key,  }\item[{character($\ast$), intent(out), optional}]{value,  }\item[{logical, intent(out)}]{end }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 267 of file dc\+\_\+hash.\+f90.


\begin{DoxyCode}
267     \textcolor{comment}{!}
268 
269     \textcolor{comment}{! *hashv* の内容を *key* と *value* に返します.}
270     \textcolor{comment}{! 詳しくは DCHashRewind を参照してください.}
271     \textcolor{comment}{!}
272     \textcolor{keywordtype}{implicit none}
273     \textcolor{keywordtype}{type}(\hyperlink{structdc__hash_1_1hash}{hash}), \textcolor{keywordtype}{intent(inout)} :: hashv
274     \textcolor{keywordtype}{character(*)}, \textcolor{keywordtype}{intent(out)} :: key
275     \textcolor{keywordtype}{character(*)}, \textcolor{keywordtype}{intent(out)}, \textcolor{keywordtype}{optional} :: value
276     \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{intent(out)} :: end
277     \textcolor{keywordtype}{integer} :: table\_size
278     \textcolor{keywordtype}{character(STRING)} :: value\_tmp
279   \textcolor{keywordflow}{continue}
280     table\_size = \hyperlink{interfacedc__hash_1_1dchashnumber}{dchashnumber}(hashv)
281     \textcolor{keywordflow}{if} (table\_size < hashv % search\_index) \textcolor{keywordflow}{then}
282       key = \textcolor{stringliteral}{''}
283       value\_tmp = \textcolor{stringliteral}{''}
284 \textcolor{keyword}{      end }= .true.
285     \textcolor{keywordflow}{else}
286       key = hashv % hash\_table(hashv % search\_index) % key
287       value\_tmp = hashv % hash\_table(hashv % search\_index) % value
288 \textcolor{keyword}{      end }= .false.
289       hashv % search\_index = hashv % search\_index + 1
290 \textcolor{keywordflow}{    end if}
291     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(\textcolor{keywordtype}{value})) \textcolor{keywordflow}{then}
292       \textcolor{keywordtype}{value} = value\_tmp
293 \textcolor{keywordflow}{    end if}
294 
\end{DoxyCode}
\mbox{\Hypertarget{namespacedc__hash_a9985ad3008d4be1c4420ea91d97c5e46}\label{namespacedc__hash_a9985ad3008d4be1c4420ea91d97c5e46}} 
\index{dc\+\_\+hash@{dc\+\_\+hash}!dchashnumber0@{dchashnumber0}}
\index{dchashnumber0@{dchashnumber0}!dc\+\_\+hash@{dc\+\_\+hash}}
\subsubsection{\texorpdfstring{dchashnumber0()}{dchashnumber0()}}
{\footnotesize\ttfamily integer function dc\+\_\+hash\+::dchashnumber0 (\begin{DoxyParamCaption}\item[{type(\hyperlink{structdc__hash_1_1hash}{hash}), intent(in)}]{hashv }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 222 of file dc\+\_\+hash.\+f90.


\begin{DoxyCode}
222     \textcolor{comment}{!}
223     \textcolor{comment}{! *hashv* のサイズを返します.}
224     \textcolor{comment}{!}
225     \textcolor{keywordtype}{implicit none}
226     \textcolor{keywordtype}{type}(\hyperlink{structdc__hash_1_1hash}{hash}), \textcolor{keywordtype}{intent(in)} :: hashv
227     \textcolor{keywordtype}{integer} :: result
228   \textcolor{keywordflow}{continue}
229     \textcolor{keywordflow}{if} (\textcolor{keyword}{associated}(hashv % hash\_table)) \textcolor{keywordflow}{then}
230       result = \textcolor{keyword}{size}(hashv % hash\_table)
231     \textcolor{keywordflow}{else}
232       result = 0
233 \textcolor{keywordflow}{    end if}
\end{DoxyCode}
\mbox{\Hypertarget{namespacedc__hash_a2af1d227d9325071440a3f4b9f9ae170}\label{namespacedc__hash_a2af1d227d9325071440a3f4b9f9ae170}} 
\index{dc\+\_\+hash@{dc\+\_\+hash}!dchashput0@{dchashput0}}
\index{dchashput0@{dchashput0}!dc\+\_\+hash@{dc\+\_\+hash}}
\subsubsection{\texorpdfstring{dchashput0()}{dchashput0()}}
{\footnotesize\ttfamily subroutine dc\+\_\+hash\+::dchashput0 (\begin{DoxyParamCaption}\item[{type(\hyperlink{structdc__hash_1_1hash}{hash}), intent(inout)}]{hashv,  }\item[{character($\ast$), intent(in)}]{key,  }\item[{character($\ast$), intent(in)}]{value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 181 of file dc\+\_\+hash.\+f90.


\begin{DoxyCode}
181     \textcolor{comment}{!}
182     \textcolor{comment}{! *hashv* のキー *key* に値 *value* を関連付けます.}
183     \textcolor{comment}{!}
184     \textcolor{keywordtype}{implicit none}
185     \textcolor{keywordtype}{type}(\hyperlink{structdc__hash_1_1hash}{hash}), \textcolor{keywordtype}{intent(inout)} :: hashv
186     \textcolor{keywordtype}{character(*)}, \textcolor{keywordtype}{intent(in)} :: key, value
187     \textcolor{keywordtype}{type}(\hyperlink{structdc__hash_1_1hash__internal}{hash\_internal}), \textcolor{keywordtype}{pointer} :: hash\_table\_tmp(:) => null()
188     \textcolor{keywordtype}{integer} :: table\_size, new\_index, i
189     \textcolor{keywordtype}{logical} :: found
190     \textcolor{keywordtype}{character(STRING)} :: search\_value
191   \textcolor{keywordflow}{continue}
192     \textcolor{keyword}{call }\hyperlink{interfacedc__hash_1_1dchashget}{dchashget}(hashv, key, search\_value, found)
193     \textcolor{keywordflow}{if} (.not. found) \textcolor{keywordflow}{then}
194       table\_size = \hyperlink{interfacedc__hash_1_1dchashnumber}{dchashnumber}(hashv)
195       \textcolor{keywordflow}{if} (table\_size > 0) \textcolor{keywordflow}{then}
196         \textcolor{keyword}{allocate}(hash\_table\_tmp(table\_size))
197         hash\_table\_tmp = hashv % hash\_table
198         \textcolor{keyword}{deallocate}(hashv % hash\_table)
199         \textcolor{keyword}{allocate}(hashv % hash\_table(table\_size + 1))
200         hashv % hash\_table(1:table\_size) = hash\_table\_tmp(1:table\_size)
201         \textcolor{keyword}{deallocate}(hash\_table\_tmp)
202         new\_index = table\_size + 1
203       \textcolor{keywordflow}{else}
204         \textcolor{keyword}{allocate}(hashv % hash\_table(1))
205         new\_index = 1
206 \textcolor{keywordflow}{      end if}
207 
208       hashv % hash\_table(new\_index) % key = key
209       hashv % hash\_table(new\_index) % value = \textcolor{keywordtype}{value}
210     \textcolor{keywordflow}{else}
211       \textcolor{keywordflow}{do} i = 1, \textcolor{keyword}{size}(hashv % hash\_table)
212         \textcolor{keywordflow}{if} (trim(hashv % hash\_table(i) % key) == trim(key)) \textcolor{keywordflow}{then}
213           hashv % hash\_table(i) % value = \textcolor{keywordtype}{value}
214 \textcolor{keywordflow}{        end if}
215 \textcolor{keywordflow}{      end do}
216 \textcolor{keywordflow}{    end if}
217 
\end{DoxyCode}
\mbox{\Hypertarget{namespacedc__hash_abbffc2ab9d9d317f5786a2a8e6431888}\label{namespacedc__hash_abbffc2ab9d9d317f5786a2a8e6431888}} 
\index{dc\+\_\+hash@{dc\+\_\+hash}!dchashputline0@{dchashputline0}}
\index{dchashputline0@{dchashputline0}!dc\+\_\+hash@{dc\+\_\+hash}}
\subsubsection{\texorpdfstring{dchashputline0()}{dchashputline0()}}
{\footnotesize\ttfamily subroutine dc\+\_\+hash\+::dchashputline0 (\begin{DoxyParamCaption}\item[{type(\hyperlink{structdc__hash_1_1hash}{hash}), intent(in)}]{hashv }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 299 of file dc\+\_\+hash.\+f90.



References dc\+\_\+string\+::joinchar(), and dc\+\_\+types\+::string.


\begin{DoxyCode}
299     \textcolor{comment}{!}
300     \textcolor{comment}{! *hashv* の内容を標準出力に表示します.}
301     \textcolor{comment}{!}
302     \textcolor{keywordtype}{use }\hyperlink{namespacedc__types}{dc\_types}\textcolor{keywordtype}{, only}: \hyperlink{namespacedc__types_adb76910ff05e3b9fe3436567f8f8dac6}{string}
303     \textcolor{keywordtype}{use }\hyperlink{namespacedc__string}{dc\_string}\textcolor{keywordtype}{, only}: \hyperlink{interfacedc__string_1_1printf}{printf}, \hyperlink{namespacedc__string_a20412554f8f648165d202319119cf628}{joinchar}
304     \textcolor{keywordtype}{implicit none}
305     \textcolor{keywordtype}{type}(\hyperlink{structdc__hash_1_1hash}{hash}), \textcolor{keywordtype}{intent(in)} :: hashv
306     \textcolor{keywordtype}{type}(\hyperlink{structdc__hash_1_1hash}{hash}) :: hashv\_tmp
307     \textcolor{keywordtype}{character(len = STRING)}:: key, value
308     \textcolor{keywordtype}{logical}:: end
309   \textcolor{keywordflow}{continue}
310     hashv\_tmp = hashv
311 
312     \textcolor{keyword}{call }\hyperlink{interfacedc__string_1_1printf}{printf}(6, \textcolor{stringliteral}{'#<HASH:: '})
313     \textcolor{keyword}{call }\hyperlink{interfacedc__hash_1_1dchashrewind}{dchashrewind}(hashv\_tmp)
314     \textcolor{keywordflow}{do}
315       \textcolor{keyword}{call }\hyperlink{interfacedc__hash_1_1dchashnext}{dchashnext}(hashv\_tmp, key, \textcolor{keywordtype}{value}, end)
316       \textcolor{keywordflow}{if} (end) \textcolor{keywordflow}{exit}
317       \textcolor{keyword}{call }\hyperlink{interfacedc__string_1_1printf}{printf}(6, \textcolor{stringliteral}{'         "%c" -> "%c",'}, &
318         & c1=trim(key), c2=trim(\textcolor{keywordtype}{value}))
319 \textcolor{keywordflow}{    enddo}
320     \textcolor{keyword}{call }\hyperlink{interfacedc__string_1_1printf}{printf}(6, \textcolor{stringliteral}{'> '})
321 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=337pt]{namespacedc__hash_abbffc2ab9d9d317f5786a2a8e6431888_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacedc__hash_a6d0fe7bc6299ea958a8bed309583399a}\label{namespacedc__hash_a6d0fe7bc6299ea958a8bed309583399a}} 
\index{dc\+\_\+hash@{dc\+\_\+hash}!dchashrewind0@{dchashrewind0}}
\index{dchashrewind0@{dchashrewind0}!dc\+\_\+hash@{dc\+\_\+hash}}
\subsubsection{\texorpdfstring{dchashrewind0()}{dchashrewind0()}}
{\footnotesize\ttfamily subroutine dc\+\_\+hash\+::dchashrewind0 (\begin{DoxyParamCaption}\item[{type(\hyperlink{structdc__hash_1_1hash}{hash}), intent(inout)}]{hashv }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 237 of file dc\+\_\+hash.\+f90.


\begin{DoxyCode}
237     \textcolor{comment}{!}
238     \textcolor{comment}{! 主にハッシュの内容を取り出すことを目的として, }
239     \textcolor{comment}{! *hashv* の巻き戻しを行います. DCHashNext との組み合わせによって}
240     \textcolor{comment}{! キーと値のリストを取得すること可能です.}
241     \textcolor{comment}{!}
242     \textcolor{comment}{! 以下のサンプルソースコードを参照ください.}
243     \textcolor{comment}{!}
244     \textcolor{comment}{!    program hash\_sample}
245     \textcolor{comment}{!      use dc\_type}
246     \textcolor{comment}{!      use dc\_hash}
247     \textcolor{comment}{!      type(HASH):: hashv}
248     \textcolor{comment}{!      character(len = STRING):: key, value}
249     \textcolor{comment}{!      logical:: end}
250     \textcolor{comment}{!}
251     \textcolor{comment}{!      call DCHashRewind( hashv ) ! (inout)}
252     \textcolor{comment}{!      do}
253     \textcolor{comment}{!        call DCHashNext( hashv = hashv, &        ! (inout)}
254     \textcolor{comment}{!          & key = key, value = value, end = end) ! (out)}
255     \textcolor{comment}{!        if (end) exit}
256     \textcolor{comment}{!        write(*,*) 'key=' // trim(key) // ', value=' // trim(value)}
257     \textcolor{comment}{!      enddo}
258     \textcolor{comment}{!    end program hash\_sample}
259     \textcolor{comment}{!}
260     \textcolor{keywordtype}{implicit none}
261     \textcolor{keywordtype}{type}(\hyperlink{structdc__hash_1_1hash}{hash}), \textcolor{keywordtype}{intent(inout)} :: hashv
262   \textcolor{keywordflow}{continue}
263     hashv % search\_index = 1
\end{DoxyCode}
