\hypertarget{classDatatype}{\section{Datatype Class Reference}
\label{classDatatype}\index{Datatype@{Datatype}}
}
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structDatatype_1_1keyval__intercept__data__t}{keyval\+\_\+intercept\+\_\+data\+\_\+t}
\end{DoxyCompactItemize}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classDatatype_a1788084e87901f97664a344184f33634}{typedef int {\bfseries Copy\+\_\+attr\+\_\+function} (const \hyperlink{classDatatype}{Datatype} \&oldtype, int type\+\_\+keyval, void $\ast$extra\+\_\+state, const void $\ast$attribute\+\_\+val\+\_\+in, void $\ast$attribute\+\_\+val\+\_\+out, bool \&flag)}\label{classDatatype_a1788084e87901f97664a344184f33634}

\item 
\hypertarget{classDatatype_ac72a58af5089fc79b94d0a5dff44a67f}{typedef int {\bfseries Delete\+\_\+attr\+\_\+function} (\hyperlink{classDatatype}{Datatype} \&type, int type\+\_\+keyval, void $\ast$attribute\+\_\+val, void $\ast$extra\+\_\+state)}\label{classDatatype_ac72a58af5089fc79b94d0a5dff44a67f}

\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classDatatype_a90fc30def7dbe26dd87066b91b7765ed}{{\bfseries Datatype} (\hyperlink{structompi__datatype__t}{M\+P\+I\+\_\+\+Datatype} i)}\label{classDatatype_a90fc30def7dbe26dd87066b91b7765ed}

\item 
\hypertarget{classDatatype_af5987673158095b2fbadfaf351d0d245}{{\bfseries Datatype} (const \hyperlink{classDatatype}{Datatype} \&dt)}\label{classDatatype_af5987673158095b2fbadfaf351d0d245}

\item 
\hypertarget{classDatatype_a5ffa56a3eebeb687435daad7fe1974ec}{\hyperlink{classDatatype}{Datatype} \& {\bfseries operator=} (const \hyperlink{classDatatype}{Datatype} \&dt)}\label{classDatatype_a5ffa56a3eebeb687435daad7fe1974ec}

\item 
\hypertarget{classDatatype_a72ef5e9a2c712f113e3d2229eb47bca1}{bool {\bfseries operator==} (const \hyperlink{classDatatype}{Datatype} \&a) const }\label{classDatatype_a72ef5e9a2c712f113e3d2229eb47bca1}

\item 
\hypertarget{classDatatype_aec88b38144b6f5682ac7c8cea1a2e195}{bool {\bfseries operator!=} (const \hyperlink{classDatatype}{Datatype} \&a) const }\label{classDatatype_aec88b38144b6f5682ac7c8cea1a2e195}

\item 
\hypertarget{classDatatype_a7314c464811f6cac8a223c69605b16a0}{\hyperlink{classDatatype}{Datatype} \& {\bfseries operator=} (const \hyperlink{structompi__datatype__t}{M\+P\+I\+\_\+\+Datatype} \&i)}\label{classDatatype_a7314c464811f6cac8a223c69605b16a0}

\item 
\hypertarget{classDatatype_a92f702c67cc5805449f20173af08590c}{{\bfseries operator M\+P\+I\+\_\+\+Datatype} () const }\label{classDatatype_a92f702c67cc5805449f20173af08590c}

\item 
\hypertarget{classDatatype_ad78c565d093226150e8aae23e2037465}{virtual \hyperlink{classDatatype}{Datatype} {\bfseries Create\+\_\+contiguous} (int count) const }\label{classDatatype_ad78c565d093226150e8aae23e2037465}

\item 
\hypertarget{classDatatype_ad5eb49d45d80146c0e27d76b051eeb73}{virtual \hyperlink{classDatatype}{Datatype} {\bfseries Create\+\_\+vector} (int count, int blocklength, int stride) const }\label{classDatatype_ad5eb49d45d80146c0e27d76b051eeb73}

\item 
\hypertarget{classDatatype_a442e16eb0f43b437cc1eed5e595d5747}{virtual \hyperlink{classDatatype}{Datatype} {\bfseries Create\+\_\+indexed} (int count, const int array\+\_\+of\+\_\+blocklengths\mbox{[}$\,$\mbox{]}, const int array\+\_\+of\+\_\+displacements\mbox{[}$\,$\mbox{]}) const }\label{classDatatype_a442e16eb0f43b437cc1eed5e595d5747}

\item 
\hypertarget{classDatatype_a8655b4a78ebc7e8005a393d6c892215a}{virtual \hyperlink{classDatatype}{Datatype} {\bfseries Create\+\_\+hindexed} (int count, const int array\+\_\+of\+\_\+blocklengths\mbox{[}$\,$\mbox{]}, const Aint array\+\_\+of\+\_\+displacements\mbox{[}$\,$\mbox{]}) const }\label{classDatatype_a8655b4a78ebc7e8005a393d6c892215a}

\item 
\hypertarget{classDatatype_a9e43232d4dea6ae4eb840751c74c269a}{virtual \hyperlink{classDatatype}{Datatype} {\bfseries Create\+\_\+hvector} (int count, int blocklength, Aint stride) const }\label{classDatatype_a9e43232d4dea6ae4eb840751c74c269a}

\item 
\hypertarget{classDatatype_ae9d74e5d578f570c78e6fda3a84ddcef}{virtual \hyperlink{classDatatype}{Datatype} {\bfseries Create\+\_\+indexed\+\_\+block} (int count, int blocklength, const int array\+\_\+of\+\_\+blocklengths\mbox{[}$\,$\mbox{]}) const }\label{classDatatype_ae9d74e5d578f570c78e6fda3a84ddcef}

\item 
\hypertarget{classDatatype_a62f7221e10912cac7528e688da394e0f}{virtual \hyperlink{classDatatype}{Datatype} {\bfseries Create\+\_\+resized} (const Aint lb, const Aint extent) const }\label{classDatatype_a62f7221e10912cac7528e688da394e0f}

\item 
\hypertarget{classDatatype_a76026e3a512b6d3aa387a7152ed433c4}{virtual int {\bfseries Get\+\_\+size} () const }\label{classDatatype_a76026e3a512b6d3aa387a7152ed433c4}

\item 
\hypertarget{classDatatype_aad4962cd00da31adf0036e9487e9ed8b}{virtual void {\bfseries Get\+\_\+extent} (Aint \&lb, Aint \&extent) const }\label{classDatatype_aad4962cd00da31adf0036e9487e9ed8b}

\item 
\hypertarget{classDatatype_a1b7f4f8f3c1139f6ba103a02aa0a1814}{virtual void {\bfseries Get\+\_\+true\+\_\+extent} (Aint \&, Aint \&) const }\label{classDatatype_a1b7f4f8f3c1139f6ba103a02aa0a1814}

\item 
\hypertarget{classDatatype_a2b446654966cdf37e97346b96ac5c91f}{virtual void {\bfseries Commit} ()}\label{classDatatype_a2b446654966cdf37e97346b96ac5c91f}

\item 
\hypertarget{classDatatype_a6533f80d07dcc8afce04bbdf01952d5e}{virtual void {\bfseries Free} ()}\label{classDatatype_a6533f80d07dcc8afce04bbdf01952d5e}

\item 
\hypertarget{classDatatype_a3ccc11fa30385003a4a28612caa15760}{virtual void {\bfseries Pack} (const void $\ast$inbuf, int incount, void $\ast$outbuf, int outsize, int \&position, const \hyperlink{classComm}{Comm} \&comm) const }\label{classDatatype_a3ccc11fa30385003a4a28612caa15760}

\item 
\hypertarget{classDatatype_a5e42486090d15d25d519f5e422b3d97c}{virtual void {\bfseries Unpack} (const void $\ast$inbuf, int insize, void $\ast$outbuf, int outcount, int \&position, const \hyperlink{classComm}{Comm} \&comm) const }\label{classDatatype_a5e42486090d15d25d519f5e422b3d97c}

\item 
\hypertarget{classDatatype_a474a23d4da9f1ed347fa8ebe5d59b529}{virtual int {\bfseries Pack\+\_\+size} (int incount, const \hyperlink{classComm}{Comm} \&comm) const }\label{classDatatype_a474a23d4da9f1ed347fa8ebe5d59b529}

\item 
\hypertarget{classDatatype_afb8a6d0041cb0069863bdd73a676b292}{virtual void {\bfseries Pack\+\_\+external} (const char $\ast$datarep, const void $\ast$inbuf, int incount, void $\ast$outbuf, Aint outsize, Aint \&position) const }\label{classDatatype_afb8a6d0041cb0069863bdd73a676b292}

\item 
\hypertarget{classDatatype_a55a25b8249a8a8a18c187ee8f0b2efe8}{virtual Aint {\bfseries Pack\+\_\+external\+\_\+size} (const char $\ast$datarep, int incount) const }\label{classDatatype_a55a25b8249a8a8a18c187ee8f0b2efe8}

\item 
\hypertarget{classDatatype_aff3c4af17c7fb73ceb5858a5255deebd}{virtual void {\bfseries Unpack\+\_\+external} (const char $\ast$datarep, const void $\ast$inbuf, Aint insize, Aint \&position, void $\ast$outbuf, int outcount) const }\label{classDatatype_aff3c4af17c7fb73ceb5858a5255deebd}

\item 
\hypertarget{classDatatype_a050279d9047f0e0890c308bada85ef15}{virtual \hyperlink{classDatatype}{Datatype} {\bfseries Create\+\_\+subarray} (int ndims, const int array\+\_\+of\+\_\+sizes\mbox{[}$\,$\mbox{]}, const int array\+\_\+of\+\_\+subsizes\mbox{[}$\,$\mbox{]}, const int array\+\_\+of\+\_\+starts\mbox{[}$\,$\mbox{]}, int order) const }\label{classDatatype_a050279d9047f0e0890c308bada85ef15}

\item 
\hypertarget{classDatatype_ace445d67e4e663eac54d49943c0b56c8}{virtual \hyperlink{classDatatype}{Datatype} {\bfseries Create\+\_\+darray} (int size, int rank, int ndims, const int array\+\_\+of\+\_\+gsizes\mbox{[}$\,$\mbox{]}, const int array\+\_\+of\+\_\+distribs\mbox{[}$\,$\mbox{]}, const int array\+\_\+of\+\_\+dargs\mbox{[}$\,$\mbox{]}, const int array\+\_\+of\+\_\+psizes\mbox{[}$\,$\mbox{]}, int order) const }\label{classDatatype_ace445d67e4e663eac54d49943c0b56c8}

\item 
\hypertarget{classDatatype_a630f6424131d3575594cbe8e7afb3261}{virtual \hyperlink{classDatatype}{Datatype} {\bfseries Dup} () const }\label{classDatatype_a630f6424131d3575594cbe8e7afb3261}

\item 
\hypertarget{classDatatype_aa8e597e48d16ba20210ce582e5a7fe21}{virtual void {\bfseries Delete\+\_\+attr} (int type\+\_\+keyval)}\label{classDatatype_aa8e597e48d16ba20210ce582e5a7fe21}

\item 
\hypertarget{classDatatype_adf6984637dbf1ec0fd7bc95e9f3c327c}{virtual bool {\bfseries Get\+\_\+attr} (int type\+\_\+keyval, void $\ast$attribute\+\_\+val) const }\label{classDatatype_adf6984637dbf1ec0fd7bc95e9f3c327c}

\item 
\hypertarget{classDatatype_a3e120886671356f74e830a2f210af68b}{virtual void {\bfseries Get\+\_\+contents} (int max\+\_\+integers, int max\+\_\+addresses, int max\+\_\+datatypes, int array\+\_\+of\+\_\+integers\mbox{[}$\,$\mbox{]}, Aint array\+\_\+of\+\_\+addresses\mbox{[}$\,$\mbox{]}, \hyperlink{classDatatype}{Datatype} array\+\_\+of\+\_\+datatypes\mbox{[}$\,$\mbox{]}) const }\label{classDatatype_a3e120886671356f74e830a2f210af68b}

\item 
\hypertarget{classDatatype_aad58e4c09f3899e30244b25be055d026}{virtual void {\bfseries Get\+\_\+envelope} (int \&num\+\_\+integers, int \&num\+\_\+addresses, int \&num\+\_\+datatypes, int \&combiner) const }\label{classDatatype_aad58e4c09f3899e30244b25be055d026}

\item 
\hypertarget{classDatatype_ae88cc5f288bef66afef93ffc79b21221}{virtual void {\bfseries Get\+\_\+name} (char $\ast$type\+\_\+name, int \&resultlen) const }\label{classDatatype_ae88cc5f288bef66afef93ffc79b21221}

\item 
\hypertarget{classDatatype_a4f9945a583e4806c34ae96aabf571d7e}{virtual void {\bfseries Set\+\_\+attr} (int type\+\_\+keyval, const void $\ast$attribute\+\_\+val)}\label{classDatatype_a4f9945a583e4806c34ae96aabf571d7e}

\item 
\hypertarget{classDatatype_a8336138ff90eef17837ee06bf6b30bf5}{virtual void {\bfseries Set\+\_\+name} (const char $\ast$type\+\_\+name)}\label{classDatatype_a8336138ff90eef17837ee06bf6b30bf5}

\end{DoxyCompactItemize}
\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classDatatype_a3eb9c7edfd5c73cb4918570882a17015}{static \hyperlink{classDatatype}{Datatype} {\bfseries Create\+\_\+struct} (int count, const int array\+\_\+of\+\_\+blocklengths\mbox{[}$\,$\mbox{]}, const Aint array\+\_\+of\+\_\+displacements\mbox{[}$\,$\mbox{]}, const \hyperlink{classDatatype}{Datatype} array\+\_\+if\+\_\+types\mbox{[}$\,$\mbox{]})}\label{classDatatype_a3eb9c7edfd5c73cb4918570882a17015}

\item 
\hypertarget{classDatatype_a6d66b73e63cd4e3ddb65d99a31fa3537}{static \hyperlink{classDatatype}{Datatype} {\bfseries Create\+\_\+f90\+\_\+complex} (int p, int r)}\label{classDatatype_a6d66b73e63cd4e3ddb65d99a31fa3537}

\item 
\hypertarget{classDatatype_a2b195428b2958422527db609fecab505}{static \hyperlink{classDatatype}{Datatype} {\bfseries Create\+\_\+f90\+\_\+integer} (int r)}\label{classDatatype_a2b195428b2958422527db609fecab505}

\item 
\hypertarget{classDatatype_a6dc1a42003cad7f9401f740e4077473b}{static \hyperlink{classDatatype}{Datatype} {\bfseries Create\+\_\+f90\+\_\+real} (int p, int r)}\label{classDatatype_a6dc1a42003cad7f9401f740e4077473b}

\item 
\hypertarget{classDatatype_a5f96f59d9d37467b9639a09f1c6f3e61}{static \hyperlink{classDatatype}{Datatype} {\bfseries Match\+\_\+size} (int typeclass, int size)}\label{classDatatype_a5f96f59d9d37467b9639a09f1c6f3e61}

\item 
\hypertarget{classDatatype_a3bfbe4d26484f124d6b8df0dd21384f2}{static int {\bfseries Create\+\_\+keyval} (Copy\+\_\+attr\+\_\+function $\ast$type\+\_\+copy\+\_\+attr\+\_\+fn, Delete\+\_\+attr\+\_\+function $\ast$type\+\_\+delete\+\_\+attr\+\_\+fn, void $\ast$extra\+\_\+state)}\label{classDatatype_a3bfbe4d26484f124d6b8df0dd21384f2}

\item 
\hypertarget{classDatatype_a989a182c2caccac6036f686729767669}{static int {\bfseries Create\+\_\+keyval} (M\+P\+I\+\_\+\+Type\+\_\+copy\+\_\+attr\+\_\+function $\ast$type\+\_\+copy\+\_\+attr\+\_\+fn, M\+P\+I\+\_\+\+Type\+\_\+delete\+\_\+attr\+\_\+function $\ast$type\+\_\+delete\+\_\+attr\+\_\+fn, void $\ast$extra\+\_\+state)}\label{classDatatype_a989a182c2caccac6036f686729767669}

\item 
\hypertarget{classDatatype_a62d1b022c8c14c7a5057068ff7a6e321}{static int {\bfseries Create\+\_\+keyval} (Copy\+\_\+attr\+\_\+function $\ast$type\+\_\+copy\+\_\+attr\+\_\+fn, M\+P\+I\+\_\+\+Type\+\_\+delete\+\_\+attr\+\_\+function $\ast$type\+\_\+delete\+\_\+attr\+\_\+fn, void $\ast$extra\+\_\+state)}\label{classDatatype_a62d1b022c8c14c7a5057068ff7a6e321}

\item 
\hypertarget{classDatatype_a4d58487e15b56469a39a54437d92afc7}{static int {\bfseries Create\+\_\+keyval} (M\+P\+I\+\_\+\+Type\+\_\+copy\+\_\+attr\+\_\+function $\ast$type\+\_\+copy\+\_\+attr\+\_\+fn, Delete\+\_\+attr\+\_\+function $\ast$type\+\_\+delete\+\_\+attr\+\_\+fn, void $\ast$extra\+\_\+state)}\label{classDatatype_a4d58487e15b56469a39a54437d92afc7}

\item 
\hypertarget{classDatatype_acb39a7fb6c35e61c7e2668a9ee24041e}{static void {\bfseries Free\+\_\+keyval} (int \&type\+\_\+keyval)}\label{classDatatype_acb39a7fb6c35e61c7e2668a9ee24041e}

\end{DoxyCompactItemize}
\subsection*{Static Public Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classDatatype_a5187695210cfb92700120d00f65f509b}{static \hyperlink{structopal__mutex__t}{opal\+\_\+mutex\+\_\+t} {\bfseries cxx\+\_\+extra\+\_\+states\+\_\+lock}}\label{classDatatype_a5187695210cfb92700120d00f65f509b}

\end{DoxyCompactItemize}
\subsection*{Static Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classDatatype_a3a8a18d04677ec8c094c614874dd81b0}{static int {\bfseries do\+\_\+create\+\_\+keyval} (M\+P\+I\+\_\+\+Type\+\_\+copy\+\_\+attr\+\_\+function $\ast$c\+\_\+copy\+\_\+fn, M\+P\+I\+\_\+\+Type\+\_\+delete\+\_\+attr\+\_\+function $\ast$c\+\_\+delete\+\_\+fn, Copy\+\_\+attr\+\_\+function $\ast$cxx\+\_\+copy\+\_\+fn, Delete\+\_\+attr\+\_\+function $\ast$cxx\+\_\+delete\+\_\+fn, void $\ast$extra\+\_\+state, int \&keyval)}\label{classDatatype_a3a8a18d04677ec8c094c614874dd81b0}

\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classDatatype_a96f13e289c2f758c8bf62302c0b51100}{\hyperlink{structompi__datatype__t}{M\+P\+I\+\_\+\+Datatype} {\bfseries mpi\+\_\+datatype}}\label{classDatatype_a96f13e289c2f758c8bf62302c0b51100}

\end{DoxyCompactItemize}


The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
ompi/mpi/cxx/datatype.\+h\item 
ompi/mpi/cxx/datatype.\+cc\item 
ompi/mpi/cxx/datatype\+\_\+inln.\+h\end{DoxyCompactItemize}
