<!DOCTYPE html> <html> <head> <meta charset='utf-8' /> <meta http-equiv="X-UA-Compatible" content="chrome=1" /> <meta name="description" content="Capnproto : Cap'n Proto serialization/RPC system" /> <meta name="viewport" content="width=480"> <link rel="stylesheet" type="text/css" media="screen" href="stylesheets/stylesheet.css"> <title>Cap'n Proto</title> </head> <body class="desktop"> <!-- HEADER --> <div id="header_wrap" class="outer"> <header class="inner"> <img src="images/captain_proto.png"> <div id="infinitely_faster"> <img src="images/infinitely_faster.png"> </div> </header> <a id="discuss_banner" href="https://groups.google.com/group/capnproto">Discuss on Groups</a> <a id="forkme_banner" href="https://github.com/kentonv/capnproto">View on GitHub</a> </div> <!-- MAIN CONTENT --> <div id="main_content_wrap" class="outer"> <section id="menu"> <ul> <li><a href="index.html">Introduction</a></li> <li><a href="install.html">Installation</a></li> <li><a href="language.html">Schema Language</a></li> <li><a href="encoding.html">Encoding</a></li> <li><a href="rpc.html">RPC Protocol</a></li> <li><a href="cxx.html">C++ Runtime</a></li> <li><a href="otherlang.html">Other Languages</a></li> </ul> </section> <script type="text/javascript"> // Highlight the current page in the sidebar, make the sidebar items easy to click, and // make the sidebar float when scrolled, unless there isn't enough space. (function () { var pathname = document.location.pathname; var last = pathname.lastIndexOf('/'); var filename = pathname.substring(last); if (filename == "/") { filename = "/index.html"; } var menu = document.getElementById("menu"); var setMenuLayout = function() { if (window.innerWidth < 900) { document.body.className = "narrow"; menu.className = ""; } else { if (document.body.clientWidth < 1340) { document.body.className = "normal"; } else { document.body.className = "wide"; } if (window.scrollY < 410 || window.innerHeight < menu.clientHeight + 100) { menu.className = ""; } else { menu.className = "floating"; } } }; setMenuLayout(); window.onresize = setMenuLayout; window.onscroll = setMenuLayout; var items = menu.getElementsByTagName("li"); for (var i = 0; i < items.length; i++) { var link = items[i].getElementsByTagName("a")[0]; var href = link.href; if (href.lastIndexOf(filename) >= 0) { var parent = link.parentNode; parent.removeChild(link); var p = document.createElement("p"); p.appendChild(document.createTextNode(link.innerText || link.textContent)); p.onclick = (function(url) { return function(event) { window.location.href = url; event.stopPropagation(); } })(href + "#main_content"); parent.appendChild(p); items[i].className = "selected"; var toc = document.createElement("ul"); toc.id = "toc"; items[i].appendChild(toc); } else { items[i].onclick = (function(url) { return function(event) { window.location.href = url; event.stopPropagation(); } })(href); } } })(); </script> <section id="main_content" class="inner"> {{ content }} <div style="clear: left;"></div> </section> </div> <!-- FOOTER --> <div id="footer_wrap" class="outer"> <footer class="inner"> <p class="copyright">Cap'n Proto maintained by <a href="https://github.com/kentonv">kentonv</a></p> <p>Design by <a href="http://www.starfruit-cafe.net/blog">sailorhg</a> ∙ Published with <a href="http://pages.github.com">GitHub Pages</a></p> </footer> </div> <script type="text/javascript"> // Inject a table of contents into the sidebar. (function() { var toc = document.getElementById("toc"); if (toc) { var content = document.getElementById("main_content").childNodes; var headings = []; for (var i = 0; i < content.length; i++) { if (content[i].tagName == "H2" || content[i].tagName == "H3" || content[i].tagName == "H4") { headings.push(content[i]); } } var levels = [toc]; for (var i in headings) { var hl = headings[i].tagName.slice(1) - 1; while (hl > levels.length) { var parent = levels[levels.length - 1]; var item = parent.childNodes[parent.childNodes.length - 1]; var sublist = document.createElement("ul"); item.appendChild(sublist); levels.push(sublist); } while (hl < levels.length) { levels.pop(); } var parent = levels[levels.length - 1]; var item = document.createElement("li"); var p = document.createElement("p"); var link = document.createElement("a"); link.appendChild(document.createTextNode(headings[i].innerText || headings[i].textContent)); link.href = "#" + headings[i].id; p.appendChild(link); p.onclick = (function(url) { return function(event) { window.location.href = url; event.stopPropagation(); } })(link.href); item.appendChild(p); parent.appendChild(item); } } var menu = document.getElementById("menu"); document.getElementById("main_content").style.minHeight = menu.clientHeight + 100 + "px"; })() </script> <script type="text/javascript"> var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); </script> <script type="text/javascript"> try { var pageTracker = _gat._getTracker("UA-39711112-1"); pageTracker._trackPageview(); } catch(err) {} </script> </body> </html>