\hypertarget{group__tdakernelraapi}{}\section{T\+DA Kernel D\+LL R\+A\+A\+P\+I/\+I\+Repository Functions}
\label{group__tdakernelraapi}\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
T\+D\+A\+E\+X\+T\+E\+RN void T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_gad19ff306ad91c31aac34b02256aab74f}{T\+D\+A\+\_\+\+Close}} (void $\ast$tda\+Kernel)
\item 
T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_gabf2a1aa3b4a00db6eedacfbfbed056d2}{T\+D\+A\+\_\+\+Exists}} (void $\ast$tda\+Kernel, const char $\ast$location)
\item 
T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga1b1011f572f966e50aad43a9bdb91bee}{T\+D\+A\+\_\+\+Open}} (void $\ast$tda\+Kernel, const char $\ast$location)
\item 
T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga15de70d0b9bd25bc8463778386a4a1fb}{T\+D\+A\+\_\+\+Start\+Save}} (void $\ast$tda\+Kernel)
\item 
T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_gab759bb138971f3bf7bc63441db60d4ab}{T\+D\+A\+\_\+\+Cancel\+Save}} (void $\ast$tda\+Kernel)
\item 
T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga34b4ecc1e152377e8ca34d4dc719a8fc}{T\+D\+A\+\_\+\+Finish\+Save}} (void $\ast$tda\+Kernel)
\item 
T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga7073f7309e56774929c6524d0b8a3dfd}{T\+D\+A\+\_\+\+Drop}} (void $\ast$tda\+Kernel, const char $\ast$location)
\item 
T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga3456a2bc15604152b7392bef54fbe2e9}{T\+D\+A\+\_\+\+Find\+Class}} (void $\ast$tda\+Kernel, const char $\ast$name)
\item 
T\+D\+A\+E\+X\+T\+E\+RN const char $\ast$T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_gaf67fe613050d7021c4ee850d1fb2553b}{T\+D\+A\+\_\+\+Get\+Class\+Name}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Class)
\item 
T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga9c1b73ff171fe3437d89dd758b6f4218}{T\+D\+A\+\_\+\+Create\+Object}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Class)
\item 
T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga59595e962135fe10a9d98d77571096a2}{T\+D\+A\+\_\+\+Create\+Class}} (void $\ast$tda\+Kernel, const char $\ast$name)
\item 
T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga5ac83717c67a36982353d23a36948057}{T\+D\+A\+\_\+\+Delete\+Class}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Class)
\item 
T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga04be08c63946defc95d3b372b5e572d2}{T\+D\+A\+\_\+\+Is\+Class}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r)
\item 
T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_gac6f8d8f94cba453890464566aaf3e7e8}{T\+D\+A\+\_\+\+Is\+Direct\+Sub\+Class}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Sub\+Class, \+\_\+\+\_\+int64 r\+Super\+Class)
\item 
T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga939f6cdc519a5fb431e82b70d3e63fc8}{T\+D\+A\+\_\+\+Delete\+Object}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Object)
\item 
T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga17249b56050942e76d6521acdd42f213}{T\+D\+A\+\_\+\+Move\+Object}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Object, \+\_\+\+\_\+int64 r\+To\+Class)
\item 
T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga7bd951b78ea43045bfeb9a5e645280a6}{T\+D\+A\+\_\+\+Is\+Type\+Of}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Object, \+\_\+\+\_\+int64 r\+Class)
\item 
T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga9630553d844350ae275dcf35acf3563b}{T\+D\+A\+\_\+\+Is\+Kind\+Of}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Object, \+\_\+\+\_\+int64 r\+Class)
\item 
T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga77614938e5ee13e9f8ab9d095e076846}{T\+D\+A\+\_\+\+Create\+Attribute}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Class, const char $\ast$name, \+\_\+\+\_\+int64 r\+Primitive\+Type)
\item 
T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga6cd29c35f0140564eb27bbd77553940d}{T\+D\+A\+\_\+\+Is\+Derived\+Class}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Directly\+Or\+Indirectly\+Derived\+Class, \+\_\+\+\_\+int64 r\+Super\+Class)
\item 
T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_gad2bb0df50d122dd1ea14b8d7a572d136}{T\+D\+A\+\_\+\+Find\+Attribute}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Class, const char $\ast$name)
\item 
T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga6042b016064d36415772aa841e200b1f}{T\+D\+A\+\_\+\+Delete\+Attribute}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Attribute)
\item 
T\+D\+A\+E\+X\+T\+E\+RN const char $\ast$T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_gaee732cf11b07ef3fafef5b7a29af6753}{T\+D\+A\+\_\+\+Get\+Attribute\+Name}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Attribute)
\item 
T\+D\+A\+E\+X\+T\+E\+RN const char $\ast$T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga14775caac43b45799d8014bcfcebb8a7}{T\+D\+A\+\_\+\+Get\+Primitive\+Data\+Type\+Name}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Data\+Type)
\item 
T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga0db4a7daf9810acb4c4da5a598430472}{T\+D\+A\+\_\+\+Find\+Primitive\+Data\+Type}} (void $\ast$tda\+Kernel, const char $\ast$name)
\item 
T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga00193c1dbf1c1c0a1b3dadbc37285409}{T\+D\+A\+\_\+\+Is\+Primitive\+Data\+Type}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r)
\item 
T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga63602b2cb60f5c4ad934f62f70f57c00}{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Classes}} (void $\ast$tda\+Kernel)
\item 
T\+D\+A\+E\+X\+T\+E\+RN const char $\ast$T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_gaa18359b72f0f6a6a595dea71bfe38243}{T\+D\+A\+\_\+\+Get\+Attribute\+Value}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Object, \+\_\+\+\_\+int64 r\+Attribute)
\item 
T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga98c81aa8438c5aa80962a817695a499b}{T\+D\+A\+\_\+\+Create\+Association}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Source\+Class, \+\_\+\+\_\+int64 r\+Target\+Class, const char $\ast$source\+Role\+Name, const char $\ast$target\+Role\+Name, bool is\+Composition)
\item 
T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_gafc380f62ff2af912ccf56e4a1392f2cd}{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Sub\+Classes}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Super\+Class)
\item 
T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_gab8bd71eb0532161566b522da9db2f2d4}{T\+D\+A\+\_\+\+Get\+Iterator\+For\+All\+Class\+Objects}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Class\+Or\+Advanced\+Association)
\item 
T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_gaeeda186ed186b646b465111461a27d5b}{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Attributes}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Class)
\item 
T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga48b81b3ccd3726105e56592ee7758839}{T\+D\+A\+\_\+\+Get\+Attribute\+Domain}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Attribute)
\item 
T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_gacb47f1770bb34948913c4ab2009b6d90}{T\+D\+A\+\_\+\+Delete\+Generalization}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Sub\+Class, \+\_\+\+\_\+int64 r\+Super\+Class)
\item 
T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_gaaa2a5e86d847b9af2231e30da4de69d6}{T\+D\+A\+\_\+\+Create\+Generalization}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Sub\+Class, \+\_\+\+\_\+int64 r\+Super\+Class)
\item 
T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_gaeca13891e486dffa3324aeb3e6264ba6}{T\+D\+A\+\_\+\+Exclude\+Object\+From\+Class}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Object, \+\_\+\+\_\+int64 r\+Class)
\item 
T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_gaf89999cc0fa923f0f3ab1b8a984427df}{T\+D\+A\+\_\+\+Get\+Iterator\+For\+All\+Attributes}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Class)
\item 
T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga2b1493b89bc3df1584e5c38c0582909c}{T\+D\+A\+\_\+\+Include\+Object\+In\+Class}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Object, \+\_\+\+\_\+int64 r\+Class)
\item 
T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_gabf7015221c135f06a240c5611debd1a9}{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Super\+Classes}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Sub\+Class)
\item 
T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_gaabc64a09f38a26ca70cccbdeb130d383}{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Class\+Objects}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Class\+Or\+Advanced\+Association)
\item 
T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_gab1803289d3597f96f05a81147353a8ea}{T\+D\+A\+\_\+\+Set\+Attribute\+Value}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Object, \+\_\+\+\_\+int64 r\+Attribute, const char $\ast$value)
\item 
T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_gafc6d49d0198c666d306cfc1debe10267}{T\+D\+A\+\_\+\+Delete\+Attribute\+Value}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Object, \+\_\+\+\_\+int64 r\+Attribute)
\item 
T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga959ecf0e30cd372ab0ef3d719ae40235}{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Linguistic\+Instances}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Class)
\item 
T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga80e6c8ab09cb65eab3a24eefc7cd9f63}{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Object\+Classes}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Object\+Or\+Advanced\+Link)
\item 
T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga106f70e875c0991bb08a8a55d31b4d49}{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Objects\+By\+Attribute\+Value}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Attribute, const char $\ast$value)
\item 
T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga8fae1a39aeb8d8ca111048ba2ed717f5}{T\+D\+A\+\_\+\+Get\+Iterator\+For\+All\+Outgoing\+Association\+Ends}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Class)
\item 
T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga0ceaf6e3fac39d1b52a05b7f0e698ebe}{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Ingoing\+Association\+Ends}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Class)
\item 
T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_gad26b195a7a3365d2a73b5a4b5c83d55d}{T\+D\+A\+\_\+\+Get\+Iterator\+For\+All\+Linguistic\+Instances}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Class)
\item 
T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_gac9bc993a1c6bb8feec883c0ab33e86fe}{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Outgoing\+Association\+Ends}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Class)
\item 
T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga014880099d69181a5654b16f0996de19}{T\+D\+A\+\_\+\+Get\+Iterator\+For\+All\+Ingoing\+Association\+Ends}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Class)
\item 
T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_gad9a9c2c3ac6d10fdcee8e1d69fd728de}{T\+D\+A\+\_\+\+Resolve\+Iterator}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 it, int position)
\item 
T\+D\+A\+E\+X\+T\+E\+RN const char $\ast$T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga9c9c4c43016ad4cc77f6070f114b2903}{T\+D\+A\+\_\+\+Get\+Role\+Name}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Association\+End)
\item 
T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga2f711931a06b11cc95c3a859a0fcc0d4}{T\+D\+A\+\_\+\+Delete\+Link}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Source\+Object, \+\_\+\+\_\+int64 r\+Target\+Object, \+\_\+\+\_\+int64 r\+Association\+End)
\item 
T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga29988f80b80e9e4d9c6852ebd9e421fe}{T\+D\+A\+\_\+\+Create\+Link}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Source\+Object, \+\_\+\+\_\+int64 r\+Target\+Object, \+\_\+\+\_\+int64 r\+Association\+End)
\item 
T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga2dc48ad6d45da83eb1a97ad9176c2a51}{T\+D\+A\+\_\+\+Is\+Linguistic}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r)
\item 
T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_gad1f23b24a84454a1856b573e7ec4998f}{T\+D\+A\+\_\+\+Get\+Attribute\+Type}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Attribute)
\item 
T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_gacc55a422323dc418cf7f662be87dfff2}{T\+D\+A\+\_\+\+Get\+Target\+Class}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Target\+Association\+End)
\item 
T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga10d012b82a98f58cb53f7333c2bcddeb}{T\+D\+A\+\_\+\+Is\+Association\+End}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r)
\item 
T\+D\+A\+E\+X\+T\+E\+RN void T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga5a9f8ed7808968d90a52e290abba6f2b}{T\+D\+A\+\_\+\+Free\+Reference}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r)
\item 
T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga99bb17106f6c63052c539f06360e2099}{T\+D\+A\+\_\+\+Is\+Attribute}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r)
\item 
T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga0a8a863957084ba632f61c4a4713b07f}{T\+D\+A\+\_\+\+Get\+Source\+Class}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Target\+Association\+End)
\item 
T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga757207fccd9a7ec9704a99253945cdbb}{T\+D\+A\+\_\+\+Link\+Exists}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Source\+Object, \+\_\+\+\_\+int64 r\+Target\+Object, \+\_\+\+\_\+int64 r\+Association\+End)
\item 
T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga7110c4fc7a842e76d4537efea6a56350}{T\+D\+A\+\_\+\+Is\+Composition}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Target\+Association\+End)
\item 
T\+D\+A\+E\+X\+T\+E\+RN void T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_gaef48a73a6274baf48e8f62cca7de7c9c}{T\+D\+A\+\_\+\+Free\+Iterator}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 it)
\item 
T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_gade13504e436c1f76d2917a4c3a64561b}{T\+D\+A\+\_\+\+Get\+Linguistic\+Class\+For}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r)
\item 
T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga84217391cc75e90705c06e64caab8a00}{T\+D\+A\+\_\+\+Delete\+Association}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Association\+End\+Or\+Advanced\+Association)
\item 
T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_gaee511604dcf198e07cde212a42856e6e}{T\+D\+A\+\_\+\+Create\+Ordered\+Link}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Source\+Object, \+\_\+\+\_\+int64 r\+Target\+Object, \+\_\+\+\_\+int64 r\+Association\+End, int target\+Position)
\item 
T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_gad3800a6a72f093cd3f1ed6f5bdf0c079}{T\+D\+A\+\_\+\+Deserialize\+Reference}} (void $\ast$tda\+Kernel, const char $\ast$r)
\item 
T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_gadc9f61e4b54cdd1fdc5686f0d989d7aa}{T\+D\+A\+\_\+\+Create\+Directed\+Association}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Source\+Class, \+\_\+\+\_\+int64 r\+Target\+Class, const char $\ast$target\+Role\+Name, bool is\+Composition)
\item 
T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga86290f034c544196ca7724bd8b785ac0}{T\+D\+A\+\_\+\+Is\+Advanced\+Association}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r)
\item 
T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga59b1f036044b1d7c8c856f0885dfbed4}{T\+D\+A\+\_\+\+Resolve\+Iterator\+First}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 it)
\item 
T\+D\+A\+E\+X\+T\+E\+RN const char $\ast$T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga8082bb9a9e4a1bf41cd60af4731e4c8a}{T\+D\+A\+\_\+\+Call\+Specific\+Operation}} (void $\ast$tda\+Kernel, const char $\ast$operation\+Name, const char $\ast$arguments)
\item 
T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga49acdc0f1778971f762eb9e91339d0b5}{T\+D\+A\+\_\+\+Get\+Inverse\+Association\+End}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Association\+End)
\item 
T\+D\+A\+E\+X\+T\+E\+RN int T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga951cce37857bacfa9f6290b1aa2c13d3}{T\+D\+A\+\_\+\+Get\+Linked\+Object\+Position}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Source\+Object, \+\_\+\+\_\+int64 r\+Target\+Object, \+\_\+\+\_\+int64 r\+Association\+End)
\item 
T\+D\+A\+E\+X\+T\+E\+RN int T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga47caf1f96a0d52f8bfd22d317bcee059}{T\+D\+A\+\_\+\+Get\+Iterator\+Length}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 it)
\item 
T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_gad15a2a8696233a7a10e945601690e3bc}{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Linked\+Objects}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Object, \+\_\+\+\_\+int64 r\+Association\+End)
\item 
T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga7d4182837428d21ece2b4ea6119a9877}{T\+D\+A\+\_\+\+Create\+Advanced\+Association}} (void $\ast$tda\+Kernel, const char $\ast$name, bool n\+Ary, bool association\+Class)
\item 
T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_gad4b9d09cdb217e3020835d9c7a53a237}{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Linguistic\+Classes}} (void $\ast$tda\+Kernel)
\item 
T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga5c0c1dd64fb329db9316535e1e2de9a5}{T\+D\+A\+\_\+\+Find\+Association\+End}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r\+Source\+Class, const char $\ast$target\+Role\+Name)
\item 
T\+D\+A\+E\+X\+T\+E\+RN const char $\ast$T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga4c04500d5d3bd08184e8f561f1ebe2c4}{T\+D\+A\+\_\+\+Serialize\+Reference}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 r)
\item 
T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL \mbox{\hyperlink{group__tdakernelraapi_ga8df159b11a825fa4a83edb0a901ab34b}{T\+D\+A\+\_\+\+Resolve\+Iterator\+Next}} (void $\ast$tda\+Kernel, \+\_\+\+\_\+int64 it)
\end{DoxyCompactItemize}


\subsection{Detailed Description}
T\+DA Kernel D\+LL R\+A\+A\+P\+I/\+I\+Repository Functions 

\subsection{Function Documentation}
\mbox{\Hypertarget{group__tdakernelraapi_gad19ff306ad91c31aac34b02256aab74f}\label{group__tdakernelraapi_gad19ff306ad91c31aac34b02256aab74f}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Close@{T\+D\+A\+\_\+\+Close}}
\index{T\+D\+A\+\_\+\+Close@{T\+D\+A\+\_\+\+Close}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Close()}{TDA\_Close()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN void T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Close (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel }\end{DoxyParamCaption})}

Closes the repository without save.~\newline
 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
I\+Repository\+Management\+::start\+Save 

I\+Repository\+Management\+::finish\+Save 

I\+Repository\+Management\+::cancel\+Save 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_gabf2a1aa3b4a00db6eedacfbfbed056d2}\label{group__tdakernelraapi_gabf2a1aa3b4a00db6eedacfbfbed056d2}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Exists@{T\+D\+A\+\_\+\+Exists}}
\index{T\+D\+A\+\_\+\+Exists@{T\+D\+A\+\_\+\+Exists}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Exists()}{TDA\_Exists()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Exists (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{const char $\ast$}]{location }\end{DoxyParamCaption})}

Checks whether the given location is already occupied by some repository of the same type. This can be used to ask for the user confirmation to drop an existing repository, when creating a new one at the same location. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em location} & a string denoting the location to check. The location string is is specific to the type of the repository, e.\+g., for E\+Core this is the .xmi file name, for JR this is the folder name, etc. T\+DA Kernel requires a U\+RI, containing the repository name followed by a colon followed by a repository-\/specific location, e.\+g., \char`\"{}jr\+:/path/to/repository\char`\"{}. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
whether the given location is already occupied by some repository of the same type. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__tdakernelraapi_ga1b1011f572f966e50aad43a9bdb91bee}\label{group__tdakernelraapi_ga1b1011f572f966e50aad43a9bdb91bee}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Open@{T\+D\+A\+\_\+\+Open}}
\index{T\+D\+A\+\_\+\+Open@{T\+D\+A\+\_\+\+Open}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Open()}{TDA\_Open()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Open (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{const char $\ast$}]{location }\end{DoxyParamCaption})}

Opens or creates (if the repository does not exist yet) the repository at the given location. This can be used to ask for the user confirmation to drop an existing repository, when creating a new one at the same location. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em location} & a string denoting the location of the repository. The location string is is specific to the type of the repository, e.\+g., for E\+Core this is the .xmi file name, for JR this is the folder name, etc. T\+DA Kernel requires a U\+RI, containing the repository name followed by a colon followed by a repository-\/specific location, e.\+g., \char`\"{}jr\+:/path/to/repository\char`\"{}. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
whether the repository has been opened or created. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__tdakernelraapi_ga15de70d0b9bd25bc8463778386a4a1fb}\label{group__tdakernelraapi_ga15de70d0b9bd25bc8463778386a4a1fb}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Start\+Save@{T\+D\+A\+\_\+\+Start\+Save}}
\index{T\+D\+A\+\_\+\+Start\+Save@{T\+D\+A\+\_\+\+Start\+Save}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Start\+Save()}{TDA\_StartSave()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Start\+Save (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel }\end{DoxyParamCaption})}

Starts the two-\/phase save process of the repository. The save process can be rolled back by calling {\ttfamily cancel\+Save} or commited by calling {\ttfamily finish\+Save}.~\newline
 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
whether the operation succeeded. If {\ttfamily false} is returned, neither {\ttfamily cancel\+Save}, nor {\ttfamily finish\+Save} must be called. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
I\+Repository\+Management\+::finish\+Save 

I\+Repository\+Management\+::cancel\+Save 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_gab759bb138971f3bf7bc63441db60d4ab}\label{group__tdakernelraapi_gab759bb138971f3bf7bc63441db60d4ab}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Cancel\+Save@{T\+D\+A\+\_\+\+Cancel\+Save}}
\index{T\+D\+A\+\_\+\+Cancel\+Save@{T\+D\+A\+\_\+\+Cancel\+Save}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Cancel\+Save()}{TDA\_CancelSave()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Cancel\+Save (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel }\end{DoxyParamCaption})}

Rolls back the started save process. The repository content on the disk (or other media) is returned to the previous state. The repository content currently loaded in memory is not changed.~\newline
 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
whether the operation succeeded. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
I\+Repository\+Management\+::start\+Save 

I\+Repository\+Management\+::finish\+Save 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_ga34b4ecc1e152377e8ca34d4dc719a8fc}\label{group__tdakernelraapi_ga34b4ecc1e152377e8ca34d4dc719a8fc}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Finish\+Save@{T\+D\+A\+\_\+\+Finish\+Save}}
\index{T\+D\+A\+\_\+\+Finish\+Save@{T\+D\+A\+\_\+\+Finish\+Save}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Finish\+Save()}{TDA\_FinishSave()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Finish\+Save (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel }\end{DoxyParamCaption})}

Finishes the two-\/phase save process of the repository. After finishing, the save process cannot be rolled back anymore.~\newline
 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
whether the operation succeeded. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
I\+Repository\+Management\+::start\+Save 

I\+Repository\+Management\+::cancel\+Save 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_ga7073f7309e56774929c6524d0b8a3dfd}\label{group__tdakernelraapi_ga7073f7309e56774929c6524d0b8a3dfd}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Drop@{T\+D\+A\+\_\+\+Drop}}
\index{T\+D\+A\+\_\+\+Drop@{T\+D\+A\+\_\+\+Drop}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Drop()}{TDA\_Drop()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Drop (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{const char $\ast$}]{location }\end{DoxyParamCaption})}

Deletes the repository at the given location. The repository must be closed. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em location} & a string denoting the location of the repository. The location string is specific to the type of the repository, e.\+g., for E\+Core this is the .xmi file name, for JR this is the folder name, etc. T\+DA Kernel requires a U\+RI, containing the repository name followed by a colon followed by a repository-\/specific location, e.\+g., \char`\"{}jr\+:/path/to/repository\char`\"{}. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
whether the operation succeeded. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__tdakernelraapi_ga3456a2bc15604152b7392bef54fbe2e9}\label{group__tdakernelraapi_ga3456a2bc15604152b7392bef54fbe2e9}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Find\+Class@{T\+D\+A\+\_\+\+Find\+Class}}
\index{T\+D\+A\+\_\+\+Find\+Class@{T\+D\+A\+\_\+\+Find\+Class}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Find\+Class()}{TDA\_FindClass()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Find\+Class (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{const char $\ast$}]{name }\end{DoxyParamCaption})}

Obtains a reference to an existing class with the given fully qualified name. ~\newline
{\itshape {\bfseries Note (M3)\+: }}If the underlying repository provides access to its quasi-\/linguistic meta-\/metamodel, quasi-\/linguistic classes can be accessed by using the prefix \char`\"{}\+M3\+::\char`\"{}, e.\+g., {\ttfamily Some\+Path\+::\+Mount\+Point\+::\+M3\+::\+Some\+Meta\+Type} ~\newline
{\itshape {\bfseries Note (adapters)\+: }}This function is optional for repository adapters. If not implemented in an adapter, T\+DA Kernel implements it through {\ttfamily get\+Iterator\+For\+Classes} \mbox{[}T\+O\+DO\mbox{]} and {\ttfamily get\+Iterator\+For\+Linguistic\+Classes}. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em name} & the fully qualified name of the class (for quasi-\/linguistic classes, use prefix \char`\"{}\+M3\+::\char`\"{}) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a reference to a (quasi-\/ontological or quasi-\/linguistic) class with the given fully qualified name. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_gaf67fe613050d7021c4ee850d1fb2553b}\label{group__tdakernelraapi_gaf67fe613050d7021c4ee850d1fb2553b}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Get\+Class\+Name@{T\+D\+A\+\_\+\+Get\+Class\+Name}}
\index{T\+D\+A\+\_\+\+Get\+Class\+Name@{T\+D\+A\+\_\+\+Get\+Class\+Name}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Get\+Class\+Name()}{TDA\_GetClassName()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN const char$\ast$ T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Get\+Class\+Name (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Class }\end{DoxyParamCaption})}

Returns the fully qualified name of the given class. ~\newline
 \mbox{[}T\+O\+DO\mbox{]} {\itshape {\bfseries Note (M3)\+: }}If the reference points to a quasi-\/linguistic class, then the prefix \char`\"{}\+M3\+::\char`\"{} is also included in the return value, e.\+g., {\ttfamily Mount\+Point\+For\+The\+Corresponding\+Repository\+::\+M3\+::\+Class\+Name}. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Class} & a reference to the class, for which the class name has to be obtained \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the fully qualified name of the given class, or {\ttfamily null} on error. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_ga9c1b73ff171fe3437d89dd758b6f4218}\label{group__tdakernelraapi_ga9c1b73ff171fe3437d89dd758b6f4218}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Create\+Object@{T\+D\+A\+\_\+\+Create\+Object}}
\index{T\+D\+A\+\_\+\+Create\+Object@{T\+D\+A\+\_\+\+Create\+Object}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Create\+Object()}{TDA\_CreateObject()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Create\+Object (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Class }\end{DoxyParamCaption})}

Creates an instance of the given class. ~\newline
{\itshape {\bfseries Note (M3)\+: }}If the given class is a quasi-\/linguistic class, then its quasi-\/linguistic instance at Level M\+\_\+\+Omega is being created. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Class} & a reference to a class (either quasi-\/ontological, or quasi-\/linguistic) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
whether the operation succeeded. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_ga59595e962135fe10a9d98d77571096a2}\label{group__tdakernelraapi_ga59595e962135fe10a9d98d77571096a2}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Create\+Class@{T\+D\+A\+\_\+\+Create\+Class}}
\index{T\+D\+A\+\_\+\+Create\+Class@{T\+D\+A\+\_\+\+Create\+Class}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Create\+Class()}{TDA\_CreateClass()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Create\+Class (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{const char $\ast$}]{name }\end{DoxyParamCaption})}

Creates a class with the given fully qualified name. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em name} & the fully qualified name of the class (packages are delimited by double colon \char`\"{}\+::\char`\"{}); this fully qualified name must be unique \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a reference to the class just created, or 0 on error. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__tdakernelraapi_ga5ac83717c67a36982353d23a36948057}\label{group__tdakernelraapi_ga5ac83717c67a36982353d23a36948057}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Delete\+Class@{T\+D\+A\+\_\+\+Delete\+Class}}
\index{T\+D\+A\+\_\+\+Delete\+Class@{T\+D\+A\+\_\+\+Delete\+Class}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Delete\+Class()}{TDA\_DeleteClass()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Delete\+Class (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Class }\end{DoxyParamCaption})}

Deletes the class and frees the reference. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Class} & a reference to the class to be deleted \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
whether the operation succeeded. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__tdakernelraapi_ga04be08c63946defc95d3b372b5e572d2}\label{group__tdakernelraapi_ga04be08c63946defc95d3b372b5e572d2}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Is\+Class@{T\+D\+A\+\_\+\+Is\+Class}}
\index{T\+D\+A\+\_\+\+Is\+Class@{T\+D\+A\+\_\+\+Is\+Class}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Is\+Class()}{TDA\_IsClass()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Is\+Class (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r }\end{DoxyParamCaption})}

Checks whether the given reference is associated with a class. ~\newline
{\itshape {\bfseries Note (M3)\+: }}A reference at Level M3 can also be passed. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r} & a reference in question \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
whether the given reference is associated with a class. On error, {\ttfamily false} is returned. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_gac6f8d8f94cba453890464566aaf3e7e8}\label{group__tdakernelraapi_gac6f8d8f94cba453890464566aaf3e7e8}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Is\+Direct\+Sub\+Class@{T\+D\+A\+\_\+\+Is\+Direct\+Sub\+Class}}
\index{T\+D\+A\+\_\+\+Is\+Direct\+Sub\+Class@{T\+D\+A\+\_\+\+Is\+Direct\+Sub\+Class}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Is\+Direct\+Sub\+Class()}{TDA\_IsDirectSubClass()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Is\+Direct\+Sub\+Class (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Sub\+Class,  }\item[{\+\_\+\+\_\+int64}]{r\+Super\+Class }\end{DoxyParamCaption})}

Checks whether the generalization relation between the two given classes holds. ~\newline
{\itshape {\bfseries Note (M3)\+: }}Both classes may be either quasi-\/ontological, or quasi-\/linguistic. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Sub\+Class} & a reference to a potential subclass \\
\hline
{\em r\+Super\+Class} & a reference to a potential superclass \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
whether the generalization relation holds. On error, {\ttfamily false} is returned. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_ga939f6cdc519a5fb431e82b70d3e63fc8}\label{group__tdakernelraapi_ga939f6cdc519a5fb431e82b70d3e63fc8}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Delete\+Object@{T\+D\+A\+\_\+\+Delete\+Object}}
\index{T\+D\+A\+\_\+\+Delete\+Object@{T\+D\+A\+\_\+\+Delete\+Object}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Delete\+Object()}{TDA\_DeleteObject()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Delete\+Object (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Object }\end{DoxyParamCaption})}

Creates the given object. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Object} & a reference to the object to be deleted \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
whether the operation succeeded. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__tdakernelraapi_ga17249b56050942e76d6521acdd42f213}\label{group__tdakernelraapi_ga17249b56050942e76d6521acdd42f213}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Move\+Object@{T\+D\+A\+\_\+\+Move\+Object}}
\index{T\+D\+A\+\_\+\+Move\+Object@{T\+D\+A\+\_\+\+Move\+Object}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Move\+Object()}{TDA\_MoveObject()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Move\+Object (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Object,  }\item[{\+\_\+\+\_\+int64}]{r\+To\+Class }\end{DoxyParamCaption})}

Moves (reclassifies) the given object into the given (quasi-\/ontological) class, removing it from its current class (classes). ~\newline
 The function is similar to calling ~\newline
{\ttfamily include\+Object\+In\+Class(r\+Object, r\+To\+Class);} followed by calling ~\newline
{\ttfamily exclude\+Object\+In\+Class(r\+Object, {\itshape c})} for all other current classifiers {\itshape c} of the given object. ~\newline
 The distinction is that it may be possible to implement this function even when multiple classification is not supported. ~\newline
~\newline
{\itshape {\bfseries Note (adapters)\+: }}This function is optional for repository adapters. If not implemented in an adapter, T\+DA Kernel implements it by \mbox{[}T\+O\+DO\mbox{]} recreating the object (with the new type), while also recreating all attributes and links. ~\newline
{\itshape {\bfseries Note (M3)\+: }}It is assumed that an element from a quasi-\/ontological level cannot dynamically change its quasi-\/linguistic type (quasi-\/linguistic class), thus, {\ttfamily move\+Object} is meaningless in this case. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Object} & a reference to the object to be reclassified \\
\hline
{\em r\+To\+Class} & a reference to the class, to which the object will belong \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
whether the operation succeeded. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_ga7bd951b78ea43045bfeb9a5e645280a6}\label{group__tdakernelraapi_ga7bd951b78ea43045bfeb9a5e645280a6}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Is\+Type\+Of@{T\+D\+A\+\_\+\+Is\+Type\+Of}}
\index{T\+D\+A\+\_\+\+Is\+Type\+Of@{T\+D\+A\+\_\+\+Is\+Type\+Of}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Is\+Type\+Of()}{TDA\_IsTypeOf()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Is\+Type\+Of (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Object,  }\item[{\+\_\+\+\_\+int64}]{r\+Class }\end{DoxyParamCaption})}

Checks whether the given object is a direct (quasi-\/ontological or quasi-\/linguistic) instance of the given class. ~\newline
{\itshape {\bfseries Note (M3)\+: }}The function works also when one or both of {\ttfamily r\+Object} and {\ttfamily r\+Class} is/are quasi-\/linguistic. If the object is at a quasi-\/ontological meta-\/level, but the class is quasi-\/linguistic, then the function checks whether the object is a direct quasi-\/linguistic instance of the given class. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Object} & a reference to an object \\
\hline
{\em r\+Class} & a reference to a class \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
whether the given object is a direct instance of the given class. On error, {\ttfamily false} is returned. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
R\+A\+A\+P\+I\+::is\+Kind\+Of 

\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_ga9630553d844350ae275dcf35acf3563b}\label{group__tdakernelraapi_ga9630553d844350ae275dcf35acf3563b}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Is\+Kind\+Of@{T\+D\+A\+\_\+\+Is\+Kind\+Of}}
\index{T\+D\+A\+\_\+\+Is\+Kind\+Of@{T\+D\+A\+\_\+\+Is\+Kind\+Of}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Is\+Kind\+Of()}{TDA\_IsKindOf()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Is\+Kind\+Of (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Object,  }\item[{\+\_\+\+\_\+int64}]{r\+Class }\end{DoxyParamCaption})}

Checks whether the given object is a direct or indirect, quasi-\/ontological or quasi-\/linguistic, instance of the given class. ~\newline
{\itshape {\bfseries Note (M3)\+: }}The function works also when one or both of {\ttfamily r\+Object} and {\ttfamily r\+Class} is/are quasi-\/linguistic. If the object is at a quasi-\/ontological meta-\/level, but the class is quasi-\/linguistic, then the function checks whether the object is a quasi-\/linguistic instance of the given class or one of its subclasses. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Object} & a reference to an object \\
\hline
{\em r\+Class} & a reference to a class \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
whether the given object is a (direct or indirect) instance of the given class. On error, {\ttfamily false} is returned. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
R\+A\+A\+P\+I\+::is\+Type\+Of 

\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_ga77614938e5ee13e9f8ab9d095e076846}\label{group__tdakernelraapi_ga77614938e5ee13e9f8ab9d095e076846}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Create\+Attribute@{T\+D\+A\+\_\+\+Create\+Attribute}}
\index{T\+D\+A\+\_\+\+Create\+Attribute@{T\+D\+A\+\_\+\+Create\+Attribute}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Create\+Attribute()}{TDA\_CreateAttribute()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Create\+Attribute (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Class,  }\item[{const char $\ast$}]{name,  }\item[{\+\_\+\+\_\+int64}]{r\+Primitive\+Type }\end{DoxyParamCaption})}

Creates (defines) a new attribute for the given class. The default cardinality is the widest cardinality supported by the repository (e.\+g., \char`\"{}0..$\ast$\char`\"{}, if multi-\/valued attributes are supported; or \char`\"{}0..\+1\char`\"{}, otherwise). The cardinality can be looked up and changed by using the quasi-\/linguistic meta-\/metalevel. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Class} & a reference to an existing class, for which to define the attribute \\
\hline
{\em name} & the name of the attribute being created; it must be unique within all the attributes defined for this class, including derived ones \\
\hline
{\em r\+Primitive\+Type} & a reference to a primitive data type for attribute values \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a reference to the attribute just created, or 0 on error. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_ga6cd29c35f0140564eb27bbd77553940d}\label{group__tdakernelraapi_ga6cd29c35f0140564eb27bbd77553940d}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Is\+Derived\+Class@{T\+D\+A\+\_\+\+Is\+Derived\+Class}}
\index{T\+D\+A\+\_\+\+Is\+Derived\+Class@{T\+D\+A\+\_\+\+Is\+Derived\+Class}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Is\+Derived\+Class()}{TDA\_IsDerivedClass()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Is\+Derived\+Class (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Directly\+Or\+Indirectly\+Derived\+Class,  }\item[{\+\_\+\+\_\+int64}]{r\+Super\+Class }\end{DoxyParamCaption})}

Checks whether one class is a direct or indirect subclass of another. ~\newline
{\itshape {\bfseries Note (M3)\+: }}Both classes may be either quasi-\/ontological, or quasi-\/linguistic. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Directly\+Or\+Indirectly\+Derived\+Class} & a reference to a potential subclass or derived class \\
\hline
{\em r\+Super\+Class} & a reference to a potential (direct or indirect) superclass \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
whether the first class derives from the second. On error, {\ttfamily false} is returned. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_gad2bb0df50d122dd1ea14b8d7a572d136}\label{group__tdakernelraapi_gad2bb0df50d122dd1ea14b8d7a572d136}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Find\+Attribute@{T\+D\+A\+\_\+\+Find\+Attribute}}
\index{T\+D\+A\+\_\+\+Find\+Attribute@{T\+D\+A\+\_\+\+Find\+Attribute}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Find\+Attribute()}{TDA\_FindAttribute()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Find\+Attribute (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Class,  }\item[{const char $\ast$}]{name }\end{DoxyParamCaption})}

Obtains a reference to an existing attribute with the given name of the given class. ~\newline
{\itshape {\bfseries Note (M3)\+: }}The class reference may point also to a quasi-\/linguistic class. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Class} & a reference to a class, where the attribute in question belongs; {\ttfamily r\+Class} may be also one of its subclasses, since the attribute is available for subclasses, too \\
\hline
{\em name} & the name of the attribute \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a reference to the desired attribute, or 0 on error; the reference returned is the same reference for the class, for which the attribute was defined, as well as for derived classes. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_ga6042b016064d36415772aa841e200b1f}\label{group__tdakernelraapi_ga6042b016064d36415772aa841e200b1f}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Delete\+Attribute@{T\+D\+A\+\_\+\+Delete\+Attribute}}
\index{T\+D\+A\+\_\+\+Delete\+Attribute@{T\+D\+A\+\_\+\+Delete\+Attribute}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Delete\+Attribute()}{TDA\_DeleteAttribute()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Delete\+Attribute (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Attribute }\end{DoxyParamCaption})}

Deletes the given attribute. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Attribute} & a reference to the attribute to be deleted \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
whether the operation succeeded. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__tdakernelraapi_gaee732cf11b07ef3fafef5b7a29af6753}\label{group__tdakernelraapi_gaee732cf11b07ef3fafef5b7a29af6753}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Get\+Attribute\+Name@{T\+D\+A\+\_\+\+Get\+Attribute\+Name}}
\index{T\+D\+A\+\_\+\+Get\+Attribute\+Name@{T\+D\+A\+\_\+\+Get\+Attribute\+Name}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Get\+Attribute\+Name()}{TDA\_GetAttributeName()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN const char$\ast$ T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Get\+Attribute\+Name (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Attribute }\end{DoxyParamCaption})}

Returns the name of the given attribute. ~\newline
{\itshape {\bfseries Note (M3)\+: }}The function works also for attributes of quasi-\/linguistic classes. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Attribute} & a reference to the attribute in question \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the name of the given attribute, or {\ttfamily null} on error. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_ga14775caac43b45799d8014bcfcebb8a7}\label{group__tdakernelraapi_ga14775caac43b45799d8014bcfcebb8a7}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Get\+Primitive\+Data\+Type\+Name@{T\+D\+A\+\_\+\+Get\+Primitive\+Data\+Type\+Name}}
\index{T\+D\+A\+\_\+\+Get\+Primitive\+Data\+Type\+Name@{T\+D\+A\+\_\+\+Get\+Primitive\+Data\+Type\+Name}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Get\+Primitive\+Data\+Type\+Name()}{TDA\_GetPrimitiveDataTypeName()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN const char$\ast$ T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Get\+Primitive\+Data\+Type\+Name (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Data\+Type }\end{DoxyParamCaption})}

Returns the name of the given primitive data type. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Data\+Type} & a reference to a primitive data type, for which the name has to be obtained \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the name of the given primitive data type, or {\ttfamily null} on error. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
R\+A\+A\+P\+I\+::find\+Primitive\+Data\+Type 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_ga0db4a7daf9810acb4c4da5a598430472}\label{group__tdakernelraapi_ga0db4a7daf9810acb4c4da5a598430472}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Find\+Primitive\+Data\+Type@{T\+D\+A\+\_\+\+Find\+Primitive\+Data\+Type}}
\index{T\+D\+A\+\_\+\+Find\+Primitive\+Data\+Type@{T\+D\+A\+\_\+\+Find\+Primitive\+Data\+Type}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Find\+Primitive\+Data\+Type()}{TDA\_FindPrimitiveDataType()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Find\+Primitive\+Data\+Type (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{const char $\ast$}]{name }\end{DoxyParamCaption})}

Obtains a reference to a primitive data type with the given name. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em name} & the type name. Each repository must support at least four standard primitive data types\+: \char`\"{}\+Integer\char`\"{}, \char`\"{}\+Real\char`\"{}, \char`\"{}\+Boolean\char`\"{}, and \char`\"{}\+String\char`\"{}. ~\newline
 \mbox{[}T\+O\+DO\mbox{]} Certain repositories may introduce additional primitive types. To denote a repository-\/specific additional primitive data type, prepend the mount point of that repository, e.\+g., {\ttfamily Mount\+Point\+::\+Peculiar\+Data\+Type}. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a reference to a primitive data type with the given name, or 0 on error. ~\newline
{\itshape {\bfseries Note (T\+DA Kernel)\+:}} T\+DA Kernel returns a proxy reference, which is usable even when there are multiple repositories mounted or non-\/standard primitive data types are used. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__tdakernelraapi_ga00193c1dbf1c1c0a1b3dadbc37285409}\label{group__tdakernelraapi_ga00193c1dbf1c1c0a1b3dadbc37285409}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Is\+Primitive\+Data\+Type@{T\+D\+A\+\_\+\+Is\+Primitive\+Data\+Type}}
\index{T\+D\+A\+\_\+\+Is\+Primitive\+Data\+Type@{T\+D\+A\+\_\+\+Is\+Primitive\+Data\+Type}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Is\+Primitive\+Data\+Type()}{TDA\_IsPrimitiveDataType()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Is\+Primitive\+Data\+Type (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r }\end{DoxyParamCaption})}

Checks whether the given reference is associated with a primitive data type. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r} & a reference in question \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
whether the given reference is associated with a primitive data type. On error, {\ttfamily false} is returned. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
R\+A\+A\+P\+I\+::find\+Primitive\+Data\+Type 

R\+A\+A\+P\+I\+::get\+Primitive\+Data\+Type\+Name 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_ga63602b2cb60f5c4ad934f62f70f57c00}\label{group__tdakernelraapi_ga63602b2cb60f5c4ad934f62f70f57c00}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Get\+Iterator\+For\+Classes@{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Classes}}
\index{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Classes@{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Classes}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Classes()}{TDA\_GetIteratorForClasses()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Get\+Iterator\+For\+Classes (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel }\end{DoxyParamCaption})}

Obtains an iterator for all classes (all quasi-\/ontological classes at all quasi-\/ontological meta-\/levels). ~\newline
{\itshape {\bfseries Note (M3)\+: }}Linguistic classes are not traversed by this iterator. Use {\ttfamily get\+Iterator\+For\+Linguistic\+Classes} instead.~\newline
 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
an iterator for all classes, or 0 on error. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
R\+A\+A\+P\+I\+::get\+Iterator\+For\+Linguistic\+Classes 

\href{http://webappos.org/dev/raapi/notes.html#iterators}{\tt on iterators} 

\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_gaa18359b72f0f6a6a595dea71bfe38243}\label{group__tdakernelraapi_gaa18359b72f0f6a6a595dea71bfe38243}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Get\+Attribute\+Value@{T\+D\+A\+\_\+\+Get\+Attribute\+Value}}
\index{T\+D\+A\+\_\+\+Get\+Attribute\+Value@{T\+D\+A\+\_\+\+Get\+Attribute\+Value}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Get\+Attribute\+Value()}{TDA\_GetAttributeValue()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN const char$\ast$ T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Get\+Attribute\+Value (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Object,  }\item[{\+\_\+\+\_\+int64}]{r\+Attribute }\end{DoxyParamCaption})}

Gets the value or the ordered collection of values (encoded as a string) of the given attribute for the given object. ~\newline
{\itshape {\bfseries Note (M3)\+: }}The attribute reference can be a reference at the M3 level. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Object} & the object, for which to get the attribute value (values) \\
\hline
{\em r\+Attribute} & the attribute, for which to obtain the value; this attribute must be associated either with a quasi-\/ontological class or the quasi-\/linguistic class of the given object \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the attribute value (values) encoded as a string (for the decimal point the dot symbol \char`\"{}.\char`\"{} is used), or {\ttfamily null} on error. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#encodingvalues}{\tt on encoding values} 

\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_ga98c81aa8438c5aa80962a817695a499b}\label{group__tdakernelraapi_ga98c81aa8438c5aa80962a817695a499b}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Create\+Association@{T\+D\+A\+\_\+\+Create\+Association}}
\index{T\+D\+A\+\_\+\+Create\+Association@{T\+D\+A\+\_\+\+Create\+Association}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Create\+Association()}{TDA\_CreateAssociation()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Create\+Association (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Source\+Class,  }\item[{\+\_\+\+\_\+int64}]{r\+Target\+Class,  }\item[{const char $\ast$}]{source\+Role\+Name,  }\item[{const char $\ast$}]{target\+Role\+Name,  }\item[{bool}]{is\+Composition }\end{DoxyParamCaption})}

Creates a bidirectional association (or two directed associations, where each is an inverse of the other). The default value for the source and target cardinalities should be \char`\"{}$\ast$\char`\"{}. ~\newline
{\itshape {\bfseries Note (M3)\+: }} The M3 level can be used to get/set the cardinality, if the repository supports constraints and the M3 level operations. Cardinality constraints must be accessible via M3 for that. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Source\+Class} & the class, where the association starts \\
\hline
{\em r\+Target\+Class} & the class, where the association ends \\
\hline
{\em source\+Role\+Name} & the name of the association end near the source class \\
\hline
{\em target\+Role\+Name} & the name of the association end near the target class \\
\hline
{\em is\+Composition} & whether the association is a composition, i.\+e., the source class objects are containers for the target class objects \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a reference for the target association end of the association just created, or 0 on error. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_gafc380f62ff2af912ccf56e4a1392f2cd}\label{group__tdakernelraapi_gafc380f62ff2af912ccf56e4a1392f2cd}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Sub\+Classes@{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Sub\+Classes}}
\index{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Sub\+Classes@{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Sub\+Classes}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Sub\+Classes()}{TDA\_GetIteratorForDirectSubClasses()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Sub\+Classes (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Super\+Class }\end{DoxyParamCaption})}

Obtains an iterator for all direct subclasses of the given superclass. ~\newline
{\itshape {\bfseries Note (M3)\+: }}If the given superclass is a quasi-\/linguistic class, then an iterator for direct quasi-\/linguistic subclasses is returned. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Super\+Class} & a superclass for which to obtain direct subclasses \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
an iterator for all direct subclasses of the given superclass, or 0 on error. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#iterators}{\tt on iterators} 

\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_gab8bd71eb0532161566b522da9db2f2d4}\label{group__tdakernelraapi_gab8bd71eb0532161566b522da9db2f2d4}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Get\+Iterator\+For\+All\+Class\+Objects@{T\+D\+A\+\_\+\+Get\+Iterator\+For\+All\+Class\+Objects}}
\index{T\+D\+A\+\_\+\+Get\+Iterator\+For\+All\+Class\+Objects@{T\+D\+A\+\_\+\+Get\+Iterator\+For\+All\+Class\+Objects}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Get\+Iterator\+For\+All\+Class\+Objects()}{TDA\_GetIteratorForAllClassObjects()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Get\+Iterator\+For\+All\+Class\+Objects (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Class\+Or\+Advanced\+Association }\end{DoxyParamCaption})}

Obtains an iterator for all quasi-\/ontological instances of the given class or advanced association. ~\newline
{\itshape {\bfseries Note (adapters)\+: }}A repository adapter may implement only one of the functions {\ttfamily get\+Iterator\+For\+All\+Class\+Objects} and {\ttfamily get\+Iterator\+For\+Direct\+Class\+Objects}. The unimplemented function will be implemented via another by T\+DA Kernel. ~\newline
{\itshape {\bfseries Note (M3)\+: }}If the given class or advanced association is quasi-\/linguistic, then an iterator for the quasi-\/linguistic elements it describes is returned, e.\+g., for the E\+M\+OF class \char`\"{}\+Class\char`\"{}, an iterator for all classes found in E\+M\+OF is returned; for the E\+M\+OF class \char`\"{}\+Property\char`\"{}, an iterator for all properties found in E\+M\+OF is returned, etc. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Class\+Or\+Advanced\+Association} & a reference to a class or an advanced association \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
an iterator for all quasi-\/ontological instances (objects) of the given class or advanced association. On error, 0 is returned. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
R\+A\+A\+P\+I\+::get\+Iterator\+For\+Direct\+Class\+Objects 

\href{http://webappos.org/dev/raapi/notes.html#iterators}{\tt on iterators} 

\href{http://webappos.org/dev/raapi/notes.html#advancedssociations}{\tt on advanced associations} 

\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_gaeeda186ed186b646b465111461a27d5b}\label{group__tdakernelraapi_gaeeda186ed186b646b465111461a27d5b}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Attributes@{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Attributes}}
\index{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Attributes@{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Attributes}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Attributes()}{TDA\_GetIteratorForDirectAttributes()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Attributes (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Class }\end{DoxyParamCaption})}

Obtains an iterator for direct (without inherited) attributes of the given class. ~\newline
{\itshape {\bfseries Note (adapters)\+: }}A repository adapter may implement only one of the functions {\ttfamily get\+Iterator\+For\+All\+Attributes} and {\ttfamily get\+Iterator\+For\+Direct\+Attributes}. The unimplemented function will be implemented via another by T\+DA Kernel. ~\newline
{\itshape {\bfseries Note (M3)\+: }}The function works also for quasi-\/linguistic classes. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Class} & a reference to a class, whose attributes we are interested in \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
an iterator for direct attributes of the given class. On error, 0 is returned. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
R\+A\+A\+P\+I\+::get\+Iterator\+For\+All\+Attributes 

\href{http://webappos.org/dev/raapi/notes.html#iterators}{\tt on iterators} 

\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_ga48b81b3ccd3726105e56592ee7758839}\label{group__tdakernelraapi_ga48b81b3ccd3726105e56592ee7758839}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Get\+Attribute\+Domain@{T\+D\+A\+\_\+\+Get\+Attribute\+Domain}}
\index{T\+D\+A\+\_\+\+Get\+Attribute\+Domain@{T\+D\+A\+\_\+\+Get\+Attribute\+Domain}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Get\+Attribute\+Domain()}{TDA\_GetAttributeDomain()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Get\+Attribute\+Domain (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Attribute }\end{DoxyParamCaption})}

Obtains a class, for which the given attribute was defined. ~\newline
{\itshape {\bfseries Note (M3)\+: }}The function works also for attributes of quasi-\/linguistic classes. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Attribute} & a reference to the attribute in question \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a reference to a class, for which the given attribute belongs, or 0 on error. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_gacb47f1770bb34948913c4ab2009b6d90}\label{group__tdakernelraapi_gacb47f1770bb34948913c4ab2009b6d90}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Delete\+Generalization@{T\+D\+A\+\_\+\+Delete\+Generalization}}
\index{T\+D\+A\+\_\+\+Delete\+Generalization@{T\+D\+A\+\_\+\+Delete\+Generalization}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Delete\+Generalization()}{TDA\_DeleteGeneralization()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Delete\+Generalization (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Sub\+Class,  }\item[{\+\_\+\+\_\+int64}]{r\+Super\+Class }\end{DoxyParamCaption})}

Deletes the generalization between the given two classes. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Sub\+Class} & a class that was a subclass \\
\hline
{\em r\+Super\+Class} & a class that was a superclass \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
whether the operation succeeded. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__tdakernelraapi_gaaa2a5e86d847b9af2231e30da4de69d6}\label{group__tdakernelraapi_gaaa2a5e86d847b9af2231e30da4de69d6}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Create\+Generalization@{T\+D\+A\+\_\+\+Create\+Generalization}}
\index{T\+D\+A\+\_\+\+Create\+Generalization@{T\+D\+A\+\_\+\+Create\+Generalization}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Create\+Generalization()}{TDA\_CreateGeneralization()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Create\+Generalization (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Sub\+Class,  }\item[{\+\_\+\+\_\+int64}]{r\+Super\+Class }\end{DoxyParamCaption})}

Creates a generalization between the two given classes. ~\newline
 The given subclass can be a derived class of the given superclass, but the direct generalization between them must not exist. ~\newline
 The generalization relation being created must not introduce inheritance loops. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Sub\+Class} & a class that becomes a subclass \\
\hline
{\em r\+Super\+Class} & a class that becomes a superclass \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
whether the operation succeeded. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__tdakernelraapi_gaeca13891e486dffa3324aeb3e6264ba6}\label{group__tdakernelraapi_gaeca13891e486dffa3324aeb3e6264ba6}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Exclude\+Object\+From\+Class@{T\+D\+A\+\_\+\+Exclude\+Object\+From\+Class}}
\index{T\+D\+A\+\_\+\+Exclude\+Object\+From\+Class@{T\+D\+A\+\_\+\+Exclude\+Object\+From\+Class}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Exclude\+Object\+From\+Class()}{TDA\_ExcludeObjectFromClass()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Exclude\+Object\+From\+Class (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Object,  }\item[{\+\_\+\+\_\+int64}]{r\+Class }\end{DoxyParamCaption})}

Takes out the given object from the given (quasi-\/ontological) class. ~\newline
 The function works, if the underlying repository supports multiple classification and dynamic reclassification. If the object currently is only in one class, then the operation fails (it is assumed that each object must be at least in one class). ~\newline
{\itshape {\bfseries Note (M3)\+: }}It is assumed that an element from a quasi-\/ontological level can be associated with only one quasi-\/linguistic type (quasi-\/linguistic class), thus, {\ttfamily exclude\+Object\+In\+Class} as well as {\ttfamily include\+Object\+In\+Class} are meaningless in this case. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Object} & a reference to the object to be excluded from the given class \\
\hline
{\em r\+Class} & a reference to the class, which to exclude from the classifiers of the given object \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
whether the operation succeeded. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_gaf89999cc0fa923f0f3ab1b8a984427df}\label{group__tdakernelraapi_gaf89999cc0fa923f0f3ab1b8a984427df}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Get\+Iterator\+For\+All\+Attributes@{T\+D\+A\+\_\+\+Get\+Iterator\+For\+All\+Attributes}}
\index{T\+D\+A\+\_\+\+Get\+Iterator\+For\+All\+Attributes@{T\+D\+A\+\_\+\+Get\+Iterator\+For\+All\+Attributes}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Get\+Iterator\+For\+All\+Attributes()}{TDA\_GetIteratorForAllAttributes()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Get\+Iterator\+For\+All\+Attributes (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Class }\end{DoxyParamCaption})}

Obtains an iterator for all (including inherited) attributes of the given class. ~\newline
{\itshape {\bfseries Note (adapters)\+: }}A repository adapter may implement only one of the functions {\ttfamily get\+Iterator\+For\+All\+Attributes} and {\ttfamily get\+Iterator\+For\+Direct\+Attributes}. The unimplemented function will be implemented via another by T\+DA Kernel. ~\newline
{\itshape {\bfseries Note (M3)\+: }}The function works also for quasi-\/linguistic classes. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Class} & a reference to a class, whose attributes we are interested in \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
an iterator for all attributes (including inherited) of the given class. On error, 0 is returned. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
R\+A\+A\+P\+I\+::get\+Iterator\+For\+Direct\+Attributes 

\href{http://webappos.org/dev/raapi/notes.html#iterators}{\tt on iterators} 

\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_ga2b1493b89bc3df1584e5c38c0582909c}\label{group__tdakernelraapi_ga2b1493b89bc3df1584e5c38c0582909c}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Include\+Object\+In\+Class@{T\+D\+A\+\_\+\+Include\+Object\+In\+Class}}
\index{T\+D\+A\+\_\+\+Include\+Object\+In\+Class@{T\+D\+A\+\_\+\+Include\+Object\+In\+Class}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Include\+Object\+In\+Class()}{TDA\_IncludeObjectInClass()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Include\+Object\+In\+Class (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Object,  }\item[{\+\_\+\+\_\+int64}]{r\+Class }\end{DoxyParamCaption})}

Adds the given object to the given (quasi-\/ontological) class. The function works, if the underlying repository supports multiple classification and dynamic reclassification. ~\newline
{\itshape {\bfseries Note (M3)\+: }}It is assumed that an element from a quasi-\/ontological level can be associated with only one quasi-\/linguistic type (quasi-\/linguistic class), thus, {\ttfamily include\+Object\+In\+Class} is meaningless in this case. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Object} & a reference to the object to be included in the given class \\
\hline
{\em r\+Class} & a reference to the class, where to put the object (in addition to classes, where the object already belongs) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
whether the operation succeeded. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_gabf7015221c135f06a240c5611debd1a9}\label{group__tdakernelraapi_gabf7015221c135f06a240c5611debd1a9}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Super\+Classes@{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Super\+Classes}}
\index{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Super\+Classes@{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Super\+Classes}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Super\+Classes()}{TDA\_GetIteratorForDirectSuperClasses()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Super\+Classes (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Sub\+Class }\end{DoxyParamCaption})}

Obtains an iterator for all direct superclasses of the given subclass. ~\newline
{\itshape {\bfseries Note (M3)\+: }}If the given subclass is a quasi-\/linguistic class, then an iterator for its direct quasi-\/linguistic superclasses is returned. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Sub\+Class} & a subclass for which to obtain direct superclasses \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
an iterator for all direct superclasses of the given subclass, or 0 on error. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#iterators}{\tt on iterators} 

\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_gaabc64a09f38a26ca70cccbdeb130d383}\label{group__tdakernelraapi_gaabc64a09f38a26ca70cccbdeb130d383}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Class\+Objects@{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Class\+Objects}}
\index{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Class\+Objects@{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Class\+Objects}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Class\+Objects()}{TDA\_GetIteratorForDirectClassObjects()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Class\+Objects (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Class\+Or\+Advanced\+Association }\end{DoxyParamCaption})}

Obtains an iterator for direct quasi-\/ontological instances of the given class or advanced association. ~\newline
{\itshape {\bfseries Note (adapters)\+: }}A repository adapter may implement only one of the functions {\ttfamily get\+Iterator\+For\+All\+Class\+Objects} and {\ttfamily get\+Iterator\+For\+Direct\+Class\+Objects}. The unimplemented function will be implemented via another by T\+DA Kernel. ~\newline
{\itshape {\bfseries Note (M3)\+: }}If the given class or advanced association is quasi-\/linguistic, then an iterator for the quasi-\/linguistic elements it describes is returned, e.\+g., for the E\+M\+OF class \char`\"{}\+Class\char`\"{}, an iterator for all classes found in E\+M\+OF is returned; for the E\+M\+OF class \char`\"{}\+Property\char`\"{}, an iterator for all properties found in E\+M\+OF is returned, etc. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Class\+Or\+Advanced\+Association} & a reference to a class or an advanced association \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
an iterator for direct quasi-\/ontological instances (objects) of the given class or advanced association. On error, 0 is returned. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
R\+A\+A\+P\+I\+::get\+Iterator\+For\+All\+Class\+Objects 

\href{http://webappos.org/dev/raapi/notes.html#iterators}{\tt on iterators} 

\href{http://webappos.org/dev/raapi/notes.html#advancedssociations}{\tt on advanced associations} 

\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_gab1803289d3597f96f05a81147353a8ea}\label{group__tdakernelraapi_gab1803289d3597f96f05a81147353a8ea}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Set\+Attribute\+Value@{T\+D\+A\+\_\+\+Set\+Attribute\+Value}}
\index{T\+D\+A\+\_\+\+Set\+Attribute\+Value@{T\+D\+A\+\_\+\+Set\+Attribute\+Value}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Set\+Attribute\+Value()}{TDA\_SetAttributeValue()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Set\+Attribute\+Value (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Object,  }\item[{\+\_\+\+\_\+int64}]{r\+Attribute,  }\item[{const char $\ast$}]{value }\end{DoxyParamCaption})}

Sets the value or the ordered collection of values (encoded as a string) of the given attribute for the given object. ~\newline
{\itshape {\bfseries Note (adapters)\+: }}Repository adapters may assume that the value is not {\ttfamily null} and not a string encoding {\ttfamily null}, since for those cases T\+DA Kernel forwards the call to {\ttfamily delete\+Attribute\+Value}. ~\newline
{\itshape {\bfseries Note (M3)\+: }}The attribute reference can be a reference at the M3 level. In this case the object can be any element at the M\+\_\+\+Omega level. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Object} & the object, for which to set the attribute value (values) \\
\hline
{\em r\+Attribute} & the attribute, for which to set the value; this attribute must be associated either with a quasi-\/ontological class or the quasi-\/linguistic class of the given object \\
\hline
{\em value} & the attribute value (values) encoded as a string (use \char`\"{}.\char`\"{} for the decimal point) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
whether the value(s) has (have) been set. On error, {\ttfamily false} is returned. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#encodingvalues}{\tt on encoding values} 

\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_gafc6d49d0198c666d306cfc1debe10267}\label{group__tdakernelraapi_gafc6d49d0198c666d306cfc1debe10267}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Delete\+Attribute\+Value@{T\+D\+A\+\_\+\+Delete\+Attribute\+Value}}
\index{T\+D\+A\+\_\+\+Delete\+Attribute\+Value@{T\+D\+A\+\_\+\+Delete\+Attribute\+Value}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Delete\+Attribute\+Value()}{TDA\_DeleteAttributeValue()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Delete\+Attribute\+Value (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Object,  }\item[{\+\_\+\+\_\+int64}]{r\+Attribute }\end{DoxyParamCaption})}

Deletes the value (all the values) of the given attribute for the given object. ~\newline
{\itshape {\bfseries Note (M3)\+: }}The attribute reference can be a reference at the M3 level. In this case the object can be any element at the M\+\_\+\+Omega level. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Object} & the object, for which to get the attribute value (values) \\
\hline
{\em r\+Attribute} & the attribute, for which to obtain the value; this attribute must be associated either with a quasi-\/ontological class or the quasi-\/linguistic class of the given object \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
whether the operation succeeded. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#encodingvalues}{\tt on encoding values} 

\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_ga959ecf0e30cd372ab0ef3d719ae40235}\label{group__tdakernelraapi_ga959ecf0e30cd372ab0ef3d719ae40235}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Linguistic\+Instances@{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Linguistic\+Instances}}
\index{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Linguistic\+Instances@{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Linguistic\+Instances}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Linguistic\+Instances()}{TDA\_GetIteratorForDirectLinguisticInstances()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Linguistic\+Instances (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Class }\end{DoxyParamCaption})}

Returns an iterator for direct quasi-\/linguistic instances (not including instances of subclasses) at Level M\+\_\+\+Omega of the given class at Level M3. ~\newline
{\itshape {\bfseries Note (M3)\+: }}This function takes a class at Level M3 and returns an iterator for elements at Level M\+\_\+\+Omega. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Class} & a Level M3 class \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
an iterator for direct quasi-\/linguistic instances at Level M\+\_\+\+Omega of the given class at Level M3, or 0 on error. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_ga80e6c8ab09cb65eab3a24eefc7cd9f63}\label{group__tdakernelraapi_ga80e6c8ab09cb65eab3a24eefc7cd9f63}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Object\+Classes@{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Object\+Classes}}
\index{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Object\+Classes@{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Object\+Classes}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Object\+Classes()}{TDA\_GetIteratorForDirectObjectClasses()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Object\+Classes (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Object\+Or\+Advanced\+Link }\end{DoxyParamCaption})}

Obtains an iterator for direct quasi-\/ontological classes of the given object or advanced link. ~\newline
{\itshape {\bfseries Note (M3)\+: }}The function works also if the given object or advanced link is quasi-\/linguistic and the underlying repository provides access to quasi-\/linguistic elements. To get the quasi-\/linguistic class for the given element at some quasi-\/ontological level, use {\ttfamily get\+Linguistic\+Class\+For}. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Object\+Or\+Advanced\+Link} & a reference to an object or advanced link \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
an iterator for direct quasi-\/ontological classes of the given object or advanced link. On error, 0 is returned. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
R\+A\+A\+P\+I\+::get\+Linguistic\+Class\+For 

\href{http://webappos.org/dev/raapi/notes.html#iterators}{\tt on iterators} 

\href{http://webappos.org/dev/raapi/notes.html#advancedssociations}{\tt on advanced associations} 

\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_ga106f70e875c0991bb08a8a55d31b4d49}\label{group__tdakernelraapi_ga106f70e875c0991bb08a8a55d31b4d49}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Get\+Iterator\+For\+Objects\+By\+Attribute\+Value@{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Objects\+By\+Attribute\+Value}}
\index{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Objects\+By\+Attribute\+Value@{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Objects\+By\+Attribute\+Value}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Objects\+By\+Attribute\+Value()}{TDA\_GetIteratorForObjectsByAttributeValue()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Get\+Iterator\+For\+Objects\+By\+Attribute\+Value (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Attribute,  }\item[{const char $\ast$}]{value }\end{DoxyParamCaption})}

Obtains an iterator for objects, for whose the value of the given attribute equals to the given value. The value has to be encoded as a string (it may encode an ordered collection of multiple values). ~\newline
{\itshape {\bfseries Note (M3)\+: }}The attribute reference can be a reference at the M3 level. In this case the objects traversed by the returned iterator are elements at the M\+\_\+\+Omega level. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Attribute} & the attribute to check \\
\hline
{\em value} & the value to check \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the iterator for objects with the given attribute value, or 0 on error. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#iterators}{\tt on iterators} 

\href{http://webappos.org/dev/raapi/notes.html#encodingvalues}{\tt on encoding values} 

\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_ga8fae1a39aeb8d8ca111048ba2ed717f5}\label{group__tdakernelraapi_ga8fae1a39aeb8d8ca111048ba2ed717f5}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Get\+Iterator\+For\+All\+Outgoing\+Association\+Ends@{T\+D\+A\+\_\+\+Get\+Iterator\+For\+All\+Outgoing\+Association\+Ends}}
\index{T\+D\+A\+\_\+\+Get\+Iterator\+For\+All\+Outgoing\+Association\+Ends@{T\+D\+A\+\_\+\+Get\+Iterator\+For\+All\+Outgoing\+Association\+Ends}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Get\+Iterator\+For\+All\+Outgoing\+Association\+Ends()}{TDA\_GetIteratorForAllOutgoingAssociationEnds()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Get\+Iterator\+For\+All\+Outgoing\+Association\+Ends (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Class }\end{DoxyParamCaption})}

Obtains an iterator for all (including inherited) outgoing association ends of the given class. ~\newline
{\itshape {\bfseries Note (adapters)\+: }}A repository adapter may implement only one of the functions {\ttfamily get\+Iterator\+For\+All\+Outgoing\+Association\+Ends} and {\ttfamily get\+Iterator\+For\+Direct\+Outgoing\+Association\+Ends}. The unimplemented function will be implemented via another by T\+DA Kernel. ~\newline
{\itshape {\bfseries Note (M3)\+: }}The function works also for associations at Level M3. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Class} & a reference to a class, whose outgoing associations (including inherited) have to be traversed \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
an iterator for all (including inherited) outgoing association ends of the given class. On error, 0 is returned. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
R\+A\+A\+P\+I\+::get\+Iterator\+For\+Direct\+Outgoing\+Association\+Ends 

\href{http://webappos.org/dev/raapi/notes.html#iterators}{\tt on iterators} 

\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_ga0ceaf6e3fac39d1b52a05b7f0e698ebe}\label{group__tdakernelraapi_ga0ceaf6e3fac39d1b52a05b7f0e698ebe}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Ingoing\+Association\+Ends@{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Ingoing\+Association\+Ends}}
\index{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Ingoing\+Association\+Ends@{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Ingoing\+Association\+Ends}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Ingoing\+Association\+Ends()}{TDA\_GetIteratorForDirectIngoingAssociationEnds()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Ingoing\+Association\+Ends (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Class }\end{DoxyParamCaption})}

Obtains an iterator for direct (without inherited) ingoing association ends of the given class. ~\newline
{\itshape {\bfseries Note (adapters)\+: }}A repository adapter may implement only one of the functions {\ttfamily get\+Iterator\+For\+All\+Ingoing\+Association\+Ends} and {\ttfamily get\+Iterator\+For\+Direct\+Ingoing\+Association\+Ends}. The unimplemented function will be implemented via another by T\+DA Kernel. ~\newline
{\itshape {\bfseries Note (M3)\+: }}The function works also for associations at Level M3. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Class} & a reference to a class, whose direct ingoing associations have to be traversed \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
an iterator for direct (without inherited) ingoing association ends of the given class. On error, 0 is returned. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
R\+A\+A\+P\+I\+::get\+Iterator\+For\+All\+Ingoing\+Association\+Ends 

\href{http://webappos.org/dev/raapi/notes.html#iterators}{\tt on iterators} 

\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_gad26b195a7a3365d2a73b5a4b5c83d55d}\label{group__tdakernelraapi_gad26b195a7a3365d2a73b5a4b5c83d55d}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Get\+Iterator\+For\+All\+Linguistic\+Instances@{T\+D\+A\+\_\+\+Get\+Iterator\+For\+All\+Linguistic\+Instances}}
\index{T\+D\+A\+\_\+\+Get\+Iterator\+For\+All\+Linguistic\+Instances@{T\+D\+A\+\_\+\+Get\+Iterator\+For\+All\+Linguistic\+Instances}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Get\+Iterator\+For\+All\+Linguistic\+Instances()}{TDA\_GetIteratorForAllLinguisticInstances()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Get\+Iterator\+For\+All\+Linguistic\+Instances (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Class }\end{DoxyParamCaption})}

Returns an iterator for all quasi-\/linguistic instances (including instances of subclasses) at Level M\+\_\+\+Omega of the given class at Level M3. ~\newline
{\itshape {\bfseries Note (M3)\+: }}This function takes a class at Level M3 and returns an iterator for elements at Level M\+\_\+\+Omega. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Class} & a Level M3 class \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
an iterator for direct quasi-\/linguistic instances at Level M\+\_\+\+Omega of the given class (and its subclasses) at Level M3, or 0 on error. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_gac9bc993a1c6bb8feec883c0ab33e86fe}\label{group__tdakernelraapi_gac9bc993a1c6bb8feec883c0ab33e86fe}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Outgoing\+Association\+Ends@{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Outgoing\+Association\+Ends}}
\index{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Outgoing\+Association\+Ends@{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Outgoing\+Association\+Ends}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Outgoing\+Association\+Ends()}{TDA\_GetIteratorForDirectOutgoingAssociationEnds()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Get\+Iterator\+For\+Direct\+Outgoing\+Association\+Ends (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Class }\end{DoxyParamCaption})}

Obtains an iterator for direct (without inherited) outgoing association ends of the given class. ~\newline
{\itshape {\bfseries Note (adapters)\+: }}A repository adapter may implement only one of the functions {\ttfamily get\+Iterator\+For\+All\+Outgoing\+Association\+Ends} and {\ttfamily get\+Iterator\+For\+Direct\+Outgoing\+Association\+Ends}. The unimplemented function will be implemented via another by T\+DA Kernel. ~\newline
{\itshape {\bfseries Note (M3)\+: }}The function works also for associations at Level M3. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Class} & a reference to a class, whose direct outgoing associations have to be traversed \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
an iterator for direct (without inherited) outgoing association ends of the given class. On error, 0 is returned. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
R\+A\+A\+P\+I\+::get\+Iterator\+For\+All\+Outgoing\+Association\+Ends 

\href{http://webappos.org/dev/raapi/notes.html#iterators}{\tt on iterators} 

\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_ga014880099d69181a5654b16f0996de19}\label{group__tdakernelraapi_ga014880099d69181a5654b16f0996de19}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Get\+Iterator\+For\+All\+Ingoing\+Association\+Ends@{T\+D\+A\+\_\+\+Get\+Iterator\+For\+All\+Ingoing\+Association\+Ends}}
\index{T\+D\+A\+\_\+\+Get\+Iterator\+For\+All\+Ingoing\+Association\+Ends@{T\+D\+A\+\_\+\+Get\+Iterator\+For\+All\+Ingoing\+Association\+Ends}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Get\+Iterator\+For\+All\+Ingoing\+Association\+Ends()}{TDA\_GetIteratorForAllIngoingAssociationEnds()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Get\+Iterator\+For\+All\+Ingoing\+Association\+Ends (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Class }\end{DoxyParamCaption})}

Obtains an iterator for all (including inherited) ingoing association ends of the given class. ~\newline
{\itshape {\bfseries Note (adapters)\+: }}A repository adapter may implement only one of the functions {\ttfamily get\+Iterator\+For\+All\+Ingoing\+Association\+Ends} and {\ttfamily get\+Iterator\+For\+Direct\+Ingoing\+Association\+Ends}. The unimplemented function will be implemented via another by T\+DA Kernel. ~\newline
{\itshape {\bfseries Note (M3)\+: }}The function works also for associations at Level M3. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Class} & a reference to a class, whose ingoing associations (including inherited) have to be traversed \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
an iterator for all (including inherited) ingoing association ends of the given class. On error, 0 is returned. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
R\+A\+A\+P\+I\+::get\+Iterator\+For\+Direct\+Ingoing\+Association\+Ends 

\href{http://webappos.org/dev/raapi/notes.html#iterators}{\tt on iterators} 

\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_gad9a9c2c3ac6d10fdcee8e1d69fd728de}\label{group__tdakernelraapi_gad9a9c2c3ac6d10fdcee8e1d69fd728de}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Resolve\+Iterator@{T\+D\+A\+\_\+\+Resolve\+Iterator}}
\index{T\+D\+A\+\_\+\+Resolve\+Iterator@{T\+D\+A\+\_\+\+Resolve\+Iterator}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Resolve\+Iterator()}{TDA\_ResolveIterator()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Resolve\+Iterator (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{it,  }\item[{int}]{position }\end{DoxyParamCaption})}

Returns a reference to the element at the given {\ttfamily position} (numeration starts from 0) and forwards the iterator to {\ttfamily position+1}. ~\newline
{\itshape {\bfseries Note (adapters)\+: }} If not implemented in a repository adapter, T\+DA Kernel traverses all the elements and stores them in a temporary list. Thus, the first call will take the linear execution time, while all subsequent calls will take the constant time. The same refers to the {\ttfamily get\+Iterator\+Length} function. If both {\ttfamily get\+Iterator\+Length} and {\ttfamily resolve\+Iterator} are used, the temporary list is created only once. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em it} & an iterator reference \\
\hline
{\em position} & the position in the iterable list, where the interested element is located \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a reference to the element at the given position, or 0 if the position is out of bounds, or if an error occurred. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
R\+A\+A\+P\+I\+::get\+Iterator\+Length 

R\+A\+A\+P\+I\+::free\+Iterator 

\href{http://webappos.org/dev/raapi/notes.html#iterators}{\tt on iterators} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_ga9c9c4c43016ad4cc77f6070f114b2903}\label{group__tdakernelraapi_ga9c9c4c43016ad4cc77f6070f114b2903}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Get\+Role\+Name@{T\+D\+A\+\_\+\+Get\+Role\+Name}}
\index{T\+D\+A\+\_\+\+Get\+Role\+Name@{T\+D\+A\+\_\+\+Get\+Role\+Name}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Get\+Role\+Name()}{TDA\_GetRoleName()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN const char$\ast$ T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Get\+Role\+Name (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Association\+End }\end{DoxyParamCaption})}

Returns the role name of the given association end. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Association\+End} & an association end of some directed, bidirectional, or advanced association \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the role name of the given association end, or {\ttfamily null} on error. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#advancedssociations}{\tt on advanced associations} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_ga2f711931a06b11cc95c3a859a0fcc0d4}\label{group__tdakernelraapi_ga2f711931a06b11cc95c3a859a0fcc0d4}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Delete\+Link@{T\+D\+A\+\_\+\+Delete\+Link}}
\index{T\+D\+A\+\_\+\+Delete\+Link@{T\+D\+A\+\_\+\+Delete\+Link}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Delete\+Link()}{TDA\_DeleteLink()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Delete\+Link (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Source\+Object,  }\item[{\+\_\+\+\_\+int64}]{r\+Target\+Object,  }\item[{\+\_\+\+\_\+int64}]{r\+Association\+End }\end{DoxyParamCaption})}

Deletes a link of the given type (specified by {\ttfamily r\+Target\+Association\+End}) between the given two objects. ~\newline
{\itshape {\bfseries Note (M3)\+: }}An association end at Level M3 can also be passed. In this case, at least one of the source and target objects must be an element at the M\+\_\+\+Omega level. The semantics of such link then depends on a particular quasi-\/linguistic metamodel at Level M3. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Source\+Object} & a start object of the link; this object must be an instance of the source class for the given association end \\
\hline
{\em r\+Target\+Object} & an end object of the link; this object must be an instance of the target class for the given association end \\
\hline
{\em r\+Association\+End} & a target association end that specifies the link type \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
whether the operation succeeded. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#advancedssociations}{\tt on advanced associations} 

\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_ga29988f80b80e9e4d9c6852ebd9e421fe}\label{group__tdakernelraapi_ga29988f80b80e9e4d9c6852ebd9e421fe}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Create\+Link@{T\+D\+A\+\_\+\+Create\+Link}}
\index{T\+D\+A\+\_\+\+Create\+Link@{T\+D\+A\+\_\+\+Create\+Link}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Create\+Link()}{TDA\_CreateLink()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Create\+Link (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Source\+Object,  }\item[{\+\_\+\+\_\+int64}]{r\+Target\+Object,  }\item[{\+\_\+\+\_\+int64}]{r\+Association\+End }\end{DoxyParamCaption})}

Creates a link of the given type (specified by {\ttfamily r\+Association\+End}) between two objects. ~\newline
{\itshape {\bfseries Note (M3)\+: }}An association end at Level M3 can also be passed. In this case, at least one of the source and target objects must be an element at the M\+\_\+\+Omega level. The semantics of such link then depends on a particular quasi-\/linguistic metamodel at Level M3. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Source\+Object} & a start object of the link; this object must be an instance of the source class for the given association end \\
\hline
{\em r\+Target\+Object} & an end object of the link; this object must be an instance of the target class for the given association end \\
\hline
{\em r\+Association\+End} & a target association end that specifies the link type \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
whether the operation succeeded. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#advancedssociations}{\tt on advanced associations} 

\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_ga2dc48ad6d45da83eb1a97ad9176c2a51}\label{group__tdakernelraapi_ga2dc48ad6d45da83eb1a97ad9176c2a51}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Is\+Linguistic@{T\+D\+A\+\_\+\+Is\+Linguistic}}
\index{T\+D\+A\+\_\+\+Is\+Linguistic@{T\+D\+A\+\_\+\+Is\+Linguistic}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Is\+Linguistic()}{TDA\_IsLinguistic()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Is\+Linguistic (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r }\end{DoxyParamCaption})}

Checks, whether the given reference is associated with a Level M3 element. Can be used together with {\ttfamily is\+Class}, {\ttfamily is\+Association\+End}, etc. to get more details about the element. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r} & a reference in question \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
whether the given reference is associated with a Level M3 element. On error, {\ttfamily false} is returned. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_gad1f23b24a84454a1856b573e7ec4998f}\label{group__tdakernelraapi_gad1f23b24a84454a1856b573e7ec4998f}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Get\+Attribute\+Type@{T\+D\+A\+\_\+\+Get\+Attribute\+Type}}
\index{T\+D\+A\+\_\+\+Get\+Attribute\+Type@{T\+D\+A\+\_\+\+Get\+Attribute\+Type}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Get\+Attribute\+Type()}{TDA\_GetAttributeType()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Get\+Attribute\+Type (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Attribute }\end{DoxyParamCaption})}

Returns the (primitive) type for values of the given attribute. ~\newline
{\itshape {\bfseries Note (M3)\+: }}The function works also for attributes of quasi-\/linguistic classes. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Attribute} & a reference to the attribute in question \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a reference to a primitive data type for values of the given attribute. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_gacc55a422323dc418cf7f662be87dfff2}\label{group__tdakernelraapi_gacc55a422323dc418cf7f662be87dfff2}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Get\+Target\+Class@{T\+D\+A\+\_\+\+Get\+Target\+Class}}
\index{T\+D\+A\+\_\+\+Get\+Target\+Class@{T\+D\+A\+\_\+\+Get\+Target\+Class}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Get\+Target\+Class()}{TDA\_GetTargetClass()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Get\+Target\+Class (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Target\+Association\+End }\end{DoxyParamCaption})}

Obtains a reference to the class corresponding to the given association end of some directed, bidirectional, or advanced association. For bidirectional and advanced associations, any of the two association ends can be considered a target end, when calling this function. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Target\+Association\+End} & an association end of some association; this association end will be considered a target end \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a reference to the class corresponding to the given association end. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#advancedssociations}{\tt on advanced associations} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_ga10d012b82a98f58cb53f7333c2bcddeb}\label{group__tdakernelraapi_ga10d012b82a98f58cb53f7333c2bcddeb}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Is\+Association\+End@{T\+D\+A\+\_\+\+Is\+Association\+End}}
\index{T\+D\+A\+\_\+\+Is\+Association\+End@{T\+D\+A\+\_\+\+Is\+Association\+End}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Is\+Association\+End()}{TDA\_IsAssociationEnd()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Is\+Association\+End (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r }\end{DoxyParamCaption})}

Checks, whether the given reference corresponds to an association end. ~\newline
{\itshape {\bfseries Note (adapters)\+: }}If not implemented in a repository adapter, T\+DA Kernel will implement it by means of {\ttfamily get\+Source\+Class}, {\ttfamily get\+Role\+Name} and {\ttfamily find\+Association\+End}. ~\newline
{\itshape {\bfseries Note (M3)\+: }}A reference at Level M3 can also be passed. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r} & a reference in question \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
whether the given reference corresponds to an association end. On error, {\ttfamily false} is returned. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#advancedssociations}{\tt on advanced associations} 

\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_ga5a9f8ed7808968d90a52e290abba6f2b}\label{group__tdakernelraapi_ga5a9f8ed7808968d90a52e290abba6f2b}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Free\+Reference@{T\+D\+A\+\_\+\+Free\+Reference}}
\index{T\+D\+A\+\_\+\+Free\+Reference@{T\+D\+A\+\_\+\+Free\+Reference}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Free\+Reference()}{TDA\_FreeReference()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN void T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Free\+Reference (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r }\end{DoxyParamCaption})}

Frees the memory associated with the given reference (if necessary). 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__tdakernelraapi_ga99bb17106f6c63052c539f06360e2099}\label{group__tdakernelraapi_ga99bb17106f6c63052c539f06360e2099}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Is\+Attribute@{T\+D\+A\+\_\+\+Is\+Attribute}}
\index{T\+D\+A\+\_\+\+Is\+Attribute@{T\+D\+A\+\_\+\+Is\+Attribute}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Is\+Attribute()}{TDA\_IsAttribute()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Is\+Attribute (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r }\end{DoxyParamCaption})}

Checks whether the given reference is associated with an attribute. ~\newline
{\itshape {\bfseries Note (adapters)\+: }}If a repository adapter does not implement this function, T\+DA Kernel will implement it by means of {\ttfamily get\+Attribute\+Domain}, {\ttfamily get\+Attribute\+Name} and {\ttfamily find\+Attribute}. ~\newline
{\itshape {\bfseries Note (M3)\+: }}A reference at Level M3 can also be passed. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r} & a reference in question \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
whether the given reference is associated with an attribute. On error, {\ttfamily false} is returned. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_ga0a8a863957084ba632f61c4a4713b07f}\label{group__tdakernelraapi_ga0a8a863957084ba632f61c4a4713b07f}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Get\+Source\+Class@{T\+D\+A\+\_\+\+Get\+Source\+Class}}
\index{T\+D\+A\+\_\+\+Get\+Source\+Class@{T\+D\+A\+\_\+\+Get\+Source\+Class}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Get\+Source\+Class()}{TDA\_GetSourceClass()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Get\+Source\+Class (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Target\+Association\+End }\end{DoxyParamCaption})}

Obtains a reference to the source class of the given directed or bidirectional association (or part of an advanced association) specified by its target end. Any of the association ends can be considered a target end, when calling this function. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Target\+Association\+End} & an association end of some association; this association end will be considered a target end \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a reference to the source class of the given association specified by its target end. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#advancedssociations}{\tt on advanced associations} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_ga757207fccd9a7ec9704a99253945cdbb}\label{group__tdakernelraapi_ga757207fccd9a7ec9704a99253945cdbb}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Link\+Exists@{T\+D\+A\+\_\+\+Link\+Exists}}
\index{T\+D\+A\+\_\+\+Link\+Exists@{T\+D\+A\+\_\+\+Link\+Exists}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Link\+Exists()}{TDA\_LinkExists()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Link\+Exists (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Source\+Object,  }\item[{\+\_\+\+\_\+int64}]{r\+Target\+Object,  }\item[{\+\_\+\+\_\+int64}]{r\+Association\+End }\end{DoxyParamCaption})}

Checks whether the link of the given type (specified by {\ttfamily r\+Target\+Association\+End}) between the given two objects exists. ~\newline
{\itshape {\bfseries Note (adapters)\+: }}If not implemented in a repository adapter, T\+DA Kernel will implement this function through {\ttfamily get\+Iterator\+For\+Linked\+Objects}. ~\newline
{\itshape {\bfseries Note (M3)\+: }}An association end at Level M3 can also be passed. In this case, at least one of the source and target objects must be an element at the M\+\_\+\+Omega level. The semantics of such link then depends on a particular quasi-\/linguistic metamodel at Level M3. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Source\+Object} & a start object of the link; this object must be an instance of the source class for the given association end \\
\hline
{\em r\+Target\+Object} & an end object of the link; this object must be an instance of the target class for the given association end \\
\hline
{\em r\+Association\+End} & a target association end that specifies the link type \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
whether the link exists. On error, {\ttfamily false} is returned. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#advancedssociations}{\tt on advanced associations} 

\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_ga7110c4fc7a842e76d4537efea6a56350}\label{group__tdakernelraapi_ga7110c4fc7a842e76d4537efea6a56350}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Is\+Composition@{T\+D\+A\+\_\+\+Is\+Composition}}
\index{T\+D\+A\+\_\+\+Is\+Composition@{T\+D\+A\+\_\+\+Is\+Composition}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Is\+Composition()}{TDA\_IsComposition()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Is\+Composition (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Target\+Association\+End }\end{DoxyParamCaption})}

Returns, whether the directed or bidirectional association (or a part of an advanced association) specified by its target association end is a composition (i.\+e., whether the source class objects are containers for the target class objects). ~\newline
{\itshape {\bfseries Note (M3)\+: }}A reference at Level M3 can also be passed. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Target\+Association\+End} & an association end of some association; this association end will be considered a target end \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
whether the directed or bidirectional association (or a part of an advanced association) is a composition. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#advancedssociations}{\tt on advanced associations} 

\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_gaef48a73a6274baf48e8f62cca7de7c9c}\label{group__tdakernelraapi_gaef48a73a6274baf48e8f62cca7de7c9c}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Free\+Iterator@{T\+D\+A\+\_\+\+Free\+Iterator}}
\index{T\+D\+A\+\_\+\+Free\+Iterator@{T\+D\+A\+\_\+\+Free\+Iterator}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Free\+Iterator()}{TDA\_FreeIterator()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN void T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Free\+Iterator (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{it }\end{DoxyParamCaption})}

Frees the memory associated with the given iterator reference. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em it} & an iterator reference \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#iterators}{\tt on iterators} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_gade13504e436c1f76d2917a4c3a64561b}\label{group__tdakernelraapi_gade13504e436c1f76d2917a4c3a64561b}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Get\+Linguistic\+Class\+For@{T\+D\+A\+\_\+\+Get\+Linguistic\+Class\+For}}
\index{T\+D\+A\+\_\+\+Get\+Linguistic\+Class\+For@{T\+D\+A\+\_\+\+Get\+Linguistic\+Class\+For}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Get\+Linguistic\+Class\+For()}{TDA\_GetLinguisticClassFor()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Get\+Linguistic\+Class\+For (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r }\end{DoxyParamCaption})}

Returns a reference to the Level M3 class of the given quasi-\/ontological (Level M\+\_\+\+Omega) element. It is assumed that there may be at most one quasi-\/linguistic class at M3 for each quasi-\/ontological element at M\+\_\+\+Omega. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r} & a quasi-\/ontological (Level M\+\_\+\+Omega) element \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a reference to the Level M3 class of the given quasi-\/ontological (Level M\+\_\+\+Omega) element. On error or if M3 is not supported by the underlying repository, 0 is returned. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_ga84217391cc75e90705c06e64caab8a00}\label{group__tdakernelraapi_ga84217391cc75e90705c06e64caab8a00}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Delete\+Association@{T\+D\+A\+\_\+\+Delete\+Association}}
\index{T\+D\+A\+\_\+\+Delete\+Association@{T\+D\+A\+\_\+\+Delete\+Association}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Delete\+Association()}{TDA\_DeleteAssociation()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Delete\+Association (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Association\+End\+Or\+Advanced\+Association }\end{DoxyParamCaption})}

Deletes the given association. Directed and bidirectional associations are specified by (one of) their ends. Advanced associations have their own references. If the association is bidirectional, the inverse association end is deleted as well. For advanced associations, all association parts are deleted. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Association\+End\+Or\+Advanced\+Association} & a reference to an association end (if the association is directed or bidirectional) or a reference to an advanced association \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
whether the operation succeeded. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#advancedssociations}{\tt on advanced associations} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_gaee511604dcf198e07cde212a42856e6e}\label{group__tdakernelraapi_gaee511604dcf198e07cde212a42856e6e}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Create\+Ordered\+Link@{T\+D\+A\+\_\+\+Create\+Ordered\+Link}}
\index{T\+D\+A\+\_\+\+Create\+Ordered\+Link@{T\+D\+A\+\_\+\+Create\+Ordered\+Link}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Create\+Ordered\+Link()}{TDA\_CreateOrderedLink()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Create\+Ordered\+Link (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Source\+Object,  }\item[{\+\_\+\+\_\+int64}]{r\+Target\+Object,  }\item[{\+\_\+\+\_\+int64}]{r\+Association\+End,  }\item[{int}]{target\+Position }\end{DoxyParamCaption})}

Creates a link of the given type (specified by {\ttfamily r\+Association\+End}) between two objects at the given position. The target position normally should be from 0 to n, where n is the number of currently linked objects at positions from 0 to n-\/1. If the target position is outside \mbox{[}0..n\mbox{]}, then the link is appended to the end. ~\newline
{\itshape {\bfseries Note (M3)\+: }}An association end at Level M3 can also be passed. In this case, at least one of the source and target objects must be an element at the M\+\_\+\+Omega level. The semantics of such link then depends on a particular quasi-\/linguistic metamodel at Level M3. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Source\+Object} & a start object of the link; this object must be an instance of the source class for the given association end \\
\hline
{\em r\+Target\+Object} & an end object of the link; this object must be an instance of the target class for the given association end \\
\hline
{\em r\+Association\+End} & a target association end that specifies the link type \\
\hline
{\em target\+Position} & the position (starting from 0) of the target object in the list of linked objects of the source object; \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
whether the operation succeeded. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#advancedssociations}{\tt on advanced associations} 

\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_gad3800a6a72f093cd3f1ed6f5bdf0c079}\label{group__tdakernelraapi_gad3800a6a72f093cd3f1ed6f5bdf0c079}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Deserialize\+Reference@{T\+D\+A\+\_\+\+Deserialize\+Reference}}
\index{T\+D\+A\+\_\+\+Deserialize\+Reference@{T\+D\+A\+\_\+\+Deserialize\+Reference}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Deserialize\+Reference()}{TDA\_DeserializeReference()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Deserialize\+Reference (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{const char $\ast$}]{r }\end{DoxyParamCaption})}

Obtains a reference to a serialized element from the given serialization. This is essential for loading inter-\/repository relations. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r} & the serialization of an element, for which to obtain a reference \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a reference corresponding for the given serialization, or 0 on error. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
R\+A\+A\+P\+I\+::serialize\+Reference 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_gadc9f61e4b54cdd1fdc5686f0d989d7aa}\label{group__tdakernelraapi_gadc9f61e4b54cdd1fdc5686f0d989d7aa}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Create\+Directed\+Association@{T\+D\+A\+\_\+\+Create\+Directed\+Association}}
\index{T\+D\+A\+\_\+\+Create\+Directed\+Association@{T\+D\+A\+\_\+\+Create\+Directed\+Association}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Create\+Directed\+Association()}{TDA\_CreateDirectedAssociation()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Create\+Directed\+Association (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Source\+Class,  }\item[{\+\_\+\+\_\+int64}]{r\+Target\+Class,  }\item[{const char $\ast$}]{target\+Role\+Name,  }\item[{bool}]{is\+Composition }\end{DoxyParamCaption})}

Creates a directed association. The default value for the source and target cardinalities should be \char`\"{}$\ast$\char`\"{}. ~\newline
{\itshape {\bfseries Note (adapters)\+: }}If a repository adapter does not implement this function, T\+DA kernel will simulate it by means of {\ttfamily create\+Association} (a stub inverse role will be generated). ~\newline
{\itshape {\bfseries Note (M3)\+: }} The M3 level can be used to get/set the cardinality, if the repository supports constraints and the M3 level operations. Cardinality constraints must be accessible via M3 for that. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Source\+Class} & the class, where the association starts \\
\hline
{\em r\+Target\+Class} & the class, where the association ends \\
\hline
{\em target\+Role\+Name} & the name of the association end near the target class \\
\hline
{\em is\+Composition} & whether the association is a composition, i.\+e., the source class objects are containers for the target class objects \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a reference for the target association end of the association just created, or 0 on error. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_ga86290f034c544196ca7724bd8b785ac0}\label{group__tdakernelraapi_ga86290f034c544196ca7724bd8b785ac0}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Is\+Advanced\+Association@{T\+D\+A\+\_\+\+Is\+Advanced\+Association}}
\index{T\+D\+A\+\_\+\+Is\+Advanced\+Association@{T\+D\+A\+\_\+\+Is\+Advanced\+Association}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Is\+Advanced\+Association()}{TDA\_IsAdvancedAssociation()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN bool T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Is\+Advanced\+Association (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r }\end{DoxyParamCaption})}

Checks, whether the given reference corresponds to an advanced association. ~\newline
{\itshape {\bfseries Note (M3)\+: }}A reference at Level M3 can also be passed. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r} & a reference in question \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
whether the given reference corresponds to an advanced association. On error, {\ttfamily false} is returned. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#advancedssociations}{\tt on advanced associations} 

\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_ga59b1f036044b1d7c8c856f0885dfbed4}\label{group__tdakernelraapi_ga59b1f036044b1d7c8c856f0885dfbed4}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Resolve\+Iterator\+First@{T\+D\+A\+\_\+\+Resolve\+Iterator\+First}}
\index{T\+D\+A\+\_\+\+Resolve\+Iterator\+First@{T\+D\+A\+\_\+\+Resolve\+Iterator\+First}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Resolve\+Iterator\+First()}{TDA\_ResolveIteratorFirst()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Resolve\+Iterator\+First (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{it }\end{DoxyParamCaption})}

Places the iterator to the position 0 and gets the element there. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em it} & an iterator reference \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the element at position 0 in the iterable list. If there are no elements or if an error occurred, 0 is returned. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
R\+A\+A\+P\+I\+::resolve\+Iterator\+Next 

R\+A\+A\+P\+I\+::free\+Iterator 

\href{http://webappos.org/dev/raapi/notes.html#iterators}{\tt on iterators} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_ga8082bb9a9e4a1bf41cd60af4731e4c8a}\label{group__tdakernelraapi_ga8082bb9a9e4a1bf41cd60af4731e4c8a}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Call\+Specific\+Operation@{T\+D\+A\+\_\+\+Call\+Specific\+Operation}}
\index{T\+D\+A\+\_\+\+Call\+Specific\+Operation@{T\+D\+A\+\_\+\+Call\+Specific\+Operation}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Call\+Specific\+Operation()}{TDA\_CallSpecificOperation()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN const char$\ast$ T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Call\+Specific\+Operation (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{const char $\ast$}]{operation\+Name,  }\item[{const char $\ast$}]{arguments }\end{DoxyParamCaption})}

Calls a repository-\/specific operation (e.\+g., or M\+O\+F/\+E\+Core-\/like operation, an S\+QL statement, or a S\+P\+A\+R\+QL statement). Arguments (if any) are encoded as a string delimited by means of the Unicode character U+001E (I\+N\+F\+O\+R\+M\+A\+T\+I\+ON S\+E\+P\+A\+R\+A\+T\+OR T\+WO). For no-\/argument methods {\ttfamily arguments} must be {\ttfamily null}. ~\newline
 For instance, a repository may accept the following calls\+: ~\newline
{\ttfamily call\+Specific\+Operation(\char`\"{}\+S\+Q\+L\char`\"{}, \char`\"{}\+S\+E\+L\+E\+C\+T $\ast$ F\+R\+O\+M M\+Y T\+A\+B\+L\+E\char`\"{});} ~\newline
{\ttfamily call\+Specific\+Operation(\char`\"{}my\+Method\char`\"{}, \char`\"{}\mbox{[}object-\/reference\mbox{]}\mbox{[}u001\+E\mbox{]}\mbox{[}argument1\mbox{]}...\char`\"{});} ~\newline
{\ttfamily call\+Specific\+Operation(\char`\"{}\char`\"{}, null);} ~\newline
For static M\+O\+F/\+E\+Core-\/like operations, the first argument should point to a class. For non-\/static operations the first argument should point to an object (that resembles {\ttfamily this} pointer in Java). 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em operation\+Name} & a repository-\/specific operation name \\
\hline
{\em arguments} & operation-\/specific arguments encoded as a string \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the return value of the call encoded as a string, or {\ttfamily null} on error. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#encodingvalues}{\tt on encoding values} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_ga49acdc0f1778971f762eb9e91339d0b5}\label{group__tdakernelraapi_ga49acdc0f1778971f762eb9e91339d0b5}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Get\+Inverse\+Association\+End@{T\+D\+A\+\_\+\+Get\+Inverse\+Association\+End}}
\index{T\+D\+A\+\_\+\+Get\+Inverse\+Association\+End@{T\+D\+A\+\_\+\+Get\+Inverse\+Association\+End}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Get\+Inverse\+Association\+End()}{TDA\_GetInverseAssociationEnd()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Get\+Inverse\+Association\+End (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Association\+End }\end{DoxyParamCaption})}

Obtains a reference to the inverse association end of the given association end (if association is bidirectional or a bidirectional part of an advanced association). ~\newline
{\itshape {\bfseries Note (M3)\+: }}The function works also for association ends at Level M3. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Association\+End} & a reference to a known association end, for which the inverse end has to be obtained \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a reference to the inverse association end. On error or if the association end does not have the inverse, 0 is returned. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#advancedssociations}{\tt on advanced associations} 

\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_ga951cce37857bacfa9f6290b1aa2c13d3}\label{group__tdakernelraapi_ga951cce37857bacfa9f6290b1aa2c13d3}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Get\+Linked\+Object\+Position@{T\+D\+A\+\_\+\+Get\+Linked\+Object\+Position}}
\index{T\+D\+A\+\_\+\+Get\+Linked\+Object\+Position@{T\+D\+A\+\_\+\+Get\+Linked\+Object\+Position}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Get\+Linked\+Object\+Position()}{TDA\_GetLinkedObjectPosition()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN int T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Get\+Linked\+Object\+Position (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Source\+Object,  }\item[{\+\_\+\+\_\+int64}]{r\+Target\+Object,  }\item[{\+\_\+\+\_\+int64}]{r\+Association\+End }\end{DoxyParamCaption})}

Returns the index (numeration starts from 0) of the target object in the list of objects linked to the source object by links of the given type. ~\newline
{\itshape {\bfseries Note (M3)\+: }}The type of links may also be an association end at Level M3. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Source\+Object} & a source object; this object must be an instance of the source class for the given association end \\
\hline
{\em r\+Target\+Object} & a target object; this object must be an instance of the target class for the given association end \\
\hline
{\em r\+Association\+End} & a target association end that specifies the type of links \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the index (numeration starts from 0) of the given target object in the list of objects linked to the source object. On error or when the source and target objects are not linked by the given association, -\/1 is returned. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#iterators}{\tt on iterators} 

\href{http://webappos.org/dev/raapi/notes.html#advancedssociations}{\tt on advanced associations} 

\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_ga47caf1f96a0d52f8bfd22d317bcee059}\label{group__tdakernelraapi_ga47caf1f96a0d52f8bfd22d317bcee059}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Get\+Iterator\+Length@{T\+D\+A\+\_\+\+Get\+Iterator\+Length}}
\index{T\+D\+A\+\_\+\+Get\+Iterator\+Length@{T\+D\+A\+\_\+\+Get\+Iterator\+Length}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Get\+Iterator\+Length()}{TDA\_GetIteratorLength()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN int T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Get\+Iterator\+Length (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{it }\end{DoxyParamCaption})}

Places the iterator to the position 0 and returns the total number of elements to iterate through. Call {\ttfamily resolve\+Iterator\+First} or {\ttfamily resolve\+Iterator} to move the iterator. ~\newline
{\itshape {\bfseries Note (adapters)\+: }} If not implemented in a repository adapter, T\+DA Kernel traverses all the elements and stores them in a temporary list. Thus, the first call will take the linear execution time, while all subsequent calls will take the constant time. The same refers to the {\ttfamily resolve\+Iterator} function. If both {\ttfamily get\+Iterator\+Length} and {\ttfamily resolve\+Iterator} are used, the temporary list is created only once. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em it} & an iterator reference \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the total number of elements to iterate through. On error returns 0 (thus, the return value still represents the number of iterations, which can be performed with this iterator). 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
R\+A\+A\+P\+I\+::resolve\+Iterator 

R\+A\+A\+P\+I\+::free\+Iterator 

\href{http://webappos.org/dev/raapi/notes.html#iterators}{\tt on iterators} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_gad15a2a8696233a7a10e945601690e3bc}\label{group__tdakernelraapi_gad15a2a8696233a7a10e945601690e3bc}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Get\+Iterator\+For\+Linked\+Objects@{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Linked\+Objects}}
\index{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Linked\+Objects@{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Linked\+Objects}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Linked\+Objects()}{TDA\_GetIteratorForLinkedObjects()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Get\+Iterator\+For\+Linked\+Objects (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Object,  }\item[{\+\_\+\+\_\+int64}]{r\+Association\+End }\end{DoxyParamCaption})}

Returns an iterator for objects linked to the given start object by links of the given type. ~\newline
{\itshape {\bfseries Note (M3)\+: }}The type of links may also be an association end at Level M3. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Object} & a start object, for which the iterable objects are linked this object must be an instance of the source class for the given association end \\
\hline
{\em r\+Association\+End} & a target association end that specifies the type of links \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
an iterator for objects, linked to the given object by links of the given type, or 0 on error. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#iterators}{\tt on iterators} 

\href{http://webappos.org/dev/raapi/notes.html#advancedssociations}{\tt on advanced associations} 

\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_ga7d4182837428d21ece2b4ea6119a9877}\label{group__tdakernelraapi_ga7d4182837428d21ece2b4ea6119a9877}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Create\+Advanced\+Association@{T\+D\+A\+\_\+\+Create\+Advanced\+Association}}
\index{T\+D\+A\+\_\+\+Create\+Advanced\+Association@{T\+D\+A\+\_\+\+Create\+Advanced\+Association}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Create\+Advanced\+Association()}{TDA\_CreateAdvancedAssociation()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Create\+Advanced\+Association (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{const char $\ast$}]{name,  }\item[{bool}]{n\+Ary,  }\item[{bool}]{association\+Class }\end{DoxyParamCaption})}

Creates an n-\/ary association, an association class, or an n-\/ary association class. ~\newline
 An advanced association behaves likes a class (although it might not be a class internally) with n bidirectional associations attached to it. To specify all n association ends, call {\ttfamily create\+Association} n times, where a reference to the n-\/ary association has to be passed instead of one of the class references. N-\/ary association links can be created by means of {\ttfamily create\+Object}, and n-\/ary link ends can be created by calling {\ttfamily create\+Link} n times and passing a reference to the n-\/ary link instead of one of the object references.

~\newline
{\itshape {\bfseries Note (adapters)\+: }}The underlying repository is allowed to create an n-\/ary association class, even when n\+Ary or association\+Class is {\ttfamily false}. ~\newline
{\itshape {\bfseries Note (adapters)\+: }}If a repository adapter does not implement this function, T\+DA kernel will implement this function by introducing an additional class. ~\newline
{\itshape {\bfseries Note (M3)\+: }} The M3 level can be used to get/set the cardinality, if the repository supports constraints and the M3 level operations. Cardinality constraints must be accessible via M3 for that. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em name} & the name of the advanced association (the class name in case of an association class) \\
\hline
{\em n\+Ary} & whether the association is an n-\/ary association \\
\hline
{\em association\+Class} & whether the association is an association class \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a reference to the n-\/ary association just created (not the association end, since no association ends are created yet), or 0 on error. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 

\href{http://webappos.org/dev/raapi/notes.html#advancedssociations}{\tt on advanced associations} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_gad4b9d09cdb217e3020835d9c7a53a237}\label{group__tdakernelraapi_gad4b9d09cdb217e3020835d9c7a53a237}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Get\+Iterator\+For\+Linguistic\+Classes@{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Linguistic\+Classes}}
\index{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Linguistic\+Classes@{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Linguistic\+Classes}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Get\+Iterator\+For\+Linguistic\+Classes()}{TDA\_GetIteratorForLinguisticClasses()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Get\+Iterator\+For\+Linguistic\+Classes (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel }\end{DoxyParamCaption})}

Returns an iterator for all quasi-\/linguistic classes at Level M3. ~\newline
{\itshape {\bfseries Note (M3)\+: }}This function works only at Level M3.~\newline
 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
an iterator for all quasi-\/linguistic classes at Level M3. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_ga5c0c1dd64fb329db9316535e1e2de9a5}\label{group__tdakernelraapi_ga5c0c1dd64fb329db9316535e1e2de9a5}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Find\+Association\+End@{T\+D\+A\+\_\+\+Find\+Association\+End}}
\index{T\+D\+A\+\_\+\+Find\+Association\+End@{T\+D\+A\+\_\+\+Find\+Association\+End}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Find\+Association\+End()}{TDA\_FindAssociationEnd()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Find\+Association\+End (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r\+Source\+Class,  }\item[{const char $\ast$}]{target\+Role\+Name }\end{DoxyParamCaption})}

Obtains a reference to an association end (by its role name) starting at the given class.

~\newline
{\itshape {\bfseries Note (adapters)\+: }}If not implemented in the adapter, T\+DA kernel will implement it by means of {\ttfamily get\+Iterator\+For\+All\+Outgoing\+Association\+Ends}. ~\newline
{\itshape {\bfseries Note (M3)\+: }}The function works also, when searching for association ends at Level M3. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r\+Source\+Class} & a class that is a source class for the association, or one of its subclasses \\
\hline
{\em target\+Role\+Name} & a role name associated with the target association end \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a reference to an association end corresponding to the given target role name. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\href{http://webappos.org/dev/raapi/notes.html#metalevels}{\tt on meta-\/levels} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_ga4c04500d5d3bd08184e8f561f1ebe2c4}\label{group__tdakernelraapi_ga4c04500d5d3bd08184e8f561f1ebe2c4}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Serialize\+Reference@{T\+D\+A\+\_\+\+Serialize\+Reference}}
\index{T\+D\+A\+\_\+\+Serialize\+Reference@{T\+D\+A\+\_\+\+Serialize\+Reference}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Serialize\+Reference()}{TDA\_SerializeReference()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN const char$\ast$ T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Serialize\+Reference (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{r }\end{DoxyParamCaption})}

Creates a string representation of the given reference, which survives the current session. For the next session, T\+DA kernel will use this string to get another reference to the same element by means of {\ttfamily deserialize\+Reference}. This is essential for storing inter-\/repository relations. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em r} & the reference to serialize \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a string representation of the given reference, which survives the current session, or {\ttfamily null} on error. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
R\+A\+A\+P\+I\+::deserialize\+Reference 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__tdakernelraapi_ga8df159b11a825fa4a83edb0a901ab34b}\label{group__tdakernelraapi_ga8df159b11a825fa4a83edb0a901ab34b}} 
\index{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}!T\+D\+A\+\_\+\+Resolve\+Iterator\+Next@{T\+D\+A\+\_\+\+Resolve\+Iterator\+Next}}
\index{T\+D\+A\+\_\+\+Resolve\+Iterator\+Next@{T\+D\+A\+\_\+\+Resolve\+Iterator\+Next}!T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions@{T\+D\+A Kernel D\+L\+L R\+A\+A\+P\+I/\+I\+Repository Functions}}
\subsubsection{\texorpdfstring{T\+D\+A\+\_\+\+Resolve\+Iterator\+Next()}{TDA\_ResolveIteratorNext()}}
{\footnotesize\ttfamily T\+D\+A\+E\+X\+T\+E\+RN \+\_\+\+\_\+int64 T\+D\+A\+C\+A\+LL T\+D\+A\+\_\+\+Resolve\+Iterator\+Next (\begin{DoxyParamCaption}\item[{void $\ast$}]{tda\+Kernel,  }\item[{\+\_\+\+\_\+int64}]{it }\end{DoxyParamCaption})}

Moves the iterator forward and gets the element at that position. 
\begin{DoxyParams}{Parameters}
{\em tda\+Kernel} & a pointer to T\+DA Kernel returned by T\+D\+A\+\_\+\+Get\+T\+D\+A\+Kernel\+Reference \\
\hline
{\em it} & an iterator reference \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the element the iterator points to, after the iterator has been moved one step forward. If there are no elements or if an error occurred, 0 is returned. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
R\+A\+A\+P\+I\+::resolve\+Iterator\+First 

R\+A\+A\+P\+I\+::free\+Iterator 

\href{http://webappos.org/dev/raapi/notes.html#iterators}{\tt on iterators} 
\end{DoxySeeAlso}
