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>&#160;<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>&#160;<span class="preprocessor">#ifndef 
PROTON_TYPE_TRAITS_HPP</span></div>
 <div class="line"><a name="l00002"></a><span class="lineno">    
2</span>&#160;<span class="preprocessor">#define 
PROTON_TYPE_TRAITS_HPP</span></div>
 <div class="line"><a name="l00003"></a><span class="lineno">    
3</span>&#160;</div>
 <div class="line"><a name="l00004"></a><span class="lineno">    
4</span>&#160;<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>&#160;<span class="comment"> * under the License.</span></div>
 <div class="line"><a name="l00021"></a><span class="lineno">   
21</span>&#160;<span class="comment"> */</span></div>
 <div class="line"><a name="l00022"></a><span class="lineno">   
22</span>&#160;</div>
-<div class="line"><a name="l00024"></a><span class="lineno">   
24</span>&#160;</div>
-<div class="line"><a name="l00031"></a><span class="lineno">   
31</span>&#160;</div>
-<div class="line"><a name="l00032"></a><span class="lineno">   
32</span>&#160;<span class="preprocessor">#include 
&lt;proton/config.hpp&gt;</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno">   
33</span>&#160;<span class="preprocessor">#include &lt;<a class="code" 
href="types__fwd_8hpp.html">proton/types_fwd.hpp</a>&gt;</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno">   
34</span>&#160;<span class="preprocessor">#include 
&lt;proton/type_id.hpp&gt;</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno">   
35</span>&#160;</div>
-<div class="line"><a name="l00036"></a><span class="lineno">   
36</span>&#160;<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>&#160;<span class="keyword">namespace </span>codec {</div>
-<div class="line"><a name="l00038"></a><span class="lineno">   
38</span>&#160;</div>
-<div class="line"><a name="l00039"></a><span class="lineno">   
39</span>&#160;<span class="keyword">class </span>decoder;</div>
-<div class="line"><a name="l00040"></a><span class="lineno">   
40</span>&#160;<span class="keyword">class </span>encoder;</div>
-<div class="line"><a name="l00041"></a><span class="lineno">   
41</span>&#160;</div>
-<div class="line"><a name="l00042"></a><span class="lineno">   
42</span>&#160;<span class="keyword">template</span> &lt;<span 
class="keywordtype">bool</span>, <span class="keyword">class</span> T=<span 
class="keywordtype">void</span>&gt; <span class="keyword">struct 
</span>enable_if {};</div>
-<div class="line"><a name="l00043"></a><span class="lineno">   
43</span>&#160;<span class="keyword">template</span> &lt;<span 
class="keyword">class</span> T&gt; <span class="keyword">struct 
</span>enable_if&lt;true, T&gt; { <span class="keyword">typedef</span> T type; 
};</div>
-<div class="line"><a name="l00044"></a><span class="lineno">   
44</span>&#160;</div>
-<div class="line"><a name="l00045"></a><span class="lineno">   
45</span>&#160;<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>&#160;<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>&#160;</div>
-<div class="line"><a name="l00048"></a><span class="lineno">   
48</span>&#160;<span class="keyword">template</span> &lt;<span 
class="keyword">class</span> T&gt; <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>&#160;<span class="keyword">template</span> &lt;<span 
class="keyword">class</span> T&gt; <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>&#160;</div>
-<div class="line"><a name="l00051"></a><span class="lineno">   
51</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_integral&lt;char&gt; : <span 
class="keyword">public</span> true_type {};</div>
-<div class="line"><a name="l00052"></a><span class="lineno">   
52</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_signed&lt;char&gt; : <span 
class="keyword">public</span> false_type {};</div>
-<div class="line"><a name="l00053"></a><span class="lineno">   
53</span>&#160;</div>
-<div class="line"><a name="l00054"></a><span class="lineno">   
54</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_integral&lt;unsigned char&gt; : <span 
class="keyword">public</span> true_type {};</div>
-<div class="line"><a name="l00055"></a><span class="lineno">   
55</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_integral&lt;unsigned short&gt; : <span 
class="keyword">public</span> true_type {};</div>
-<div class="line"><a name="l00056"></a><span class="lineno">   
56</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_integral&lt;unsigned int&gt; : <span 
class="keyword">public</span> true_type {};</div>
-<div class="line"><a name="l00057"></a><span class="lineno">   
57</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_integral&lt;unsigned long&gt; : <span 
class="keyword">public</span> true_type {};</div>
-<div class="line"><a name="l00058"></a><span class="lineno">   
58</span>&#160;</div>
-<div class="line"><a name="l00059"></a><span class="lineno">   
59</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_integral&lt;signed char&gt; : <span 
class="keyword">public</span> true_type {};</div>
-<div class="line"><a name="l00060"></a><span class="lineno">   
60</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_integral&lt;signed short&gt; : <span 
class="keyword">public</span> true_type {};</div>
-<div class="line"><a name="l00061"></a><span class="lineno">   
61</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_integral&lt;signed int&gt; : <span 
class="keyword">public</span> true_type {};</div>
-<div class="line"><a name="l00062"></a><span class="lineno">   
62</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_integral&lt;signed long&gt; : <span 
class="keyword">public</span> true_type {};</div>
-<div class="line"><a name="l00063"></a><span class="lineno">   
63</span>&#160;</div>
-<div class="line"><a name="l00064"></a><span class="lineno">   
64</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_signed&lt;unsigned short&gt; : <span 
class="keyword">public</span> false_type {};</div>
-<div class="line"><a name="l00065"></a><span class="lineno">   
65</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_signed&lt;unsigned int&gt; : <span 
class="keyword">public</span> false_type {};</div>
-<div class="line"><a name="l00066"></a><span class="lineno">   
66</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_signed&lt;unsigned long&gt; : <span 
class="keyword">public</span> false_type {};</div>
-<div class="line"><a name="l00067"></a><span class="lineno">   
67</span>&#160;</div>
-<div class="line"><a name="l00068"></a><span class="lineno">   
68</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_signed&lt;signed char&gt; : <span 
class="keyword">public</span> true_type {};</div>
-<div class="line"><a name="l00069"></a><span class="lineno">   
69</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_signed&lt;signed short&gt; : <span 
class="keyword">public</span> true_type {};</div>
-<div class="line"><a name="l00070"></a><span class="lineno">   
70</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_signed&lt;signed int&gt; : <span 
class="keyword">public</span> true_type {};</div>
-<div class="line"><a name="l00071"></a><span class="lineno">   
71</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_signed&lt;signed long&gt; : <span 
class="keyword">public</span> true_type {};</div>
-<div class="line"><a name="l00072"></a><span class="lineno">   
72</span>&#160;</div>
-<div class="line"><a name="l00073"></a><span class="lineno">   
73</span>&#160;<span class="preprocessor">#if PN_CPP_HAS_LONG_LONG</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno">   
74</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_integral&lt;unsigned long long&gt; : <span 
class="keyword">public</span> true_type {};</div>
-<div class="line"><a name="l00075"></a><span class="lineno">   
75</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_integral&lt;signed long long&gt; : <span 
class="keyword">public</span> true_type {};</div>
-<div class="line"><a name="l00076"></a><span class="lineno">   
76</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_signed&lt;unsigned long long&gt; : <span 
class="keyword">public</span> false_type {};</div>
-<div class="line"><a name="l00077"></a><span class="lineno">   
77</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_signed&lt;signed long long&gt; : <span 
class="keyword">public</span> true_type {};</div>
-<div class="line"><a name="l00078"></a><span class="lineno">   
78</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno">   
79</span>&#160;</div>
-<div class="line"><a name="l00080"></a><span class="lineno">   
80</span>&#160;<span class="keyword">template</span> &lt;<span 
class="keyword">class</span> T, <span class="keyword">class</span> U&gt; <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>&#160;<span class="keyword">template</span> &lt;<span 
class="keyword">class</span> T&gt; <span class="keyword">struct 
</span>is_same&lt;T,T&gt; { <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>&#160;</div>
-<div class="line"><a name="l00083"></a><span class="lineno">   
83</span>&#160;<span class="keyword">template</span>&lt; <span 
class="keyword">class</span> T &gt; <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>&#160;<span class="keyword">template</span>&lt; <span 
class="keyword">class</span> T &gt; <span class="keyword">struct 
</span>remove_const&lt;const T&gt; { <span class="keyword">typedef</span> T 
type; };</div>
-<div class="line"><a name="l00085"></a><span class="lineno">   
85</span>&#160;</div>
-<div class="line"><a name="l00086"></a><span class="lineno">   
86</span>&#160;<span class="keyword">template</span> &lt;type_<span 
class="keywordtype">id</span> ID&gt; <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>&#160;</div>
-<div class="line"><a name="l00088"></a><span class="lineno">   
88</span>&#160;<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>&#160;<span class="keyword">template</span> &lt;<span 
class="keyword">class</span> T, <span class="keyword">class</span> Enable=<span 
class="keywordtype">void</span>&gt; <span class="keyword">struct 
</span>type_id_of;</div>
-<div class="line"><a name="l00090"></a><span class="lineno">   
90</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>type_id_of&lt;bool&gt; : <span 
class="keyword">public</span> type_id_constant&lt;BOOLEAN&gt; {};</div>
-<div class="line"><a name="l00091"></a><span class="lineno">   
91</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>type_id_of&lt;uint8_t&gt; : <span 
class="keyword">public</span> type_id_constant&lt;UBYTE&gt; {};</div>
-<div class="line"><a name="l00092"></a><span class="lineno">   
92</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>type_id_of&lt;int8_t&gt; : <span 
class="keyword">public</span> type_id_constant&lt;BYTE&gt; {};</div>
-<div class="line"><a name="l00093"></a><span class="lineno">   
93</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>type_id_of&lt;uint16_t&gt; : <span 
class="keyword">public</span> type_id_constant&lt;USHORT&gt; {};</div>
-<div class="line"><a name="l00094"></a><span class="lineno">   
94</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>type_id_of&lt;int16_t&gt; : <span 
class="keyword">public</span> type_id_constant&lt;SHORT&gt; {};</div>
-<div class="line"><a name="l00095"></a><span class="lineno">   
95</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>type_id_of&lt;uint32_t&gt; : <span 
class="keyword">public</span> type_id_constant&lt;UINT&gt; {};</div>
-<div class="line"><a name="l00096"></a><span class="lineno">   
96</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>type_id_of&lt;int32_t&gt; : <span 
class="keyword">public</span> type_id_constant&lt;INT&gt; {};</div>
-<div class="line"><a name="l00097"></a><span class="lineno">   
97</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>type_id_of&lt;uint64_t&gt; : <span 
class="keyword">public</span> type_id_constant&lt;ULONG&gt; {};</div>
-<div class="line"><a name="l00098"></a><span class="lineno">   
98</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>type_id_of&lt;int64_t&gt; : <span 
class="keyword">public</span> type_id_constant&lt;LONG&gt; {};</div>
-<div class="line"><a name="l00099"></a><span class="lineno">   
99</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>type_id_of&lt;wchar_t&gt; : <span 
class="keyword">public</span> type_id_constant&lt;CHAR&gt; {};</div>
-<div class="line"><a name="l00100"></a><span class="lineno">  
100</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>type_id_of&lt;timestamp&gt; : <span 
class="keyword">public</span> type_id_constant&lt;TIMESTAMP&gt; {};</div>
-<div class="line"><a name="l00101"></a><span class="lineno">  
101</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>type_id_of&lt;float&gt; : <span 
class="keyword">public</span> type_id_constant&lt;FLOAT&gt; {};</div>
-<div class="line"><a name="l00102"></a><span class="lineno">  
102</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>type_id_of&lt;double&gt; : <span 
class="keyword">public</span> type_id_constant&lt;DOUBLE&gt; {};</div>
-<div class="line"><a name="l00103"></a><span class="lineno">  
103</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>type_id_of&lt;decimal32&gt; : <span 
class="keyword">public</span> type_id_constant&lt;DECIMAL32&gt; {};</div>
-<div class="line"><a name="l00104"></a><span class="lineno">  
104</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>type_id_of&lt;decimal64&gt; : <span 
class="keyword">public</span> type_id_constant&lt;DECIMAL64&gt; {};</div>
-<div class="line"><a name="l00105"></a><span class="lineno">  
105</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>type_id_of&lt;decimal128&gt; : <span 
class="keyword">public</span> type_id_constant&lt;DECIMAL128&gt; {};</div>
-<div class="line"><a name="l00106"></a><span class="lineno">  
106</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>type_id_of&lt;uuid&gt; : <span 
class="keyword">public</span> type_id_constant&lt;UUID&gt; {};</div>
-<div class="line"><a name="l00107"></a><span class="lineno">  
107</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>type_id_of&lt;binary&gt; : <span 
class="keyword">public</span> type_id_constant&lt;BINARY&gt; {};</div>
-<div class="line"><a name="l00108"></a><span class="lineno">  
108</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>type_id_of&lt;<a class="code" 
href="namespacestd.html">std</a>::string&gt; : <span 
class="keyword">public</span> type_id_constant&lt;STRING&gt; {};</div>
-<div class="line"><a name="l00109"></a><span class="lineno">  
109</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>type_id_of&lt;symbol&gt; : <span 
class="keyword">public</span> type_id_constant&lt;SYMBOL&gt; {};</div>
-<div class="line"><a name="l00110"></a><span class="lineno">  
110</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>type_id_of&lt;const char*&gt; : <span 
class="keyword">public</span> type_id_constant&lt;STRING&gt; {};</div>
-<div class="line"><a name="l00111"></a><span class="lineno">  
111</span>&#160;</div>
-<div class="line"><a name="l00112"></a><span class="lineno">  
112</span>&#160;<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>&#160;<span class="keyword">template</span> &lt;<span 
class="keyword">class</span> T, <span class="keyword">class</span> Enable=<span 
class="keywordtype">void</span>&gt; <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>&#160;<span class="keyword">template</span> &lt;<span 
class="keyword">class</span> T&gt; <span class="keyword">struct 
</span>has_type_id&lt;T, typename 
enable_if&lt;!!type_id_of&lt;T&gt;::value&gt;::type&gt;  : <span 
class="keyword">public</span> true_type {};</div>
-<div class="line"><a name="l00115"></a><span class="lineno">  
115</span>&#160;</div>
-<div class="line"><a name="l00116"></a><span class="lineno">  
116</span>&#160;<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>&#160;<span class="keyword">template</span>&lt;<span 
class="keywordtype">size_t</span> SIZE, <span class="keywordtype">bool</span> 
IS_SIGNED&gt; <span class="keyword">struct </span>integer_type;</div>
-<div class="line"><a name="l00118"></a><span class="lineno">  
118</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>integer_type&lt;1, true&gt; { <span 
class="keyword">typedef</span> int8_t type; };</div>
-<div class="line"><a name="l00119"></a><span class="lineno">  
119</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>integer_type&lt;2, true&gt; { <span 
class="keyword">typedef</span> int16_t type; };</div>
-<div class="line"><a name="l00120"></a><span class="lineno">  
120</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>integer_type&lt;4, true&gt; { <span 
class="keyword">typedef</span> int32_t type; };</div>
-<div class="line"><a name="l00121"></a><span class="lineno">  
121</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>integer_type&lt;8, true&gt; { <span 
class="keyword">typedef</span> int64_t type; };</div>
-<div class="line"><a name="l00122"></a><span class="lineno">  
122</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>integer_type&lt;1, false&gt; { <span 
class="keyword">typedef</span> uint8_t type; };</div>
-<div class="line"><a name="l00123"></a><span class="lineno">  
123</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>integer_type&lt;2, false&gt; { <span 
class="keyword">typedef</span> uint16_t type; };</div>
-<div class="line"><a name="l00124"></a><span class="lineno">  
124</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>integer_type&lt;4, false&gt; { <span 
class="keyword">typedef</span> uint32_t type; };</div>
-<div class="line"><a name="l00125"></a><span class="lineno">  
125</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>integer_type&lt;8, false&gt; { <span 
class="keyword">typedef</span> uint64_t type; };</div>
-<div class="line"><a name="l00126"></a><span class="lineno">  
126</span>&#160;</div>
-<div class="line"><a name="l00127"></a><span class="lineno">  
127</span>&#160;<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>&#160;<span class="keyword">template</span> &lt;<span 
class="keyword">class</span> T&gt; <span class="keyword">struct 
</span>is_unknown_integer {</div>
-<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160; 
   <span class="keyword">static</span> <span class="keyword">const</span> <span 
class="keywordtype">bool</span> value = !has_type_id&lt;T&gt;::value &amp;&amp; 
is_integral&lt;T&gt;::value;</div>
-<div class="line"><a name="l00130"></a><span class="lineno">  
130</span>&#160;};</div>
-<div class="line"><a name="l00131"></a><span class="lineno">  
131</span>&#160;</div>
-<div class="line"><a name="l00132"></a><span class="lineno">  
132</span>&#160;<span class="keyword">namespace </span>is_encodable_impl {   
<span class="comment">// Protected the world from wildcard 
operator&lt;&lt;</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno">  
133</span>&#160;</div>
-<div class="line"><a name="l00134"></a><span class="lineno">  
134</span>&#160;<span class="keyword">typedef</span> <span 
class="keywordtype">char</span> yes;</div>
-<div class="line"><a name="l00135"></a><span class="lineno">  
135</span>&#160;<span class="keyword">typedef</span> <span 
class="keywordtype">double</span> no;</div>
-<div class="line"><a name="l00136"></a><span class="lineno">  
136</span>&#160;<span class="keyword">struct </span>wildcard { wildcard(...); 
};</div>
-<div class="line"><a name="l00137"></a><span class="lineno">  
137</span>&#160;</div>
-<div class="line"><a name="l00138"></a><span class="lineno">  
138</span>&#160;no operator&lt;&lt;(wildcard, wildcard); <span 
class="comment">// Fallback</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno">  
139</span>&#160;</div>
-<div class="line"><a name="l00140"></a><span class="lineno">  
140</span>&#160;<span class="keyword">template</span>&lt;<span 
class="keyword">typename</span> T&gt; <span class="keyword">struct 
</span>is_encodable {</div>
-<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160; 
   <span class="keyword">static</span> yes test(encoder);</div>
-<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160; 
   <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>&#160; 
   <span class="keyword">static</span> encoder &amp;e;</div>
-<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160; 
   <span class="keyword">static</span> <span class="keyword">const</span> 
T&amp; t;</div>
-<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160; 
   <span class="keyword">static</span> <span class="keywordtype">bool</span> 
<span class="keyword">const</span> value = <span 
class="keyword">sizeof</span>(test(e &lt;&lt; t)) == <span 
class="keyword">sizeof</span>(yes);</div>
-<div class="line"><a name="l00146"></a><span class="lineno">  
146</span>&#160;};</div>
-<div class="line"><a name="l00147"></a><span class="lineno">  
147</span>&#160;<span class="comment">// Avoid recursion</span></div>
-<div class="line"><a name="l00148"></a><span class="lineno">  
148</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_encodable&lt;value&gt; : <span 
class="keyword">public</span> true_type {};</div>
-<div class="line"><a name="l00149"></a><span class="lineno">  
149</span>&#160;</div>
-<div class="line"><a name="l00150"></a><span class="lineno">  
150</span>&#160;} <span class="comment">// namespace 
is_encodable_impl</span></div>
-<div class="line"><a name="l00151"></a><span class="lineno">  
151</span>&#160;</div>
-<div class="line"><a name="l00153"></a><span class="lineno">  
153</span>&#160;<span class="keyword">using</span> 
is_encodable_impl::is_encodable;</div>
-<div class="line"><a name="l00154"></a><span class="lineno">  
154</span>&#160;</div>
-<div class="line"><a name="l00156"></a><span class="lineno">  
156</span>&#160;<span class="keyword">template</span>&lt;<span 
class="keyword">class</span> T, <span class="keyword">class</span> U=<span 
class="keywordtype">void</span>&gt; <span class="keyword">struct 
</span>enable_amqp_type :</div>
-<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160; 
       <span class="keyword">public</span> 
enable_if&lt;is_encodable&lt;T&gt;::value, U&gt; {};</div>
-<div class="line"><a name="l00158"></a><span class="lineno">  
158</span>&#160;</div>
-<div class="line"><a name="l00160"></a><span class="lineno">  
160</span>&#160;<span class="keyword">template</span>&lt;<span 
class="keyword">class</span> T, <span class="keyword">class</span> U=<span 
class="keywordtype">void</span>&gt; <span class="keyword">struct 
</span>assignable : enable_amqp_type&lt;T, U&gt; {};</div>
-<div class="line"><a name="l00161"></a><span class="lineno">  
161</span>&#160;<span class="keyword">template</span>&lt;<span 
class="keyword">class</span> U&gt; <span class="keyword">struct 
</span>assignable&lt;value, U&gt; : <span class="keyword">public</span> 
false_type {};</div>
-<div class="line"><a name="l00163"></a><span class="lineno">  
163</span>&#160;<span class="keyword">template</span> &lt;<span 
class="keyword">class</span> T, <span class="keyword">class</span> U=<span 
class="keywordtype">void</span>&gt; <span class="keyword">struct 
</span>enable_unknown_integer :</div>
-<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160; 
       <span class="keyword">public</span> 
enable_if&lt;is_unknown_integer&lt;T&gt;::value, U&gt; {};</div>
-<div class="line"><a name="l00165"></a><span class="lineno">  
165</span>&#160;</div>
-<div class="line"><a name="l00166"></a><span class="lineno">  
166</span>&#160;} <span class="comment">// internal</span></div>
-<div class="line"><a name="l00167"></a><span class="lineno">  
167</span>&#160;} <span class="comment">// proton</span></div>
-<div class="line"><a name="l00168"></a><span class="lineno">  
168</span>&#160;</div>
-<div class="line"><a name="l00169"></a><span class="lineno">  
169</span>&#160;<span class="preprocessor">#endif // 
PROTON_TYPE_TRAITS_HPP</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   
29</span>&#160;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   
30</span>&#160;<span class="preprocessor">#include 
&lt;proton/config.hpp&gt;</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   
31</span>&#160;<span class="preprocessor">#include &lt;<a class="code" 
href="types__fwd_8hpp.html">proton/types_fwd.hpp</a>&gt;</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   
32</span>&#160;<span class="preprocessor">#include &lt;<a class="code" 
href="type__id_8hpp.html">proton/type_id.hpp</a>&gt;</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   
33</span>&#160;</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   
35</span>&#160;<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>&#160;<span class="keyword">namespace </span>internal {</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   
37</span>&#160;</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   
38</span>&#160;<span class="keyword">class </span>decoder;</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   
39</span>&#160;<span class="keyword">class </span>encoder;</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   
40</span>&#160;</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   
41</span>&#160;<span class="keyword">template</span> &lt;<span 
class="keywordtype">bool</span>, <span class="keyword">class</span> T=<span 
class="keywordtype">void</span>&gt; <span class="keyword">struct 
</span>enable_if {};</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   
42</span>&#160;<span class="keyword">template</span> &lt;<span 
class="keyword">class</span> T&gt; <span class="keyword">struct 
</span>enable_if&lt;true, T&gt; { <span class="keyword">typedef</span> T type; 
};</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   
43</span>&#160;</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   
44</span>&#160;<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>&#160;<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>&#160;</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   
47</span>&#160;<span class="keyword">template</span> &lt;<span 
class="keyword">class</span> T&gt; <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>&#160;<span class="keyword">template</span> &lt;<span 
class="keyword">class</span> T&gt; <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>&#160;</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   
50</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_integral&lt;char&gt; : <span 
class="keyword">public</span> true_type {};</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   
51</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_signed&lt;char&gt; : <span 
class="keyword">public</span> false_type {};</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   
52</span>&#160;</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   
53</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_integral&lt;unsigned char&gt; : <span 
class="keyword">public</span> true_type {};</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   
54</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_integral&lt;unsigned short&gt; : <span 
class="keyword">public</span> true_type {};</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   
55</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_integral&lt;unsigned int&gt; : <span 
class="keyword">public</span> true_type {};</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   
56</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_integral&lt;unsigned long&gt; : <span 
class="keyword">public</span> true_type {};</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   
57</span>&#160;</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   
58</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_integral&lt;signed char&gt; : <span 
class="keyword">public</span> true_type {};</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   
59</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_integral&lt;signed short&gt; : <span 
class="keyword">public</span> true_type {};</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   
60</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_integral&lt;signed int&gt; : <span 
class="keyword">public</span> true_type {};</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   
61</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_integral&lt;signed long&gt; : <span 
class="keyword">public</span> true_type {};</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   
62</span>&#160;</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   
63</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_signed&lt;unsigned short&gt; : <span 
class="keyword">public</span> false_type {};</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   
64</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_signed&lt;unsigned int&gt; : <span 
class="keyword">public</span> false_type {};</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   
65</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_signed&lt;unsigned long&gt; : <span 
class="keyword">public</span> false_type {};</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   
66</span>&#160;</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   
67</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_signed&lt;signed char&gt; : <span 
class="keyword">public</span> true_type {};</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   
68</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_signed&lt;signed short&gt; : <span 
class="keyword">public</span> true_type {};</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   
69</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_signed&lt;signed int&gt; : <span 
class="keyword">public</span> true_type {};</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   
70</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_signed&lt;signed long&gt; : <span 
class="keyword">public</span> true_type {};</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   
71</span>&#160;</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   
72</span>&#160;<span class="preprocessor">#if PN_CPP_HAS_LONG_LONG</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   
73</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_integral&lt;unsigned long long&gt; : <span 
class="keyword">public</span> true_type {};</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   
74</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_integral&lt;signed long long&gt; : <span 
class="keyword">public</span> true_type {};</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   
75</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_signed&lt;unsigned long long&gt; : <span 
class="keyword">public</span> false_type {};</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   
76</span>&#160;<span class="keyword">template</span> &lt;&gt; <span 
class="keyword">struct </span>is_signed&lt;signed long long&gt; : <span 
class="keyword">public</span> true_type {};</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   
77</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno">   
78</span>&#160;</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   
79</span>&#160;<span class="keyword">template</span> &lt;<span 
class="keyword">class</span> T, <span class="keyword">class</span> U&gt; <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>&#160;<span class="keyword">template</span> &lt;<span 
class="keyword">class</span> T&gt; <span class="keyword">struct 
</span>is_same&lt;T,T&gt; { <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>&#160;</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   
82</span>&#160;<span class="keyword">template</span>&lt; <span 
class="keyword">class</span> T &gt; <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>&#160;<span class="keyword">template</span>&lt; <span 
class="keyword">class</span> T &gt; <span class="keyword">struct 
</span>remove_const&lt;const T&gt; { <span class="keyword">typedef</span> T 
type; };</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   
84</span>&#160;</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   
85</span>&#160;<span class="keyword">template</span> &lt;type_<span 
class="keywordtype">id</span> ID, <span class="keyword">class</span> T&gt; 
<span class="keyword">struct </span>type_id_constant {</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160; 
   <span class="keyword">typedef</span> T type;</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160; 
   <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>&#160;};</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   
89</span>&#160;</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   
92</span>&#160;<span class="keyword">template</span> &lt;<span 
class="keyword">class</span> T&gt; <span class="keyword">struct 
</span>type_id_of;</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   
93</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>type_id_of&lt;bool&gt; : <span 
class="keyword">public</span> type_id_constant&lt;BOOLEAN, bool&gt; {};</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   
94</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>type_id_of&lt;uint8_t&gt; : <span 
class="keyword">public</span> type_id_constant&lt;UBYTE, uint8_t&gt; {};</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   
95</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>type_id_of&lt;int8_t&gt; : <span 
class="keyword">public</span> type_id_constant&lt;BYTE, int8_t&gt; {};</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   
96</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>type_id_of&lt;uint16_t&gt; : <span 
class="keyword">public</span> type_id_constant&lt;USHORT, uint16_t&gt; {};</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   
97</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>type_id_of&lt;int16_t&gt; : <span 
class="keyword">public</span> type_id_constant&lt;SHORT, int16_t&gt; {};</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   
98</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>type_id_of&lt;uint32_t&gt; : <span 
class="keyword">public</span> type_id_constant&lt;UINT, uint32_t&gt; {};</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   
99</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>type_id_of&lt;int32_t&gt; : <span 
class="keyword">public</span> type_id_constant&lt;INT, int32_t&gt; {};</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  
100</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>type_id_of&lt;uint64_t&gt; : <span 
class="keyword">public</span> type_id_constant&lt;ULONG, uint64_t&gt; {};</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  
101</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>type_id_of&lt;int64_t&gt; : <span 
class="keyword">public</span> type_id_constant&lt;LONG, int64_t&gt; {};</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  
102</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>type_id_of&lt;wchar_t&gt; : <span 
class="keyword">public</span> type_id_constant&lt;CHAR, wchar_t&gt; {};</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  
103</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>type_id_of&lt;float&gt; : <span 
class="keyword">public</span> type_id_constant&lt;FLOAT, float&gt; {};</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  
104</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>type_id_of&lt;double&gt; : <span 
class="keyword">public</span> type_id_constant&lt;DOUBLE, double&gt; {};</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  
105</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>type_id_of&lt;timestamp&gt; : <span 
class="keyword">public</span> type_id_constant&lt;TIMESTAMP, timestamp&gt; 
{};</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  
106</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>type_id_of&lt;decimal32&gt; : <span 
class="keyword">public</span> type_id_constant&lt;DECIMAL32, decimal32&gt; 
{};</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  
107</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>type_id_of&lt;decimal64&gt; : <span 
class="keyword">public</span> type_id_constant&lt;DECIMAL64, decimal64&gt; 
{};</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  
108</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>type_id_of&lt;decimal128&gt; : <span 
class="keyword">public</span> type_id_constant&lt;DECIMAL128, decimal128&gt; 
{};</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  
109</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>type_id_of&lt;uuid&gt; : <span 
class="keyword">public</span> type_id_constant&lt;UUID, uuid&gt; {};</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  
110</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>type_id_of&lt;<a class="code" 
href="namespacestd.html">std</a>::string&gt; : <span 
class="keyword">public</span> type_id_constant&lt;STRING, std::string&gt; 
{};</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  
111</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>type_id_of&lt;symbol&gt; : <span 
class="keyword">public</span> type_id_constant&lt;SYMBOL, symbol&gt; {};</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  
112</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>type_id_of&lt;binary&gt; : <span 
class="keyword">public</span> type_id_constant&lt;BINARY, binary&gt; {};</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  
114</span>&#160;</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  
116</span>&#160;<span class="keyword">template</span> &lt;<span 
class="keyword">class</span> T, <span class="keyword">class</span> Enable=<span 
class="keywordtype">void</span>&gt; <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>&#160;<span class="keyword">template</span> &lt;<span 
class="keyword">class</span> T&gt; <span class="keyword">struct 
</span>has_type_id&lt;T, typename type_id_of&lt;T&gt;::type&gt;  : <span 
class="keyword">public</span> true_type {};</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  
118</span>&#160;</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  
119</span>&#160;<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>&#160;<span class="keyword">template</span>&lt;<span 
class="keywordtype">size_t</span> SIZE, <span class="keywordtype">bool</span> 
IS_SIGNED&gt; <span class="keyword">struct </span>integer_type;</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  
121</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>integer_type&lt;1, true&gt; { <span 
class="keyword">typedef</span> int8_t type; };</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  
122</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>integer_type&lt;2, true&gt; { <span 
class="keyword">typedef</span> int16_t type; };</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  
123</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>integer_type&lt;4, true&gt; { <span 
class="keyword">typedef</span> int32_t type; };</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  
124</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>integer_type&lt;8, true&gt; { <span 
class="keyword">typedef</span> int64_t type; };</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  
125</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>integer_type&lt;1, false&gt; { <span 
class="keyword">typedef</span> uint8_t type; };</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  
126</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>integer_type&lt;2, false&gt; { <span 
class="keyword">typedef</span> uint16_t type; };</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  
127</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>integer_type&lt;4, false&gt; { <span 
class="keyword">typedef</span> uint32_t type; };</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  
128</span>&#160;<span class="keyword">template</span>&lt;&gt; <span 
class="keyword">struct </span>integer_type&lt;8, false&gt; { <span 
class="keyword">typedef</span> uint64_t type; };</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  
129</span>&#160;</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  
130</span>&#160;<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>&#160;<span class="keyword">template</span> &lt;<span 
class="keyword">class</span> T&gt; <span class="keyword">struct 
</span>is_unknown_integer {</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160; 
   <span class="keyword">static</span> <span class="keyword">const</span> <span 
class="keywordtype">bool</span> value = !has_type_id&lt;T&gt;::value &amp;&amp; 
is_integral&lt;T&gt;::value;</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  
133</span>&#160;};</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  
134</span>&#160;</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  
135</span>&#160;<span class="comment">// Helper base for SFINAE test 
templates.</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno">  
136</span>&#160;<span class="keyword">struct </span>sfinae {</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160; 
   <span class="keyword">typedef</span> <span class="keywordtype">char</span> 
yes;</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160; 
   <span class="keyword">typedef</span> <span class="keywordtype">double</span> 
no;</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160; 
   <span class="keyword">struct </span>wildcard { wildcard(...); };</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  
140</span>&#160;};</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  
141</span>&#160;</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  
142</span>&#160;<span class="keyword">template</span> &lt;<span 
class="keyword">class</span> From, <span class="keyword">class</span> To&gt; 
<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>&#160; 
   <span class="keyword">static</span> yes test(<span 
class="keyword">const</span> To&amp;);</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160; 
   <span class="keyword">static</span> no test(...);</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160; 
   <span class="keyword">static</span> <span class="keyword">const</span> 
From&amp; from;</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160; 
   <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>&#160;};</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  
148</span>&#160;</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  
149</span>&#160;} <span class="comment">// internal</span></div>
+<div class="line"><a name="l00150"></a><span class="lineno">  
150</span>&#160;} <span class="comment">// proton</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno">  
151</span>&#160;<span class="comment">//@endcond</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno">  
152</span>&#160;</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  
153</span>&#160;<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
+   &#160;<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&lt;proton::value, proton::value&gt;
+</pre><p>You can decode any AMQP LIST or ARRAY into </p><pre 
class="fragment">std::vector&lt;proton::value&gt;
+</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 &lt;proton/binary.hpp&gt;</code><br />
+<div class="textblock"><code>#include 
&lt;proton/annotation_key.hpp&gt;</code><br />
+<code>#include &lt;proton/binary.hpp&gt;</code><br />
 <code>#include &lt;proton/config.hpp&gt;</code><br />
 <code>#include &lt;proton/decimal.hpp&gt;</code><br />
 <code>#include &lt;proton/deque.hpp&gt;</code><br />
 <code>#include &lt;proton/duration.hpp&gt;</code><br />
 <code>#include &lt;proton/list.hpp&gt;</code><br />
 <code>#include &lt;proton/map.hpp&gt;</code><br />
+<code>#include &lt;proton/message_id.hpp&gt;</code><br />
 <code>#include &lt;proton/scalar.hpp&gt;</code><br />
 <code>#include &lt;proton/symbol.hpp&gt;</code><br />
 <code>#include &lt;proton/timestamp.hpp&gt;</code><br />
@@ -110,19 +112,16 @@ $(document).ready(function(){initNavTree
 <code>#include &lt;proton/uuid.hpp&gt;</code><br />
 <code>#include &lt;proton/value.hpp&gt;</code><br />
 <code>#include &lt;proton/vector.hpp&gt;</code><br />
-<code>#include &lt;proton/annotation_key.hpp&gt;</code><br />
-<code>#include &lt;proton/message_id.hpp&gt;</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>&#160;<span class="comment"> * under the License.</span></div>
 <div class="line"><a name="l00020"></a><span class="lineno">   
20</span>&#160;<span class="comment"> */</span></div>
 <div class="line"><a name="l00021"></a><span class="lineno">   
21</span>&#160;</div>
-<div class="line"><a name="l00026"></a><span class="lineno">   
26</span>&#160;</div>
-<div class="line"><a name="l00027"></a><span class="lineno">   
27</span>&#160;<span class="preprocessor">#include 
&lt;proton/binary.hpp&gt;</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno">   
28</span>&#160;<span class="preprocessor">#include 
&lt;proton/config.hpp&gt;</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno">   
29</span>&#160;<span class="preprocessor">#include 
&lt;proton/decimal.hpp&gt;</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno">   
30</span>&#160;<span class="preprocessor">#include 
&lt;proton/deque.hpp&gt;</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno">   
31</span>&#160;<span class="preprocessor">#include 
&lt;proton/duration.hpp&gt;</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno">   
32</span>&#160;<span class="preprocessor">#include 
&lt;proton/list.hpp&gt;</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno">   
33</span>&#160;<span class="preprocessor">#include 
&lt;proton/map.hpp&gt;</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno">   
34</span>&#160;<span class="preprocessor">#include 
&lt;proton/scalar.hpp&gt;</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno">   
35</span>&#160;<span class="preprocessor">#include 
&lt;proton/symbol.hpp&gt;</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno">   
36</span>&#160;<span class="preprocessor">#include 
&lt;proton/timestamp.hpp&gt;</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno">   
37</span>&#160;<span class="preprocessor">#include &lt;<a class="code" 
href="types__fwd_8hpp.html">proton/types_fwd.hpp</a>&gt;</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno">   
38</span>&#160;<span class="preprocessor">#include 
&lt;proton/uuid.hpp&gt;</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno">   
39</span>&#160;<span class="preprocessor">#include 
&lt;proton/value.hpp&gt;</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno">   
40</span>&#160;<span class="preprocessor">#include 
&lt;proton/vector.hpp&gt;</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno">   
41</span>&#160;</div>
-<div class="line"><a name="l00042"></a><span class="lineno">   
42</span>&#160;<span class="preprocessor">#include 
&lt;proton/annotation_key.hpp&gt;</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno">   
43</span>&#160;<span class="preprocessor">#include 
&lt;proton/message_id.hpp&gt;</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno">   
44</span>&#160;</div>
-<div class="line"><a name="l00045"></a><span class="lineno">   
45</span>&#160;<span class="preprocessor">#include 
&lt;proton/config.hpp&gt;</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno">   
46</span>&#160;<span class="preprocessor">#if PN_CPP_HAS_CPP11</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno">   
47</span>&#160;<span class="preprocessor">#include 
&lt;proton/forward_list.hpp&gt;</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno">   
48</span>&#160;<span class="preprocessor">#include 
&lt;proton/unordered_map.hpp&gt;</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno">   
49</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno">   
50</span>&#160;</div>
-<div class="line"><a name="l00051"></a><span class="lineno">   
51</span>&#160;<span class="preprocessor">#endif // 
PROTON_TYPES_HPP</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   
25</span>&#160;</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  
106</span>&#160;<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>&#160;</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  
108</span>&#160;<span class="preprocessor">#include 
&lt;proton/annotation_key.hpp&gt;</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno">  
109</span>&#160;<span class="preprocessor">#include 
&lt;proton/binary.hpp&gt;</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno">  
110</span>&#160;<span class="preprocessor">#include 
&lt;proton/config.hpp&gt;</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno">  
111</span>&#160;<span class="preprocessor">#include 
&lt;proton/decimal.hpp&gt;</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno">  
112</span>&#160;<span class="preprocessor">#include 
&lt;proton/deque.hpp&gt;</span></div>
+<div class="line"><a name="l00113"></a><span class="lineno">  
113</span>&#160;<span class="preprocessor">#include 
&lt;proton/duration.hpp&gt;</span></div>
+<div class="line"><a name="l00114"></a><span class="lineno">  
114</span>&#160;<span class="preprocessor">#include 
&lt;proton/list.hpp&gt;</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno">  
115</span>&#160;<span class="preprocessor">#include 
&lt;proton/map.hpp&gt;</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno">  
116</span>&#160;<span class="preprocessor">#include 
&lt;proton/message_id.hpp&gt;</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno">  
117</span>&#160;<span class="preprocessor">#include 
&lt;proton/scalar.hpp&gt;</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno">  
118</span>&#160;<span class="preprocessor">#include 
&lt;proton/symbol.hpp&gt;</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno">  
119</span>&#160;<span class="preprocessor">#include 
&lt;proton/timestamp.hpp&gt;</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno">  
120</span>&#160;<span class="preprocessor">#include &lt;<a class="code" 
href="types__fwd_8hpp.html">proton/types_fwd.hpp</a>&gt;</span></div>
+<div class="line"><a name="l00121"></a><span class="lineno">  
121</span>&#160;<span class="preprocessor">#include 
&lt;proton/uuid.hpp&gt;</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno">  
122</span>&#160;<span class="preprocessor">#include 
&lt;proton/value.hpp&gt;</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno">  
123</span>&#160;<span class="preprocessor">#include 
&lt;proton/vector.hpp&gt;</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno">  
124</span>&#160;</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  
125</span>&#160;<span class="preprocessor">#include 
&lt;proton/config.hpp&gt;</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno">  
126</span>&#160;<span class="preprocessor">#if PN_CPP_HAS_CPP11</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno">  
127</span>&#160;<span class="preprocessor">#include 
&lt;proton/forward_list.hpp&gt;</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno">  
128</span>&#160;<span class="preprocessor">#include 
&lt;proton/unordered_map.hpp&gt;</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno">  
129</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno">  
130</span>&#160;</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  
131</span>&#160;<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 &lt;proton/type_compat.h&gt;</code><br />
+<div class="textblock"><code>#include &lt;proton/config.hpp&gt;</code><br />
+<code>#include &lt;proton/type_compat.h&gt;</code><br />
 <code>#include &lt;string&gt;</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"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" 
href="namespaceproton.html">proton</a></td></tr>
+<tr class="memdesc:namespaceproton"><td class="mdescLeft">&#160;</td><td 
class="mdescRight">The proton namespace. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</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]

Reply via email to