1 | \hypertarget{classValuedUserInfo}{ |
---|
2 | \section{ValuedUserInfo$<$ T $>$ Class Template Reference} |
---|
3 | \label{classValuedUserInfo}\index{ValuedUserInfo@{ValuedUserInfo}} |
---|
4 | } |
---|
5 | The main userinfo template class. It should be derived whenever you need a new userinfo of a class which does not contain any subelements. It is the case of basic classes(or types) like int, string, double, etc. |
---|
6 | |
---|
7 | |
---|
8 | {\tt \#include $<$userinfo.h$>$} |
---|
9 | |
---|
10 | Inheritance diagram for ValuedUserInfo$<$ T $>$:\nopagebreak |
---|
11 | \begin{figure}[H] |
---|
12 | \begin{center} |
---|
13 | \leavevmode |
---|
14 | \includegraphics[width=400pt]{classValuedUserInfo__inherit__graph} |
---|
15 | \end{center} |
---|
16 | \end{figure} |
---|
17 | Collaboration diagram for ValuedUserInfo$<$ T $>$:\nopagebreak |
---|
18 | \begin{figure}[H] |
---|
19 | \begin{center} |
---|
20 | \leavevmode |
---|
21 | \includegraphics[width=151pt]{classValuedUserInfo__coll__graph} |
---|
22 | \end{center} |
---|
23 | \end{figure} |
---|
24 | \subsection*{Static Public Member Functions} |
---|
25 | \begin{CompactItemize} |
---|
26 | \item |
---|
27 | {\footnotesize template$<$class T$>$ }\\static T $\ast$ \hyperlink{classUserInfo_0f090c6525a3e8fb11634a553f467ede}{Assembly} (DOMElement \&element, const string tagName) |
---|
28 | \item |
---|
29 | {\footnotesize template$<$class T$>$ }\\static bool \hyperlink{classUserInfo_1d402661b82feccb5265a70f65c242e1}{Disassembly} (T \&\hyperlink{classTypedUserInfo_c7ad10a9ff002383518155c965ade85c}{instance}, DOMElement \&element, const string tagName, const string help) |
---|
30 | \item |
---|
31 | {\footnotesize template$<$class T$>$ }\\static bool \hyperlink{classUserInfo_917b2257abc31b94c89ef3cd270e4a42}{Disassembly} (T \&\hyperlink{classTypedUserInfo_c7ad10a9ff002383518155c965ade85c}{instance}, DOMElement \&element, const string tagName) |
---|
32 | \end{CompactItemize} |
---|
33 | \subsection*{Protected Member Functions} |
---|
34 | \begin{CompactItemize} |
---|
35 | \item |
---|
36 | \hypertarget{classValuedUserInfo_86897fcfe4666183bcecf16a23715cdb}{ |
---|
37 | \textbf{ValuedUserInfo} (string userFriendlyTypeName)} |
---|
38 | \label{classValuedUserInfo_86897fcfe4666183bcecf16a23715cdb} |
---|
39 | |
---|
40 | \item |
---|
41 | \hypertarget{classBindingFrame_2244bd5181c3d1e70f3a6be2b72e9424}{ |
---|
42 | string \hyperlink{classBindingFrame_2244bd5181c3d1e70f3a6be2b72e9424}{XMLCh2str} (const XMLCh $\ast$const XMLCh\_\-str)} |
---|
43 | \label{classBindingFrame_2244bd5181c3d1e70f3a6be2b72e9424} |
---|
44 | |
---|
45 | \begin{CompactList}\small\item\em function which transcodes Xerces' XMLCh-based strings into C++ strings \item\end{CompactList}\item |
---|
46 | \hypertarget{classBindingFrame_820e4df85c0dc545e3079e407fcdbbaa}{ |
---|
47 | string \textbf{removeSpaces} (const string \&\hyperlink{classstr}{str})} |
---|
48 | \label{classBindingFrame_820e4df85c0dc545e3079e407fcdbbaa} |
---|
49 | |
---|
50 | \item |
---|
51 | \hypertarget{classBindingFrame_8d4dc5902ee71a473983d6a8fa3c8b7a}{ |
---|
52 | virtual void \hyperlink{classBindingFrame_8d4dc5902ee71a473983d6a8fa3c8b7a}{ReleaseMemory} ()} |
---|
53 | \label{classBindingFrame_8d4dc5902ee71a473983d6a8fa3c8b7a} |
---|
54 | |
---|
55 | \begin{CompactList}\small\item\em A method for releasing memory allocated within the 'AssemblyComponentsFromXML()' method. \item\end{CompactList}\end{CompactItemize} |
---|
56 | \subsection*{Protected Attributes} |
---|
57 | \begin{CompactItemize} |
---|
58 | \item |
---|
59 | \hypertarget{classValuedUserInfo_10a0acb3696018386451881ebcc797ea}{ |
---|
60 | string \hyperlink{classValuedUserInfo_10a0acb3696018386451881ebcc797ea}{value}} |
---|
61 | \label{classValuedUserInfo_10a0acb3696018386451881ebcc797ea} |
---|
62 | |
---|
63 | \begin{CompactList}\small\item\em string variable which is automatically binded to a proper DOMElement attribute \item\end{CompactList}\end{CompactItemize} |
---|
64 | \subsection*{Static Protected Attributes} |
---|
65 | \begin{CompactItemize} |
---|
66 | \item |
---|
67 | static const \hyperlink{classTypedUserInfo}{TypedUserInfo}$<$ T $>$ \& \hyperlink{classTypedUserInfo_c7ad10a9ff002383518155c965ade85c}{instance} |
---|
68 | \end{CompactItemize} |
---|
69 | |
---|
70 | |
---|
71 | \subsection{Detailed Description} |
---|
72 | \subsubsection*{template$<$typename T$>$ class ValuedUserInfo$<$ T $>$} |
---|
73 | |
---|
74 | The main userinfo template class. It should be derived whenever you need a new userinfo of a class which does not contain any subelements. It is the case of basic classes(or types) like int, string, double, etc. |
---|
75 | |
---|
76 | The only thing left is to translate its public string attribute 'value' into a value of type T and also implement conversion in the other way round. For that, an overloading of methods T$\ast$ AssemblyInstance() / bool DisassemblyInstance(T \&instance) is fruitful. See some valued userinfo below as an example. |
---|
77 | |
---|
78 | \subsection{Member Function Documentation} |
---|
79 | \hypertarget{classUserInfo_0f090c6525a3e8fb11634a553f467ede}{ |
---|
80 | \index{ValuedUserInfo@{ValuedUserInfo}!Assembly@{Assembly}} |
---|
81 | \index{Assembly@{Assembly}!ValuedUserInfo@{ValuedUserInfo}} |
---|
82 | \subsubsection[Assembly]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ static T$\ast$ UserInfo::Assembly (DOMElement \& {\em element}, \/ const string {\em tagName})\hspace{0.3cm}{\tt \mbox{[}inline, static, inherited\mbox{]}}}} |
---|
83 | \label{classUserInfo_0f090c6525a3e8fb11634a553f467ede} |
---|
84 | |
---|
85 | |
---|
86 | This methods tries to assembly a new instance of type T (or some of its descendant types) according to a data stored in a DOMNode named tagName within a child nodes of the passed element. If an error occurs, it returns a NULL pointer. |
---|
87 | |
---|
88 | References Attribute::Get(), and Attribute::type.\hypertarget{classUserInfo_1d402661b82feccb5265a70f65c242e1}{ |
---|
89 | \index{ValuedUserInfo@{ValuedUserInfo}!Disassembly@{Disassembly}} |
---|
90 | \index{Disassembly@{Disassembly}!ValuedUserInfo@{ValuedUserInfo}} |
---|
91 | \subsubsection[Disassembly]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ static bool UserInfo::Disassembly (T \& {\em instance}, \/ DOMElement \& {\em element}, \/ const string {\em tagName}, \/ const string {\em help})\hspace{0.3cm}{\tt \mbox{[}inline, static, inherited\mbox{]}}}} |
---|
92 | \label{classUserInfo_1d402661b82feccb5265a70f65c242e1} |
---|
93 | |
---|
94 | |
---|
95 | This methods tries to disassembly an instance of type T (or some of its descendant types) and build DOM tree accordingly. Then, it creates a new DOMNode named according tagName and connecti it to the passed DOMElement as a new child node (with a help attribute filled). |
---|
96 | |
---|
97 | References Attribute::help, Attribute::Set(), and Attribute::type. |
---|
98 | |
---|
99 | Referenced by UserInfo::Disassembly(), and CompoundUserInfo$<$ T $>$::BindedElement$<$ U $>$::DisassemblyComponentsToXML().\hypertarget{classUserInfo_917b2257abc31b94c89ef3cd270e4a42}{ |
---|
100 | \index{ValuedUserInfo@{ValuedUserInfo}!Disassembly@{Disassembly}} |
---|
101 | \index{Disassembly@{Disassembly}!ValuedUserInfo@{ValuedUserInfo}} |
---|
102 | \subsubsection[Disassembly]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ static bool UserInfo::Disassembly (T \& {\em instance}, \/ DOMElement \& {\em element}, \/ const string {\em tagName})\hspace{0.3cm}{\tt \mbox{[}inline, static, inherited\mbox{]}}}} |
---|
103 | \label{classUserInfo_917b2257abc31b94c89ef3cd270e4a42} |
---|
104 | |
---|
105 | |
---|
106 | This methods tries to disassembly an instance of type T (or some of its descendant types) and build DOM tree accordingly. Then, it creates a new DOMNode named according tagName and connecti it to the passed DOMElement as a new child node. |
---|
107 | |
---|
108 | References UserInfo::Disassembly(). |
---|
109 | |
---|
110 | \subsection{Member Data Documentation} |
---|
111 | \hypertarget{classTypedUserInfo_c7ad10a9ff002383518155c965ade85c}{ |
---|
112 | \index{ValuedUserInfo@{ValuedUserInfo}!instance@{instance}} |
---|
113 | \index{instance@{instance}!ValuedUserInfo@{ValuedUserInfo}} |
---|
114 | \subsubsection[instance]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T$>$ const {\bf TypedUserInfo}$<$T$>$\& {\bf TypedUserInfo}$<$ T $>$::{\bf instance}\hspace{0.3cm}{\tt \mbox{[}static, protected, inherited\mbox{]}}}} |
---|
115 | \label{classTypedUserInfo_c7ad10a9ff002383518155c965ade85c} |
---|
116 | |
---|
117 | |
---|
118 | the only instance of this class (each type T has its own instance) which is used as a factory for processing related userinfos |
---|
119 | |
---|
120 | The documentation for this class was generated from the following file:\begin{CompactItemize} |
---|
121 | \item |
---|
122 | work/git/mixpp/bdm/userinfo.h\end{CompactItemize} |
---|