Modified: qpid/site/docs/releases/qpid-proton-master/proton/cpp/api/type__traits_8hpp_source.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/proton/cpp/api/type__traits_8hpp_source.html?rev=1739159&r1=1739158&r2=1739159&view=diff ============================================================================== --- qpid/site/docs/releases/qpid-proton-master/proton/cpp/api/type__traits_8hpp_source.html (original) +++ qpid/site/docs/releases/qpid-proton-master/proton/cpp/api/type__traits_8hpp_source.html Thu Apr 14 18:29:35 2016 @@ -93,7 +93,7 @@ $(document).ready(function(){initNavTree <div class="title">type_traits.hpp</div> </div> </div><!--header--> <div class="contents"> -<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef PROTON_TYPE_TRAITS_HPP</span></div> +<a href="type__traits_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef PROTON_TYPE_TRAITS_HPP</span></div> <div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor">#define PROTON_TYPE_TRAITS_HPP</span></div> <div class="line"><a name="l00003"></a><span class="lineno"> 3</span> </div> <div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">/*</span></div> @@ -115,151 +115,137 @@ $(document).ready(function(){initNavTree <div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> * under the License.</span></div> <div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> */</span></div> <div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div> -<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> </div> -<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div> -<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <proton/config.hpp></span></div> -<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <<a class="code" href="types__fwd_8hpp.html">proton/types_fwd.hpp</a>></span></div> -<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include <proton/type_id.hpp></span></div> -<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div> -<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="keyword">namespace </span><a class="code" href="namespaceproton.html">proton</a> {</div> -<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="keyword">namespace </span>codec {</div> -<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div> -<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="keyword">class </span>decoder;</div> -<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keyword">class </span>encoder;</div> -<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div> -<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="keyword">template</span> <<span class="keywordtype">bool</span>, <span class="keyword">class</span> T=<span class="keywordtype">void</span>> <span class="keyword">struct </span>enable_if {};</div> -<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="keyword">template</span> <<span class="keyword">class</span> T> <span class="keyword">struct </span>enable_if<true, T> { <span class="keyword">typedef</span> T type; };</div> -<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div> -<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">struct </span>true_type { <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> value = <span class="keyword">true</span>; };</div> -<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="keyword">struct </span>false_type { <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> value = <span class="keyword">false</span>; };</div> -<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div> -<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keyword">template</span> <<span class="keyword">class</span> T> <span class="keyword">struct </span>is_integral : <span class="keyword">public</span> false_type {};</div> -<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">template</span> <<span class="keyword">class</span> T> <span class="keyword">struct </span>is_signed : <span class="keyword">public</span> false_type {};</div> -<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div> -<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_integral<char> : <span class="keyword">public</span> true_type {};</div> -<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_signed<char> : <span class="keyword">public</span> false_type {};</div> -<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div> -<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_integral<unsigned char> : <span class="keyword">public</span> true_type {};</div> -<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_integral<unsigned short> : <span class="keyword">public</span> true_type {};</div> -<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_integral<unsigned int> : <span class="keyword">public</span> true_type {};</div> -<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_integral<unsigned long> : <span class="keyword">public</span> true_type {};</div> -<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div> -<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_integral<signed char> : <span class="keyword">public</span> true_type {};</div> -<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_integral<signed short> : <span class="keyword">public</span> true_type {};</div> -<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_integral<signed int> : <span class="keyword">public</span> true_type {};</div> -<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_integral<signed long> : <span class="keyword">public</span> true_type {};</div> -<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div> -<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_signed<unsigned short> : <span class="keyword">public</span> false_type {};</div> -<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_signed<unsigned int> : <span class="keyword">public</span> false_type {};</div> -<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_signed<unsigned long> : <span class="keyword">public</span> false_type {};</div> -<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div> -<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_signed<signed char> : <span class="keyword">public</span> true_type {};</div> -<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_signed<signed short> : <span class="keyword">public</span> true_type {};</div> -<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_signed<signed int> : <span class="keyword">public</span> true_type {};</div> -<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_signed<signed long> : <span class="keyword">public</span> true_type {};</div> -<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div> -<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="preprocessor">#if PN_CPP_HAS_LONG_LONG</span></div> -<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_integral<unsigned long long> : <span class="keyword">public</span> true_type {};</div> -<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_integral<signed long long> : <span class="keyword">public</span> true_type {};</div> -<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_signed<unsigned long long> : <span class="keyword">public</span> false_type {};</div> -<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_signed<signed long long> : <span class="keyword">public</span> true_type {};</div> -<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="preprocessor">#endif</span></div> -<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div> -<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keyword">template</span> <<span class="keyword">class</span> T, <span class="keyword">class</span> U> <span class="keyword">struct </span>is_same { <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> value=<span class="keyword">false</span>; };</div> -<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keyword">template</span> <<span class="keyword">class</span> T> <span class="keyword">struct </span>is_same<T,T> { <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> value=<span class="keyword">true</span>; };</div> -<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div> -<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keyword">template</span>< <span class="keyword">class</span> T > <span class="keyword">struct </span>remove_const { <span class="keyword">typedef</span> T type; };</div> -<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="keyword">template</span>< <span class="keyword">class</span> T > <span class="keyword">struct </span>remove_const<const T> { <span class="keyword">typedef</span> T type; };</div> -<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div> -<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keyword">template</span> <type_<span class="keywordtype">id</span> ID> <span class="keyword">struct </span>type_id_constant { <span class="keyword">static</span> <span class="keyword">const</span> type_id value = ID; };</div> -<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div> -<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment">// Metafunction returning AMQP type for scalar C++ types.</span></div> -<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keyword">template</span> <<span class="keyword">class</span> T, <span class="keyword">class</span> Enable=<span class="keywordtype">void</span>> <span class="keyword">struct </span>type_id_of;</div> -<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keyword">template</span><> <span class="keyword">struct </span>type_id_of<bool> : <span class="keyword">public</span> type_id_constant<BOOLEAN> {};</div> -<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keyword">template</span><> <span class="keyword">struct </span>type_id_of<uint8_t> : <span class="keyword">public</span> type_id_constant<UBYTE> {};</div> -<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keyword">template</span><> <span class="keyword">struct </span>type_id_of<int8_t> : <span class="keyword">public</span> type_id_constant<BYTE> {};</div> -<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keyword">template</span><> <span class="keyword">struct </span>type_id_of<uint16_t> : <span class="keyword">public</span> type_id_constant<USHORT> {};</div> -<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keyword">template</span><> <span class="keyword">struct </span>type_id_of<int16_t> : <span class="keyword">public</span> type_id_constant<SHORT> {};</div> -<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keyword">template</span><> <span class="keyword">struct </span>type_id_of<uint32_t> : <span class="keyword">public</span> type_id_constant<UINT> {};</div> -<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keyword">template</span><> <span class="keyword">struct </span>type_id_of<int32_t> : <span class="keyword">public</span> type_id_constant<INT> {};</div> -<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keyword">template</span><> <span class="keyword">struct </span>type_id_of<uint64_t> : <span class="keyword">public</span> type_id_constant<ULONG> {};</div> -<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keyword">template</span><> <span class="keyword">struct </span>type_id_of<int64_t> : <span class="keyword">public</span> type_id_constant<LONG> {};</div> -<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keyword">template</span><> <span class="keyword">struct </span>type_id_of<wchar_t> : <span class="keyword">public</span> type_id_constant<CHAR> {};</div> -<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="keyword">template</span><> <span class="keyword">struct </span>type_id_of<timestamp> : <span class="keyword">public</span> type_id_constant<TIMESTAMP> {};</div> -<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keyword">template</span><> <span class="keyword">struct </span>type_id_of<float> : <span class="keyword">public</span> type_id_constant<FLOAT> {};</div> -<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keyword">template</span><> <span class="keyword">struct </span>type_id_of<double> : <span class="keyword">public</span> type_id_constant<DOUBLE> {};</div> -<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keyword">template</span><> <span class="keyword">struct </span>type_id_of<decimal32> : <span class="keyword">public</span> type_id_constant<DECIMAL32> {};</div> -<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keyword">template</span><> <span class="keyword">struct </span>type_id_of<decimal64> : <span class="keyword">public</span> type_id_constant<DECIMAL64> {};</div> -<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keyword">template</span><> <span class="keyword">struct </span>type_id_of<decimal128> : <span class="keyword">public</span> type_id_constant<DECIMAL128> {};</div> -<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keyword">template</span><> <span class="keyword">struct </span>type_id_of<uuid> : <span class="keyword">public</span> type_id_constant<UUID> {};</div> -<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keyword">template</span><> <span class="keyword">struct </span>type_id_of<binary> : <span class="keyword">public</span> type_id_constant<BINARY> {};</div> -<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keyword">template</span><> <span class="keyword">struct </span>type_id_of<<a class="code" href="namespacestd.html">std</a>::string> : <span class="keyword">public</span> type_id_constant<STRING> {};</div> -<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="keyword">template</span><> <span class="keyword">struct </span>type_id_of<symbol> : <span class="keyword">public</span> type_id_constant<SYMBOL> {};</div> -<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keyword">template</span><> <span class="keyword">struct </span>type_id_of<const char*> : <span class="keyword">public</span> type_id_constant<STRING> {};</div> -<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div> -<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment">// Metafunction to test if a class has a type_id.</span></div> -<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keyword">template</span> <<span class="keyword">class</span> T, <span class="keyword">class</span> Enable=<span class="keywordtype">void</span>> <span class="keyword">struct </span>has_type_id : <span class="keyword">public</span> false_type {};</div> -<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keyword">template</span> <<span class="keyword">class</span> T> <span class="keyword">struct </span>has_type_id<T, typename enable_if<!!type_id_of<T>::value>::type> : <span class="keyword">public</span> true_type {};</div> -<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div> -<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment">// Map arbitrary integral types to known AMQP integral types.</span></div> -<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keyword">template</span><<span class="keywordtype">size_t</span> SIZE, <span class="keywordtype">bool</span> IS_SIGNED> <span class="keyword">struct </span>integer_type;</div> -<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keyword">template</span><> <span class="keyword">struct </span>integer_type<1, true> { <span class="keyword">typedef</span> int8_t type; };</div> -<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keyword">template</span><> <span class="keyword">struct </span>integer_type<2, true> { <span class="keyword">typedef</span> int16_t type; };</div> -<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keyword">template</span><> <span class="keyword">struct </span>integer_type<4, true> { <span class="keyword">typedef</span> int32_t type; };</div> -<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keyword">template</span><> <span class="keyword">struct </span>integer_type<8, true> { <span class="keyword">typedef</span> int64_t type; };</div> -<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keyword">template</span><> <span class="keyword">struct </span>integer_type<1, false> { <span class="keyword">typedef</span> uint8_t type; };</div> -<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keyword">template</span><> <span class="keyword">struct </span>integer_type<2, false> { <span class="keyword">typedef</span> uint16_t type; };</div> -<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keyword">template</span><> <span class="keyword">struct </span>integer_type<4, false> { <span class="keyword">typedef</span> uint32_t type; };</div> -<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keyword">template</span><> <span class="keyword">struct </span>integer_type<8, false> { <span class="keyword">typedef</span> uint64_t type; };</div> -<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div> -<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment">// True if T is an integer type that does not have an explicit type_id.</span></div> -<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keyword">template</span> <<span class="keyword">class</span> T> <span class="keyword">struct </span>is_unknown_integer {</div> -<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> value = !has_type_id<T>::value && is_integral<T>::value;</div> -<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> };</div> -<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> </div> -<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="keyword">namespace </span>is_encodable_impl { <span class="comment">// Protected the world from wildcard operator<<</span></div> -<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div> -<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="keyword">typedef</span> <span class="keywordtype">char</span> yes;</div> -<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keyword">typedef</span> <span class="keywordtype">double</span> no;</div> -<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keyword">struct </span>wildcard { wildcard(...); };</div> -<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div> -<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> no operator<<(wildcard, wildcard); <span class="comment">// Fallback</span></div> -<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div> -<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="keyword">template</span><<span class="keyword">typename</span> T> <span class="keyword">struct </span>is_encodable {</div> -<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keyword">static</span> yes test(encoder);</div> -<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keyword">static</span> no test(...); <span class="comment">// Failed test, no match.</span></div> -<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="keyword">static</span> encoder &e;</div> -<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keyword">static</span> <span class="keyword">const</span> T& t;</div> -<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> <span class="keyword">const</span> value = <span class="keyword">sizeof</span>(test(e << t)) == <span class="keyword">sizeof</span>(yes);</div> -<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> };</div> -<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="comment">// Avoid recursion</span></div> -<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_encodable<value> : <span class="keyword">public</span> true_type {};</div> -<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div> -<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> } <span class="comment">// namespace is_encodable_impl</span></div> -<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div> -<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="keyword">using</span> is_encodable_impl::is_encodable;</div> -<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div> -<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keyword">template</span><<span class="keyword">class</span> T, <span class="keyword">class</span> U=<span class="keywordtype">void</span>> <span class="keyword">struct </span>enable_amqp_type :</div> -<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="keyword">public</span> enable_if<is_encodable<T>::value, U> {};</div> -<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div> -<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="keyword">template</span><<span class="keyword">class</span> T, <span class="keyword">class</span> U=<span class="keywordtype">void</span>> <span class="keyword">struct </span>assignable : enable_amqp_type<T, U> {};</div> -<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keyword">template</span><<span class="keyword">class</span> U> <span class="keyword">struct </span>assignable<value, U> : <span class="keyword">public</span> false_type {};</div> -<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="keyword">template</span> <<span class="keyword">class</span> T, <span class="keyword">class</span> U=<span class="keywordtype">void</span>> <span class="keyword">struct </span>enable_unknown_integer :</div> -<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="keyword">public</span> enable_if<is_unknown_integer<T>::value, U> {};</div> -<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div> -<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> } <span class="comment">// internal</span></div> -<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> } <span class="comment">// proton</span></div> -<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div> -<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="preprocessor">#endif // PROTON_TYPE_TRAITS_HPP</span></div> +<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div> +<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include <proton/config.hpp></span></div> +<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include <<a class="code" href="types__fwd_8hpp.html">proton/types_fwd.hpp</a>></span></div> +<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <<a class="code" href="type__id_8hpp.html">proton/type_id.hpp</a>></span></div> +<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div> +<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="keyword">namespace </span><a class="code" href="namespaceproton.html">proton</a> {</div> +<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="keyword">namespace </span>internal {</div> +<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div> +<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="keyword">class </span>decoder;</div> +<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="keyword">class </span>encoder;</div> +<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div> +<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="keyword">template</span> <<span class="keywordtype">bool</span>, <span class="keyword">class</span> T=<span class="keywordtype">void</span>> <span class="keyword">struct </span>enable_if {};</div> +<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="keyword">template</span> <<span class="keyword">class</span> T> <span class="keyword">struct </span>enable_if<true, T> { <span class="keyword">typedef</span> T type; };</div> +<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div> +<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="keyword">struct </span>true_type { <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> value = <span class="keyword">true</span>; };</div> +<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">struct </span>false_type { <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> value = <span class="keyword">false</span>; };</div> +<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div> +<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="keyword">template</span> <<span class="keyword">class</span> T> <span class="keyword">struct </span>is_integral : <span class="keyword">public</span> false_type {};</div> +<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keyword">template</span> <<span class="keyword">class</span> T> <span class="keyword">struct </span>is_signed : <span class="keyword">public</span> false_type {};</div> +<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div> +<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_integral<char> : <span class="keyword">public</span> true_type {};</div> +<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_signed<char> : <span class="keyword">public</span> false_type {};</div> +<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div> +<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_integral<unsigned char> : <span class="keyword">public</span> true_type {};</div> +<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_integral<unsigned short> : <span class="keyword">public</span> true_type {};</div> +<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_integral<unsigned int> : <span class="keyword">public</span> true_type {};</div> +<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_integral<unsigned long> : <span class="keyword">public</span> true_type {};</div> +<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div> +<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_integral<signed char> : <span class="keyword">public</span> true_type {};</div> +<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_integral<signed short> : <span class="keyword">public</span> true_type {};</div> +<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_integral<signed int> : <span class="keyword">public</span> true_type {};</div> +<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_integral<signed long> : <span class="keyword">public</span> true_type {};</div> +<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div> +<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_signed<unsigned short> : <span class="keyword">public</span> false_type {};</div> +<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_signed<unsigned int> : <span class="keyword">public</span> false_type {};</div> +<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_signed<unsigned long> : <span class="keyword">public</span> false_type {};</div> +<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div> +<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_signed<signed char> : <span class="keyword">public</span> true_type {};</div> +<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_signed<signed short> : <span class="keyword">public</span> true_type {};</div> +<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_signed<signed int> : <span class="keyword">public</span> true_type {};</div> +<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_signed<signed long> : <span class="keyword">public</span> true_type {};</div> +<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div> +<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="preprocessor">#if PN_CPP_HAS_LONG_LONG</span></div> +<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_integral<unsigned long long> : <span class="keyword">public</span> true_type {};</div> +<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_integral<signed long long> : <span class="keyword">public</span> true_type {};</div> +<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_signed<unsigned long long> : <span class="keyword">public</span> false_type {};</div> +<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keyword">template</span> <> <span class="keyword">struct </span>is_signed<signed long long> : <span class="keyword">public</span> true_type {};</div> +<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div> +<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keyword">template</span> <<span class="keyword">class</span> T, <span class="keyword">class</span> U> <span class="keyword">struct </span>is_same { <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> value=<span class="keyword">false</span>; };</div> +<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keyword">template</span> <<span class="keyword">class</span> T> <span class="keyword">struct </span>is_same<T,T> { <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> value=<span class="keyword">true</span>; };</div> +<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div> +<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keyword">template</span>< <span class="keyword">class</span> T > <span class="keyword">struct </span>remove_const { <span class="keyword">typedef</span> T type; };</div> +<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keyword">template</span>< <span class="keyword">class</span> T > <span class="keyword">struct </span>remove_const<const T> { <span class="keyword">typedef</span> T type; };</div> +<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div> +<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keyword">template</span> <type_<span class="keywordtype">id</span> ID, <span class="keyword">class</span> T> <span class="keyword">struct </span>type_id_constant {</div> +<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keyword">typedef</span> T type;</div> +<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceproton.html#a83c2656d467d69eb49725c18f5aa13a9">type_id</a> value = ID;</div> +<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> };</div> +<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div> +<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keyword">template</span> <<span class="keyword">class</span> T> <span class="keyword">struct </span>type_id_of;</div> +<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keyword">template</span><> <span class="keyword">struct </span>type_id_of<bool> : <span class="keyword">public</span> type_id_constant<BOOLEAN, bool> {};</div> +<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keyword">template</span><> <span class="keyword">struct </span>type_id_of<uint8_t> : <span class="keyword">public</span> type_id_constant<UBYTE, uint8_t> {};</div> +<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keyword">template</span><> <span class="keyword">struct </span>type_id_of<int8_t> : <span class="keyword">public</span> type_id_constant<BYTE, int8_t> {};</div> +<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keyword">template</span><> <span class="keyword">struct </span>type_id_of<uint16_t> : <span class="keyword">public</span> type_id_constant<USHORT, uint16_t> {};</div> +<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keyword">template</span><> <span class="keyword">struct </span>type_id_of<int16_t> : <span class="keyword">public</span> type_id_constant<SHORT, int16_t> {};</div> +<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keyword">template</span><> <span class="keyword">struct </span>type_id_of<uint32_t> : <span class="keyword">public</span> type_id_constant<UINT, uint32_t> {};</div> +<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keyword">template</span><> <span class="keyword">struct </span>type_id_of<int32_t> : <span class="keyword">public</span> type_id_constant<INT, int32_t> {};</div> +<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="keyword">template</span><> <span class="keyword">struct </span>type_id_of<uint64_t> : <span class="keyword">public</span> type_id_constant<ULONG, uint64_t> {};</div> +<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keyword">template</span><> <span class="keyword">struct </span>type_id_of<int64_t> : <span class="keyword">public</span> type_id_constant<LONG, int64_t> {};</div> +<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keyword">template</span><> <span class="keyword">struct </span>type_id_of<wchar_t> : <span class="keyword">public</span> type_id_constant<CHAR, wchar_t> {};</div> +<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keyword">template</span><> <span class="keyword">struct </span>type_id_of<float> : <span class="keyword">public</span> type_id_constant<FLOAT, float> {};</div> +<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keyword">template</span><> <span class="keyword">struct </span>type_id_of<double> : <span class="keyword">public</span> type_id_constant<DOUBLE, double> {};</div> +<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keyword">template</span><> <span class="keyword">struct </span>type_id_of<timestamp> : <span class="keyword">public</span> type_id_constant<TIMESTAMP, timestamp> {};</div> +<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keyword">template</span><> <span class="keyword">struct </span>type_id_of<decimal32> : <span class="keyword">public</span> type_id_constant<DECIMAL32, decimal32> {};</div> +<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keyword">template</span><> <span class="keyword">struct </span>type_id_of<decimal64> : <span class="keyword">public</span> type_id_constant<DECIMAL64, decimal64> {};</div> +<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keyword">template</span><> <span class="keyword">struct </span>type_id_of<decimal128> : <span class="keyword">public</span> type_id_constant<DECIMAL128, decimal128> {};</div> +<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="keyword">template</span><> <span class="keyword">struct </span>type_id_of<uuid> : <span class="keyword">public</span> type_id_constant<UUID, uuid> {};</div> +<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keyword">template</span><> <span class="keyword">struct </span>type_id_of<<a class="code" href="namespacestd.html">std</a>::string> : <span class="keyword">public</span> type_id_constant<STRING, std::string> {};</div> +<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keyword">template</span><> <span class="keyword">struct </span>type_id_of<symbol> : <span class="keyword">public</span> type_id_constant<SYMBOL, symbol> {};</div> +<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keyword">template</span><> <span class="keyword">struct </span>type_id_of<binary> : <span class="keyword">public</span> type_id_constant<BINARY, binary> {};</div> +<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div> +<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keyword">template</span> <<span class="keyword">class</span> T, <span class="keyword">class</span> Enable=<span class="keywordtype">void</span>> <span class="keyword">struct </span>has_type_id : <span class="keyword">public</span> false_type {};</div> +<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keyword">template</span> <<span class="keyword">class</span> T> <span class="keyword">struct </span>has_type_id<T, typename type_id_of<T>::type> : <span class="keyword">public</span> true_type {};</div> +<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div> +<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment">// Map arbitrary integral types to known AMQP integral types.</span></div> +<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keyword">template</span><<span class="keywordtype">size_t</span> SIZE, <span class="keywordtype">bool</span> IS_SIGNED> <span class="keyword">struct </span>integer_type;</div> +<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keyword">template</span><> <span class="keyword">struct </span>integer_type<1, true> { <span class="keyword">typedef</span> int8_t type; };</div> +<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keyword">template</span><> <span class="keyword">struct </span>integer_type<2, true> { <span class="keyword">typedef</span> int16_t type; };</div> +<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keyword">template</span><> <span class="keyword">struct </span>integer_type<4, true> { <span class="keyword">typedef</span> int32_t type; };</div> +<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keyword">template</span><> <span class="keyword">struct </span>integer_type<8, true> { <span class="keyword">typedef</span> int64_t type; };</div> +<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keyword">template</span><> <span class="keyword">struct </span>integer_type<1, false> { <span class="keyword">typedef</span> uint8_t type; };</div> +<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keyword">template</span><> <span class="keyword">struct </span>integer_type<2, false> { <span class="keyword">typedef</span> uint16_t type; };</div> +<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keyword">template</span><> <span class="keyword">struct </span>integer_type<4, false> { <span class="keyword">typedef</span> uint32_t type; };</div> +<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keyword">template</span><> <span class="keyword">struct </span>integer_type<8, false> { <span class="keyword">typedef</span> uint64_t type; };</div> +<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div> +<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment">// True if T is an integer type that does not have an explicit type_id.</span></div> +<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keyword">template</span> <<span class="keyword">class</span> T> <span class="keyword">struct </span>is_unknown_integer {</div> +<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> value = !has_type_id<T>::value && is_integral<T>::value;</div> +<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> };</div> +<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div> +<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment">// Helper base for SFINAE test templates.</span></div> +<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keyword">struct </span>sfinae {</div> +<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keyword">typedef</span> <span class="keywordtype">char</span> yes;</div> +<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keyword">typedef</span> <span class="keywordtype">double</span> no;</div> +<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keyword">struct </span>wildcard { wildcard(...); };</div> +<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> };</div> +<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div> +<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keyword">template</span> <<span class="keyword">class</span> From, <span class="keyword">class</span> To> <span class="keyword">struct </span>is_convertible : <span class="keyword">public</span> sfinae {</div> +<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="keyword">static</span> yes test(<span class="keyword">const</span> To&);</div> +<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keyword">static</span> no test(...);</div> +<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keyword">static</span> <span class="keyword">const</span> From& from;</div> +<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> <span class="keyword">const</span> value = <span class="keyword">sizeof</span>(test(from)) == <span class="keyword">sizeof</span>(yes);</div> +<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> };</div> +<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div> +<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> } <span class="comment">// internal</span></div> +<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> } <span class="comment">// proton</span></div> +<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="comment">//@endcond</span></div> +<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div> +<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="preprocessor">#endif // PROTON_TYPE_TRAITS_HPP</span></div> <div class="ttc" id="namespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div><div class="ttdoc">STL namespace. </div></div> +<div class="ttc" id="type__id_8hpp_html"><div class="ttname"><a href="type__id_8hpp.html">type_id.hpp</a></div><div class="ttdoc">Type-identifiers for AMQP types. </div></div> +<div class="ttc" id="namespaceproton_html_a83c2656d467d69eb49725c18f5aa13a9"><div class="ttname"><a href="namespaceproton.html#a83c2656d467d69eb49725c18f5aa13a9">proton::type_id</a></div><div class="ttdeci">type_id</div><div class="ttdoc">An identifier for AMQP types. </div><div class="ttdef"><b>Definition:</b> type_id.hpp:34</div></div> <div class="ttc" id="types__fwd_8hpp_html"><div class="ttname"><a href="types__fwd_8hpp.html">types_fwd.hpp</a></div><div class="ttdoc">Forward declarations for all the C++ types used by proton to represent AMQP types. </div></div> -<div class="ttc" id="namespaceproton_html"><div class="ttname"><a href="namespaceproton.html">proton</a></div><div class="ttdef"><b>Definition:</b> acceptor.hpp:31</div></div> +<div class="ttc" id="namespaceproton_html"><div class="ttname"><a href="namespaceproton.html">proton</a></div><div class="ttdoc">The proton namespace. </div><div class="ttdef"><b>Definition:</b> acceptor.hpp:31</div></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> - <li class="navelem"><a class="el" href="dir_659b8f7bed25fad65524af70d45ab193.html">proton</a></li><li class="navelem"><b>type_traits.hpp</b></li> + <li class="navelem"><a class="el" href="dir_25143d27009f52d175c1d192441a738a.html">proton</a></li><li class="navelem"><a class="el" href="type__traits_8hpp.html">type_traits.hpp</a></li> <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.10 </li>
Added: qpid/site/docs/releases/qpid-proton-master/proton/cpp/api/types.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/proton/cpp/api/types.html?rev=1739159&view=auto ============================================================================== --- qpid/site/docs/releases/qpid-proton-master/proton/cpp/api/types.html (added) +++ qpid/site/docs/releases/qpid-proton-master/proton/cpp/api/types.html Thu Apr 14 18:29:35 2016 @@ -0,0 +1,180 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.10"/> +<title>Qpid Proton C++ API: AMQP and C++ types</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtreedata.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); + $(window).load(resizeHeight); +</script> +<link href="search/search.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="search/searchdata.js"></script> +<script type="text/javascript" src="search/search.js"></script> +<script type="text/javascript"> + $(document).ready(function() { init_search(); }); +</script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td id="projectalign" style="padding-left: 0.5em;"> + <div id="projectname">Qpid Proton C++ API +  <span id="projectnumber">master</span> + </div> + </td> + <td> <div id="MSearchBox" class="MSearchBoxInactive"> + <span class="left"> + <img id="MSearchSelect" src="search/mag_sel.png" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + alt=""/> + <input type="text" id="MSearchField" value="Search" accesskey="S" + onfocus="searchBox.OnSearchFieldFocus(true)" + onblur="searchBox.OnSearchFieldFocus(false)" + onkeyup="searchBox.OnSearchFieldChange(event)"/> + </span><span class="right"> + <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> + </span> + </div> +</td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.10 --> +<script type="text/javascript"> +var searchBox = new SearchBox("searchBox", "search",false,'Search'); +</script> +</div><!-- top --> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + <div id="nav-sync" class="sync"></div> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> +$(document).ready(function(){initNavTree('types.html','');}); +</script> +<div id="doc-content"> +<!-- window showing the filter options --> +<div id="MSearchSelectWindow" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + onkeydown="return searchBox.OnSearchSelectKey(event)"> +</div> + +<!-- iframe showing the search results (closed by default) --> +<div id="MSearchResultsWindow"> +<iframe src="javascript:void(0)" frameborder="0" + name="MSearchResults" id="MSearchResults"> +</iframe> +</div> + +<div class="header"> + <div class="headertitle"> +<div class="title">AMQP and C++ types </div> </div> +</div><!--header--> +<div class="contents"> +<div class="textblock"><p>An AMQP message body can hold binary data using any encoding you like. AMQP also defines its own encoding and types. The AMQP encoding is often used in message bodies because it is supported by AMQP libraries on many languages and platforms. You also need to use the AMQP types to set and examine message properties.</p> +<h2>Scalar types</h2> +<p>Each type is identified by a <a class="el" href="namespaceproton.html#a83c2656d467d69eb49725c18f5aa13a9" title="An identifier for AMQP types. ">proton::type_id</a>.</p> +<table class="doxtable"> +<tr> +<th>C++ type </th><th>AMQP type_id </th><th>Description </th></tr> +<tr> +<td>bool </td><td><a class="el" href="namespaceproton.html#a83c2656d467d69eb49725c18f5aa13a9a8a583f16e8d237a423c8c1d9087a4c72" title="Boolean true or false. ">proton::BOOLEAN</a> </td><td>Boolean true/false </td></tr> +<tr> +<td>uint8_t </td><td><a class="el" href="namespaceproton.html#a83c2656d467d69eb49725c18f5aa13a9a29dfb12306aac24cadeaa1f6bac455be" title="Unsigned 8 bit integer. ">proton::UBYTE</a> </td><td>8 bit unsigned byte </td></tr> +<tr> +<td>int8_t </td><td><a class="el" href="namespaceproton.html#a83c2656d467d69eb49725c18f5aa13a9aa7f492d725033c06576ac4ba21007297" title="Signed 8 bit integer. ">proton::BYTE</a> </td><td>8 bit signed byte </td></tr> +<tr> +<td>uint16_t </td><td><a class="el" href="namespaceproton.html#a83c2656d467d69eb49725c18f5aa13a9a9ae509995ac75484348487a7477900ca" title="Unsigned 16 bit integer. ">proton::USHORT</a> </td><td>16 bit unsigned integer </td></tr> +<tr> +<td>int16_t </td><td><a class="el" href="namespaceproton.html#a83c2656d467d69eb49725c18f5aa13a9a7a1fe3ba88f0c16cb494922948a9597d" title="Signed 16 bit integer. ">proton::SHORT</a> </td><td>16 bit signed integer </td></tr> +<tr> +<td>uint32_t </td><td><a class="el" href="namespaceproton.html#a83c2656d467d69eb49725c18f5aa13a9a4756f5bbd9f28d6b8905f32024b57398" title="Unsigned 32 bit integer. ">proton::UINT</a> </td><td>32 bit unsigned integer </td></tr> +<tr> +<td>int32_t </td><td><a class="el" href="namespaceproton.html#a83c2656d467d69eb49725c18f5aa13a9afd5a5f51ce25953f3db2c7e93eb7864a" title="Signed 32 bit integer. ">proton::INT</a> </td><td>32 bit signed integer </td></tr> +<tr> +<td>uint64_t </td><td><a class="el" href="namespaceproton.html#a83c2656d467d69eb49725c18f5aa13a9a574bf5ec73e28138b997d24464adb70c" title="Unsigned 64 bit integer. ">proton::ULONG</a> </td><td>64 bit unsigned integer </td></tr> +<tr> +<td>int64_t </td><td><a class="el" href="namespaceproton.html#a83c2656d467d69eb49725c18f5aa13a9aaee055c4a5aba7d55774e4f1c01dacea" title="Signed 64 bit integer. ">proton::LONG</a> </td><td>64 bit signed integer </td></tr> +<tr> +<td>wchar_t </td><td><a class="el" href="namespaceproton.html#a83c2656d467d69eb49725c18f5aa13a9a4618cf21306b3c647741afa7ebefcab8" title="32 bit unicode character. ">proton::CHAR</a> </td><td>32 bit unicode code point </td></tr> +<tr> +<td>float </td><td><a class="el" href="namespaceproton.html#a83c2656d467d69eb49725c18f5aa13a9a9cf4a0866224b0bb4a7a895da27c9c4c" title="32 bit binary floating point. ">proton::FLOAT</a> </td><td>32 bit binary floating point </td></tr> +<tr> +<td>double </td><td><a class="el" href="namespaceproton.html#a83c2656d467d69eb49725c18f5aa13a9a33465d1d419b1074fb259ef444609e92" title="64 bit binary floating point. ">proton::DOUBLE</a> </td><td>64 bit binary floating point </td></tr> +<tr> +<td><a class="el" href="classproton_1_1timestamp.html" title="64 bit timestamp in milliseconds since the epoch 00:00:00 (UTC), 1 January 1970. ">proton::timestamp</a> </td><td><a class="el" href="namespaceproton.html#a83c2656d467d69eb49725c18f5aa13a9a3f2dbbd8fe9ad35caa594416336ceeda" title="Signed 64 bit milliseconds since the epoch. ">proton::TIMESTAMP</a> </td><td>64 bit signed milliseconds since 00:00:00 (UTC), 1 January 1970. </td></tr> +<tr> +<td><a class="el" href="classproton_1_1decimal32.html" title="32-bit decimal floating point. ">proton::decimal32</a> </td><td><a class="el" href="namespaceproton.html#a83c2656d467d69eb49725c18f5aa13a9a8df764f32f4aeba9ac8c7baccfd73388" title="32 bit decimal floating point. ">proton::DECIMAL32</a> </td><td>32 bit decimal floating point </td></tr> +<tr> +<td><a class="el" href="classproton_1_1decimal64.html" title="64-bit decimal floating point. ">proton::decimal64</a> </td><td><a class="el" href="namespaceproton.html#a83c2656d467d69eb49725c18f5aa13a9a9a82428c8d08720e3134f1243496f7d6" title="64 bit decimal floating point. ">proton::DECIMAL64</a> </td><td>64 bit decimal floating point </td></tr> +<tr> +<td><a class="el" href="classproton_1_1decimal128.html" title="128-bit decimal floating point. ">proton::decimal128</a> </td><td><a class="el" href="namespaceproton.html#a83c2656d467d69eb49725c18f5aa13a9ac68fb86fda41e4314b0ee0d00e3d5170" title="128 bit decimal floating point. ">proton::DECIMAL128</a> </td><td>128 bit decimal floating point </td></tr> +<tr> +<td><a class="el" href="classproton_1_1uuid.html" title="A 16-byte universally unique identifier. ">proton::uuid</a> </td><td><a class="el" href="namespaceproton.html#a83c2656d467d69eb49725c18f5aa13a9aaf1ea4a849fa4bcb9d351a6bde6d7600" title="16 byte UUID. ">proton::UUID</a> </td><td>128 bit universally-unique identifier </td></tr> +<tr> +<td>std::string </td><td><a class="el" href="namespaceproton.html#a83c2656d467d69eb49725c18f5aa13a9aee847e634a4297b274316de8a8ca9921" title="Variable length utf8-encoded string. ">proton::STRING</a> </td><td>UTF-8 encoded unicode string </td></tr> +<tr> +<td><a class="el" href="classproton_1_1symbol.html" title="symbol is a std::string that represents the AMQP symbol type. ">proton::symbol</a> </td><td><a class="el" href="namespaceproton.html#a83c2656d467d69eb49725c18f5aa13a9ae3d30ffaffa3c06ed917e565dda1fbc5" title="Variable length encoded string. ">proton::SYMBOL</a> </td><td>7-bit ASCII encoded string </td></tr> +<tr> +<td><a class="el" href="classproton_1_1binary.html" title="Arbitrary binary data. ">proton::binary</a> </td><td><a class="el" href="namespaceproton.html#a83c2656d467d69eb49725c18f5aa13a9aecafbc1299672a8c1521cc0d5f1ae986" title="Variable length sequence of bytes. ">proton::BINARY</a> </td><td>Variable-length binary data </td></tr> +</table> +<p><a class="el" href="classproton_1_1scalar.html" title="A holder for an instance of any scalar AMQP type, see AMQP and C++ types. ">proton::scalar</a> is a holder that can hold a scalar value of any type.</p> +<h2>Compound types</h2> +<table class="doxtable"> +<tr> +<th>C++ type </th><th>AMQP type_id </th><th>Description </th></tr> +<tr> +<td>see below </td><td><a class="el" href="namespaceproton.html#a83c2656d467d69eb49725c18f5aa13a9a1e029fbf0c881b85d80fc8e89b753688" title="A sequence of values of the same type. ">proton::ARRAY</a> </td><td>Sequence of values of the same type </td></tr> +<tr> +<td>see below </td><td><a class="el" href="namespaceproton.html#a83c2656d467d69eb49725c18f5aa13a9a25688e799536738ea469158ef15fd1c0" title="A sequence of values, may be of mixed types. ">proton::LIST</a> </td><td>Sequence of values of mixed types </td></tr> +<tr> +<td>see below </td><td><a class="el" href="namespaceproton.html#a83c2656d467d69eb49725c18f5aa13a9a4cafa5feda04184537b4d7d346e1e89b" title="A sequence of key:value pairs, may be of mixed types. ">proton::MAP</a> </td><td>Map of key/value pairs </td></tr> +</table> +<p><a class="el" href="classproton_1_1value.html" title="A holder for any AMQP value, simple or complex, see AMQP and C++ types. ">proton::value</a> is a holder that can hold any AMQP value, scalar or compound</p> +<p><a class="el" href="namespaceproton.html#a83c2656d467d69eb49725c18f5aa13a9a1e029fbf0c881b85d80fc8e89b753688" title="A sequence of values of the same type. ">proton::ARRAY</a> converts to/from C++ sequences: std::vector, std::deque, std::list and std::forward_list.</p> +<p><a class="el" href="namespaceproton.html#a83c2656d467d69eb49725c18f5aa13a9a25688e799536738ea469158ef15fd1c0" title="A sequence of values, may be of mixed types. ">proton::LIST</a> converts to/from sequences of <a class="el" href="classproton_1_1value.html" title="A holder for any AMQP value, simple or complex, see AMQP and C++ types. ">proton::value</a> or <a class="el" href="classproton_1_1scalar.html" title="A holder for an instance of any scalar AMQP type, see AMQP and C++ types. ">proton::scalar</a>, which can hold mixed types of data.</p> +<p><a class="el" href="namespaceproton.html#a83c2656d467d69eb49725c18f5aa13a9a4cafa5feda04184537b4d7d346e1e89b" title="A sequence of key:value pairs, may be of mixed types. ">proton::MAP</a> converts to/from std::map, std::unordered_map and sequences of std::pair.</p> +<p>When decoding the encoded map types must be convertible to element type of the C++ sequence or the key/value types of the C++ map. Use <a class="el" href="classproton_1_1value.html" title="A holder for any AMQP value, simple or complex, see AMQP and C++ types. ">proton::value</a> as the element or key/value type to decode any ARRAY/LIST/MAP.</p> +<p>For example you can decode any AMQP MAP into: </p><pre class="fragment">std::map<proton::value, proton::value> +</pre><p>You can decode any AMQP LIST or ARRAY into </p><pre class="fragment">std::vector<proton::value> +</pre><h2>Include files</h2> +<p>You can simply include <a class="el" href="types_8hpp.html" title="Include the definitions of all proton types used to represent AMQP types. ">proton/types.hpp</a> to include all the type definitions and conversions. Alternatively, you can selectively include only what you need:</p> +<ul> +<li><a class="el" href="types__fwd_8hpp.html" title="Forward declarations for all the C++ types used by proton to represent AMQP types. ">proton/types_fwd.hpp</a>: forward declarations for all types.</li> +<li><a class="el" href="list_8hpp_source.html">proton/list.hpp</a>, <a class="el" href="vector_8hpp_source.html">proton/vector.hpp</a> etc.: conversions for std::list, std::vector etc.</li> +<li>include individual .hpp files as per the table above. </li> +</ul> +</div></div><!-- contents --> +</div><!-- doc-content --> +<!-- start footer part --> +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> + <ul> + <li class="footer">Generated by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.10 </li> + </ul> +</div> +</body> +</html> Propchange: qpid/site/docs/releases/qpid-proton-master/proton/cpp/api/types.html ------------------------------------------------------------------------------ svn:executable = * Modified: qpid/site/docs/releases/qpid-proton-master/proton/cpp/api/types_8hpp.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/proton/cpp/api/types_8hpp.html?rev=1739159&r1=1739158&r2=1739159&view=diff ============================================================================== --- qpid/site/docs/releases/qpid-proton-master/proton/cpp/api/types_8hpp.html (original) +++ qpid/site/docs/releases/qpid-proton-master/proton/cpp/api/types_8hpp.html Thu Apr 14 18:29:35 2016 @@ -96,13 +96,15 @@ $(document).ready(function(){initNavTree <p>Include the definitions of all proton types used to represent AMQP types. <a href="#details">More...</a></p> -<div class="textblock"><code>#include <proton/binary.hpp></code><br /> +<div class="textblock"><code>#include <proton/annotation_key.hpp></code><br /> +<code>#include <proton/binary.hpp></code><br /> <code>#include <proton/config.hpp></code><br /> <code>#include <proton/decimal.hpp></code><br /> <code>#include <proton/deque.hpp></code><br /> <code>#include <proton/duration.hpp></code><br /> <code>#include <proton/list.hpp></code><br /> <code>#include <proton/map.hpp></code><br /> +<code>#include <proton/message_id.hpp></code><br /> <code>#include <proton/scalar.hpp></code><br /> <code>#include <proton/symbol.hpp></code><br /> <code>#include <proton/timestamp.hpp></code><br /> @@ -110,19 +112,16 @@ $(document).ready(function(){initNavTree <code>#include <proton/uuid.hpp></code><br /> <code>#include <proton/value.hpp></code><br /> <code>#include <proton/vector.hpp></code><br /> -<code>#include <proton/annotation_key.hpp></code><br /> -<code>#include <proton/message_id.hpp></code><br /> </div> <p><a href="types_8hpp_source.html">Go to the source code of this file.</a></p> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Include the definitions of all proton types used to represent AMQP types. </p> -<p>Provided for convenience, you can include types individually instead. </p> </div></div><!-- contents --> </div><!-- doc-content --> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> - <li class="navelem"><a class="el" href="dir_659b8f7bed25fad65524af70d45ab193.html">proton</a></li><li class="navelem"><a class="el" href="types_8hpp.html">types.hpp</a></li> + <li class="navelem"><a class="el" href="dir_25143d27009f52d175c1d192441a738a.html">proton</a></li><li class="navelem"><a class="el" href="types_8hpp.html">types.hpp</a></li> <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.10 </li> Modified: qpid/site/docs/releases/qpid-proton-master/proton/cpp/api/types_8hpp_source.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/proton/cpp/api/types_8hpp_source.html?rev=1739159&r1=1739158&r2=1739159&view=diff ============================================================================== --- qpid/site/docs/releases/qpid-proton-master/proton/cpp/api/types_8hpp_source.html (original) +++ qpid/site/docs/releases/qpid-proton-master/proton/cpp/api/types_8hpp_source.html Thu Apr 14 18:29:35 2016 @@ -114,39 +114,40 @@ $(document).ready(function(){initNavTree <div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * under the License.</span></div> <div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> */</span></div> <div class="line"><a name="l00021"></a><span class="lineno"> 21</span> </div> -<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div> -<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#include <proton/binary.hpp></span></div> -<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#include <proton/config.hpp></span></div> -<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#include <proton/decimal.hpp></span></div> -<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include <proton/deque.hpp></span></div> -<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include <proton/duration.hpp></span></div> -<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <proton/list.hpp></span></div> -<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <proton/map.hpp></span></div> -<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include <proton/scalar.hpp></span></div> -<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <proton/symbol.hpp></span></div> -<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <proton/timestamp.hpp></span></div> -<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <<a class="code" href="types__fwd_8hpp.html">proton/types_fwd.hpp</a>></span></div> -<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <proton/uuid.hpp></span></div> -<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include <proton/value.hpp></span></div> -<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <proton/vector.hpp></span></div> -<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div> -<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <proton/annotation_key.hpp></span></div> -<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <proton/message_id.hpp></span></div> -<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div> -<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include <proton/config.hpp></span></div> -<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#if PN_CPP_HAS_CPP11</span></div> -<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include <proton/forward_list.hpp></span></div> -<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include <proton/unordered_map.hpp></span></div> -<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#endif</span></div> -<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div> -<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#endif // PROTON_TYPES_HPP</span></div> +<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> </div> +<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment">// TODO aconway 2016-03-15: described types, described arrays.</span></div> +<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div> +<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="preprocessor">#include <proton/annotation_key.hpp></span></div> +<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="preprocessor">#include <proton/binary.hpp></span></div> +<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="preprocessor">#include <proton/config.hpp></span></div> +<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="preprocessor">#include <proton/decimal.hpp></span></div> +<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="preprocessor">#include <proton/deque.hpp></span></div> +<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="preprocessor">#include <proton/duration.hpp></span></div> +<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="preprocessor">#include <proton/list.hpp></span></div> +<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="preprocessor">#include <proton/map.hpp></span></div> +<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="preprocessor">#include <proton/message_id.hpp></span></div> +<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="preprocessor">#include <proton/scalar.hpp></span></div> +<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="preprocessor">#include <proton/symbol.hpp></span></div> +<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="preprocessor">#include <proton/timestamp.hpp></span></div> +<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="preprocessor">#include <<a class="code" href="types__fwd_8hpp.html">proton/types_fwd.hpp</a>></span></div> +<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="preprocessor">#include <proton/uuid.hpp></span></div> +<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="preprocessor">#include <proton/value.hpp></span></div> +<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="preprocessor">#include <proton/vector.hpp></span></div> +<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div> +<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="preprocessor">#include <proton/config.hpp></span></div> +<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="preprocessor">#if PN_CPP_HAS_CPP11</span></div> +<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="preprocessor">#include <proton/forward_list.hpp></span></div> +<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="preprocessor">#include <proton/unordered_map.hpp></span></div> +<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div> +<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="preprocessor">#endif // PROTON_TYPES_HPP</span></div> <div class="ttc" id="types__fwd_8hpp_html"><div class="ttname"><a href="types__fwd_8hpp.html">types_fwd.hpp</a></div><div class="ttdoc">Forward declarations for all the C++ types used by proton to represent AMQP types. </div></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> - <li class="navelem"><a class="el" href="dir_659b8f7bed25fad65524af70d45ab193.html">proton</a></li><li class="navelem"><a class="el" href="types_8hpp.html">types.hpp</a></li> + <li class="navelem"><a class="el" href="dir_25143d27009f52d175c1d192441a738a.html">proton</a></li><li class="navelem"><a class="el" href="types_8hpp.html">types.hpp</a></li> <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.10 </li> Modified: qpid/site/docs/releases/qpid-proton-master/proton/cpp/api/types__fwd_8hpp.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/proton/cpp/api/types__fwd_8hpp.html?rev=1739159&r1=1739158&r2=1739159&view=diff ============================================================================== --- qpid/site/docs/releases/qpid-proton-master/proton/cpp/api/types__fwd_8hpp.html (original) +++ qpid/site/docs/releases/qpid-proton-master/proton/cpp/api/types__fwd_8hpp.html Thu Apr 14 18:29:35 2016 @@ -89,6 +89,8 @@ $(document).ready(function(){initNavTree </div> <div class="header"> + <div class="summary"> +<a href="#namespaces">Namespaces</a> </div> <div class="headertitle"> <div class="title">types_fwd.hpp File Reference</div> </div> </div><!--header--> @@ -96,10 +98,18 @@ $(document).ready(function(){initNavTree <p>Forward declarations for all the C++ types used by proton to represent AMQP types. <a href="#details">More...</a></p> -<div class="textblock"><code>#include <proton/type_compat.h></code><br /> +<div class="textblock"><code>#include <proton/config.hpp></code><br /> +<code>#include <proton/type_compat.h></code><br /> <code>#include <string></code><br /> </div> <p><a href="types__fwd_8hpp_source.html">Go to the source code of this file.</a></p> +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a> +Namespaces</h2></td></tr> +<tr class="memitem:namespaceproton"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceproton.html">proton</a></td></tr> +<tr class="memdesc:namespaceproton"><td class="mdescLeft"> </td><td class="mdescRight">The proton namespace. <br /></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +</table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Forward declarations for all the C++ types used by proton to represent AMQP types. </p> </div></div><!-- contents --> @@ -107,7 +117,7 @@ $(document).ready(function(){initNavTree <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> - <li class="navelem"><a class="el" href="dir_659b8f7bed25fad65524af70d45ab193.html">proton</a></li><li class="navelem"><a class="el" href="types__fwd_8hpp.html">types_fwd.hpp</a></li> + <li class="navelem"><a class="el" href="dir_25143d27009f52d175c1d192441a738a.html">proton</a></li><li class="navelem"><a class="el" href="types__fwd_8hpp.html">types_fwd.hpp</a></li> <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.10 </li> --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
