CINXE.COM

RubyGems - bin_struct - Versions diffs - 0.4.0 → 0.5.0 - Mend - Supply Chain Defender

<!DOCTYPE html> <html> <head> <title> RubyGems - bin_struct - Versions diffs - 0.4.0 → 0.5.0 - Mend - Supply Chain Defender </title> <link rel="icon" type="image/png" href="/packs/media/images/production/favicons/favicon-32x32-fa0286238d4d512e71dba3881cbbcc42.png" /> <link rel="mask-icon" type="image/x-icon" href="/packs/media/images/production/favicons/favicon-786db6a85c0dea068c1a7047338024d2.svg" /> <link rel="apple-touch-icon" type="image/png" href="/packs/media/images/production/favicons/apple-touch-icon-11491aa2351c88b3b48534d1576a2ff9.png" /> <link rel="shortcut icon" type="image/x-icon" href="/packs/media/images/production/favicons/favicon-81c62e5500c39bd10e99844e94455995.ico" /> <meta name="csrf-param" content="authenticity_token" /> <meta name="csrf-token" content="FZ-Z9-xAHjopiqnr5-HQuyyfqXVGNrUWUsBG2pPBfTvrkQpeaNGB3dmGxB3X__jHKDhHMk18kobWL4LfW66o8w" /> <meta content='no-cache' name='turbolinks-cache-control'> <meta content='width=device-width, initial-scale=1' name='viewport'> <link rel="stylesheet" href="/packs/css/application-b44eb75784afb1e9f8ce.css" media="all" /> <script src="/packs/js/application-9f130b109122a7b55e22.js" data-turbolinks-track="reload"></script> <link href='https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i' rel='stylesheet'> </head> <body class='registries ruby_gems diffs' id='page-top'> <div id='wrapper'> <div class='d-flex flex-column' id='content-wrapper'> <div id='content'> <nav class='navbar navbar-expand navbar-light bg-white topbar mb-4 shadow'> <a class='sidebar-brand d-flex align-items-center justify-content-center' href='/'> <div class='sidebar-brand-text mx-3 d-none d-xxl-block d-xl-block'> <img alt="Diffend" src="/packs/media/images/production/logos/vertical-dark-5363ad390f9fcfd11bfecf89a3fb60f1.svg" /> </div> </a> <div class='container'> <ul class='navbar-nav'> <li class='nav-item'> <a class='nav-link' href='/gems'> <span class='mr-2 d-none d-lg-inline text-gray-600'> RubyGems </span> </a> </li> <li class='nav-item'> <a class='nav-link' href='/npm'> <span class='mr-2 d-none d-lg-inline text-gray-600'> npm </span> </a> </li> <li class='nav-item'> <a class='nav-link' href='/pypi'> <span class='mr-2 d-none d-lg-inline text-gray-600'> PyPI </span> </a> </li> <div class='topbar-divider d-sm-block'></div> <li class='nav-item'> <a class='nav-link' href='/organizations'> <span class='mr-2 d-none d-lg-inline text-gray-600'> Organizations </span> </a> </li> </ul> <ul class='navbar-nav'> <div class='topbar-divider d-none d-sm-block'></div> <li class='nav-item'> <a class='nav-link' href='/users/sign_in'> <span class='mr-2 d-none d-lg-inline text-gray-600'> <i class='fas fa-key fa-fw mr-2'></i> Log in </span> </a> </li> <li class='nav-item'> <a class='nav-link' href='/users/sign_up'> <span class='mr-2 d-none d-lg-inline text-gray-600'> <i class='fas fa-user-plus fa-fw mr-2'></i> Sign up </span> </a> </li> </ul> </div> </nav> <div class='container'> <div class='row'> <div class='col mb-1'> <nav> <ol class='breadcrumb'> <li class='breadcrumb-item'> <a href="/gems">RubyGems</a> </li> <li class='breadcrumb-item'> <a href="/gems/bin_struct">bin_struct</a> </li> <li class='breadcrumb-item'> <a href="/gems/bin_struct">Versions diffs</a> </li> <li class='breadcrumb-item'> <a href="/gems/bin_struct/0.4.0/0.5.0">0.4.0 → 0.5.0</a> </li> </ol> </nav> </div> </div> <div class='row'> <div class='col'> <div class='text-right mb-4'> </div> </div> </div> <div class='row'> <div class='col align-items-center mb-4'> <div class='text-center'> <h2 class='text-gray-800'> bin_struct 0.4.0 → 0.5.0 </h2> </div> </div> </div> <div data-diff-id='8e15f4a9-a495-4e71-9c65-9534d593e410' data-diff-state='finished' id='diff-id'> <div class='row'> <div class='col pt-2 text-black'> <div class='row'> <div class='col-lg-12 mb-4 mt-2'> <div class='card bg-info text-white shadow'> <div class='card-body'> <span class='icon text-white-100 mr-2'> <i class='fas fa-info-circle'></i> </span> Sign up to get <strong>free</strong> protection for your applications and to get access to all the features. </div> </div> </div> </div> <div id='diff'> <div class='mb-3'> <div class="d2h-file-list-wrapper"> <div class="d2h-file-list-header"> <span class="d2h-file-list-title">Files changed (14)</span> <a class="d2h-file-switch d2h-hide">hide</a> <a class="d2h-file-switch d2h-show">show</a> </div> <ol class="d2h-file-list"> <li class="d2h-file-list-line"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon d2h-changed" height="16" title="modified" version="1.1" viewBox="0 0 14 16" width="14"> <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM4 8c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3-3-1.34-3-3z"></path> </svg> <a href="/gems/bin_struct/0.4.0/0.5.0/page/1#d2h-683205" class="d2h-file-name">checksums.yaml</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+4</span> <span class="d2h-lines-deleted">-4</span> </span> </span> </li> <li class="d2h-file-list-line"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon d2h-changed" height="16" title="modified" version="1.1" viewBox="0 0 14 16" width="14"> <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM4 8c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3-3-1.34-3-3z"></path> </svg> <a href="/gems/bin_struct/0.4.0/0.5.0/page/1#d2h-670634" class="d2h-file-name">data/CHANGELOG.md</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+15</span> <span class="d2h-lines-deleted">-0</span> </span> </span> </li> <li class="d2h-file-list-line"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon d2h-changed" height="16" title="modified" version="1.1" viewBox="0 0 14 16" width="14"> <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM4 8c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3-3-1.34-3-3z"></path> </svg> <a href="/gems/bin_struct/0.4.0/0.5.0/page/1#d2h-210838" class="d2h-file-name">data/lib/bin_struct/abstract_tlv.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+18</span> <span class="d2h-lines-deleted">-14</span> </span> </span> </li> <li class="d2h-file-list-line"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon d2h-changed" height="16" title="modified" version="1.1" viewBox="0 0 14 16" width="14"> <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM4 8c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3-3-1.34-3-3z"></path> </svg> <a href="/gems/bin_struct/0.4.0/0.5.0/page/1#d2h-989240" class="d2h-file-name">data/lib/bin_struct/array.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+52</span> <span class="d2h-lines-deleted">-0</span> </span> </span> </li> <li class="d2h-file-list-line"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon d2h-changed" height="16" title="modified" version="1.1" viewBox="0 0 14 16" width="14"> <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM4 8c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3-3-1.34-3-3z"></path> </svg> <a href="/gems/bin_struct/0.4.0/0.5.0/page/1#d2h-720104" class="d2h-file-name">data/lib/bin_struct/bit_attr.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+12</span> <span class="d2h-lines-deleted">-2</span> </span> </span> </li> <li class="d2h-file-list-line"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon d2h-changed" height="16" title="modified" version="1.1" viewBox="0 0 14 16" width="14"> <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM4 8c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3-3-1.34-3-3z"></path> </svg> <a href="/gems/bin_struct/0.4.0/0.5.0/page/1#d2h-871875" class="d2h-file-name">data/lib/bin_struct/cstring.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+6</span> <span class="d2h-lines-deleted">-4</span> </span> </span> </li> <li class="d2h-file-list-line"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon d2h-changed" height="16" title="modified" version="1.1" viewBox="0 0 14 16" width="14"> <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM4 8c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3-3-1.34-3-3z"></path> </svg> <a href="/gems/bin_struct/0.4.0/0.5.0/page/1#d2h-891082" class="d2h-file-name">data/lib/bin_struct/enum.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+11</span> <span class="d2h-lines-deleted">-9</span> </span> </span> </li> <li class="d2h-file-list-line"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon d2h-changed" height="16" title="modified" version="1.1" viewBox="0 0 14 16" width="14"> <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM4 8c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3-3-1.34-3-3z"></path> </svg> <a href="/gems/bin_struct/0.4.0/0.5.0/page/1#d2h-902382" class="d2h-file-name">data/lib/bin_struct/length_from.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+2</span> <span class="d2h-lines-deleted">-2</span> </span> </span> </li> <li class="d2h-file-list-line"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon d2h-changed" height="16" title="modified" version="1.1" viewBox="0 0 14 16" width="14"> <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM4 8c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3-3-1.34-3-3z"></path> </svg> <a href="/gems/bin_struct/0.4.0/0.5.0/page/1#d2h-073358" class="d2h-file-name">data/lib/bin_struct/oui.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+3</span> <span class="d2h-lines-deleted">-2</span> </span> </span> </li> <li class="d2h-file-list-line"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon d2h-changed" height="16" title="modified" version="1.1" viewBox="0 0 14 16" width="14"> <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM4 8c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3-3-1.34-3-3z"></path> </svg> <a href="/gems/bin_struct/0.4.0/0.5.0/page/1#d2h-549178" class="d2h-file-name">data/lib/bin_struct/string.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+37</span> <span class="d2h-lines-deleted">-6</span> </span> </span> </li> <li class="d2h-file-list-line"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon d2h-changed" height="16" title="modified" version="1.1" viewBox="0 0 14 16" width="14"> <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM4 8c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3-3-1.34-3-3z"></path> </svg> <a href="/gems/bin_struct/0.4.0/0.5.0/page/1#d2h-327542" class="d2h-file-name">data/lib/bin_struct/struct.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+8</span> <span class="d2h-lines-deleted">-8</span> </span> </span> </li> <li class="d2h-file-list-line"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon d2h-changed" height="16" title="modified" version="1.1" viewBox="0 0 14 16" width="14"> <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM4 8c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3-3-1.34-3-3z"></path> </svg> <a href="/gems/bin_struct/0.4.0/0.5.0/page/1#d2h-879897" class="d2h-file-name">data/lib/bin_struct/version.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+1</span> <span class="d2h-lines-deleted">-1</span> </span> </span> </li> <li class="d2h-file-list-line"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon d2h-changed" height="16" title="modified" version="1.1" viewBox="0 0 14 16" width="14"> <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM4 8c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3-3-1.34-3-3z"></path> </svg> <a href="/gems/bin_struct/0.4.0/0.5.0/page/1#d2h-828542" class="d2h-file-name">data/lib/bin_struct.rb</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+27</span> <span class="d2h-lines-deleted">-2</span> </span> </span> </li> <li class="d2h-file-list-line"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon d2h-changed" height="16" title="modified" version="1.1" viewBox="0 0 14 16" width="14"> <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM4 8c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3-3-1.34-3-3z"></path> </svg> <a href="/gems/bin_struct/0.4.0/0.5.0/page/1#d2h-004177" class="d2h-file-name">metadata</a> <span class="d2h-file-stats"> <span class="d2h-lines-added">+2</span> <span class="d2h-lines-deleted">-2</span> </span> </span> </li> </ol> </div> </div> <div id="d2h-683205" class="d2h-file-wrapper" data-lang="yaml"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> </svg> <span class="d2h-file-name"><a href="#d2h-683205">checksums.yaml</a></span> <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> Viewed </label> </div> <div class="d2h-file-diff"> <div class="d2h-code-wrapper"> <table class="d2h-diff-table"> <tbody class="d2h-diff-tbody"> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -1,7 +1,7 @@</div> </td> </tr><tr> <td id="d2h-683205-23" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-683205-23"> <div class="line-num1">1</div> <div class="line-num2">1</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">---</span> </div> </td> </tr><tr> <td id="d2h-683205-34" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-683205-34"> <div class="line-num1">2</div> <div class="line-num2">2</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">SHA256:</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">3</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> metadata.gz: <del>aeb290e624ce4004c20cfaf40fc60ae43938c80eab8fd1df1e8aa908a75e26cf</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">4</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> data.tar.gz: <del>8cb5dd0abdce7421b8269a4d35c14886f57cc6440a50c924b0937e5b30fe20ce</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">3</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> metadata.gz: <ins>b6e644878c67b11f8006b130b0964a2349f0aa66645f2706cb97a20bf1ec6b77</ins></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">4</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> data.tar.gz: <ins>0bbf06e91de1bc410888f9c0e79f8caa0b7bb7f7082b5c775186c41c4a3d04db</ins></span> </div> </td> </tr><tr> <td id="d2h-683205-89" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-683205-89"> <div class="line-num1">5</div> <div class="line-num2">5</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">SHA512:</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">6</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> metadata.gz: <del>ecf6acc2f5c406556598212d22ad6257d22ed646c1128a145cff1730dc537bb7acfd40903f211aad28b11fa30c11324a98b98ecebb70ad7b84ea991bcf181f25</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">7</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> data.tar.gz: <del>1dcfbb20a54f7c08d2794e0e8391b70c633d65f6ccbc41c372e46c77da6fb036fbfa9d1548462030b86603e3e41b132019da70b3c2d603f7f21116bdc842ec14</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">6</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> metadata.gz: <ins>c1bd8b95ce395af08b53ea41385929e9d06490d4ab21588dd46e02d8ba1d66207879174ec2f3a98400667446956042b581a032d93e8b9b97cc2d8448b20ced44</ins></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">7</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> data.tar.gz: <ins>b81c04e4ddcf9a4bbe3af1b36735a5221014f69f43ef5d11c166d33e595aa989f0feb436ed2ba5547f42372c636383a5196c302f54548d0525d49057576f2467</ins></span> </div> </td> </tr> </tbody> </table> </div> </div> </div> <div id="d2h-670634" class="d2h-file-wrapper" data-lang="md"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> </svg> <span class="d2h-file-name"><a href="#d2h-670634">data/CHANGELOG.md</a></span> <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> Viewed </label> </div> <div class="d2h-file-diff"> <div class="d2h-code-wrapper"> <table class="d2h-diff-table"> <tbody class="d2h-diff-tbody"> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -3,6 +3,21 @@</div> </td> </tr><tr> <td id="d2h-670634-171" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-670634-171"> <div class="line-num1">3</div> <div class="line-num2">3</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">The format is based on [Keep a Changelog](https:&#x2F;&#x2F;keepachangelog.com&#x2F;en&#x2F;1.1.0&#x2F;),</span> </div> </td> </tr><tr> <td id="d2h-670634-182" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-670634-182"> <div class="line-num1">4</div> <div class="line-num2">4</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">and this project adheres to [Semantic Versioning](https:&#x2F;&#x2F;semver.org&#x2F;spec&#x2F;v2.0.0.html).</span> </div> </td> </tr><tr> <td id="d2h-670634-193" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-670634-193"> <div class="line-num1">5</div> <div class="line-num2">5</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-670634-204" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-204"> <div class="line-num1"></div> <div class="line-num2">6</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn">## 0.5.0 - 2025-02-17</span> </div> </td> </tr><tr> <td id="d2h-670634-215" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-215"> <div class="line-num1"></div> <div class="line-num2">7</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-670634-226" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-226"> <div class="line-num1"></div> <div class="line-num2">8</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn">### Added</span> </div> </td> </tr><tr> <td id="d2h-670634-237" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-237"> <div class="line-num1"></div> <div class="line-num2">9</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-670634-248" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-248"> <div class="line-num1"></div> <div class="line-num2">10</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn">- Add `String#b` to mimic Ruby&#x27;s `String`</span> </div> </td> </tr><tr> <td id="d2h-670634-259" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-259"> <div class="line-num1"></div> <div class="line-num2">11</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn">- Add a lot of examples in YARD documentation. These examples are checked using yard-doctest.</span> </div> </td> </tr><tr> <td id="d2h-670634-270" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-270"> <div class="line-num1"></div> <div class="line-num2">12</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-670634-281" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-281"> <div class="line-num1"></div> <div class="line-num2">13</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn">### Deprecated</span> </div> </td> </tr><tr> <td id="d2h-670634-292" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-292"> <div class="line-num1"></div> <div class="line-num2">14</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-670634-303" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-303"> <div class="line-num1"></div> <div class="line-num2">15</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn">- Deprecate `BinStruct.force_binary` and `Struct.force_binary` in favor of Ruby&#x27;s `String#b`</span> </div> </td> </tr><tr> <td id="d2h-670634-314" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-314"> <div class="line-num1"></div> <div class="line-num2">16</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-670634-325" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-325"> <div class="line-num1"></div> <div class="line-num2">17</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn">### Fixed</span> </div> </td> </tr><tr> <td id="d2h-670634-336" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-336"> <div class="line-num1"></div> <div class="line-num2">18</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-670634-347" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-347"> <div class="line-num1"></div> <div class="line-num2">19</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn">- Fix `String#to_s` when static_length is set. `#to_s` was not aware of static length option.</span> </div> </td> </tr><tr> <td id="d2h-670634-358" class="d2h-code-linenumber d2h-ins"><a href="#d2h-670634-358"> <div class="line-num1"></div> <div class="line-num2">20</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-670634-369" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-670634-369"> <div class="line-num1">6</div> <div class="line-num2">21</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">## 0.4.0 - 2025-02-13</span> </div> </td> </tr><tr> <td id="d2h-670634-380" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-670634-380"> <div class="line-num1">7</div> <div class="line-num2">22</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-670634-391" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-670634-391"> <div class="line-num1">8</div> <div class="line-num2">23</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">### Added</span> </div> </td> </tr> </tbody> </table> </div> </div> </div> <div id="d2h-210838" class="d2h-file-wrapper" data-lang="rb"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> </svg> <span class="d2h-file-name"><a href="#d2h-210838">data/lib/bin_struct/abstract_tlv.rb</a></span> <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> Viewed </label> </div> <div class="d2h-file-diff"> <div class="d2h-code-wrapper"> <table class="d2h-diff-table"> <tbody class="d2h-diff-tbody"> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -6,13 +6,10 @@</div> </td> </tr><tr> <td id="d2h-210838-429" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-210838-429"> <div class="line-num1">6</div> <div class="line-num2">6</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"># Copyright (C) 2024 LemonTree55 &lt;lenontree@proton.me&gt;</span> </div> </td> </tr><tr> <td id="d2h-210838-440" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-210838-440"> <div class="line-num1">7</div> <div class="line-num2">7</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"># This program is published under MIT license.</span> </div> </td> </tr><tr> <td id="d2h-210838-451" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-210838-451"> <div class="line-num1">8</div> <div class="line-num2">8</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-210838-462" class="d2h-code-linenumber d2h-del"><a href="#d2h-210838-462"> <div class="line-num1">9</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"># BinStruct module</span> </div> </td> </tr><tr> <td id="d2h-210838-473" class="d2h-code-linenumber d2h-del"><a href="#d2h-210838-473"> <div class="line-num1">10</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"># @author LemonTree55</span> </div> </td> </tr><tr> <td id="d2h-210838-484" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-210838-484"> <div class="line-num1">11</div> <div class="line-num2">9</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">module BinStruct</span> </div> </td> </tr><tr> <td id="d2h-210838-495" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-210838-495"> <div class="line-num1">12</div> <div class="line-num2">10</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # @abstract Base class to define type-length-value data.</span> </div> </td> </tr><tr> <td id="d2h-210838-506" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-210838-506"> <div class="line-num1">13</div> <div class="line-num2">11</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> #</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">14</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # <del>===Usage</del></span> </div> </td> </tr><tr> <td id="d2h-210838-528" class="d2h-code-linenumber d2h-del"><a href="#d2h-210838-528"> <div class="line-num1">15</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # To simply define a new TLV class, do:</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">12</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # <ins>You have to define a concrete class from AbstractTLV</ins></span> </div> </td> </tr><tr> <td id="d2h-210838-550" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-210838-550"> <div class="line-num1">16</div> <div class="line-num2">13</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # MyTLV = BinStruct::AbstractTLV.create</span> </div> </td> </tr><tr> <td id="d2h-210838-561" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-210838-561"> <div class="line-num1">17</div> <div class="line-num2">14</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # MyTLV.define_type_enum &#x27;one&#x27; =&gt; 1, &#x27;two&#x27; =&gt; 2</span> </div> </td> </tr><tr> <td id="d2h-210838-572" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-210838-572"> <div class="line-num1">18</div> <div class="line-num2">15</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # This will define a new +MyTLV+ class, subclass of {AbstractTLV}. This class will</span> </div> </td> </tr> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -23,26 +20,33 @@ module BinStruct</div> </td> </tr><tr> <td id="d2h-210838-589" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-210838-589"> <div class="line-num1">23</div> <div class="line-num2">20</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # +.define_type_enum+ is, here, necessary to define enum hash to be used</span> </div> </td> </tr><tr> <td id="d2h-210838-600" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-210838-600"> <div class="line-num1">24</div> <div class="line-num2">21</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # for +#type+ accessor, as this one is defined as an {Enum}.</span> </div> </td> </tr><tr> <td id="d2h-210838-611" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-210838-611"> <div class="line-num1">25</div> <div class="line-num2">22</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> #</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">26</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # <del>This</del> <del>new</del> <del>defined class may now be easily used:</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">23</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # <ins>@example</ins> <ins>Basic</ins> <ins>usage</ins></span> </div> </td> </tr><tr> <td id="d2h-210838-644" class="d2h-code-linenumber d2h-ins"><a href="#d2h-210838-644"> <div class="line-num1"></div> <div class="line-num2">24</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # MyTLV = BinStruct::AbstractTLV.create</span> </div> </td> </tr><tr> <td id="d2h-210838-655" class="d2h-code-linenumber d2h-ins"><a href="#d2h-210838-655"> <div class="line-num1"></div> <div class="line-num2">25</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # MyTLV.define_type_enum &#x27;one&#x27; =&gt; 1, &#x27;two&#x27; =&gt; 2</span> </div> </td> </tr><tr> <td id="d2h-210838-666" class="d2h-code-linenumber d2h-ins"><a href="#d2h-210838-666"> <div class="line-num1"></div> <div class="line-num2">26</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> #</span> </div> </td> </tr><tr> <td id="d2h-210838-677" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-210838-677"> <div class="line-num1">27</div> <div class="line-num2">27</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # tlv = MyTLV.new(type: 1, value: &#x27;abcd&#x27;) # automagically set #length from value</span> </div> </td> </tr><tr> <td id="d2h-210838-688" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-210838-688"> <div class="line-num1">28</div> <div class="line-num2">28</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # tlv.type #=&gt; 1</span> </div> </td> </tr><tr> <td id="d2h-210838-699" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-210838-699"> <div class="line-num1">29</div> <div class="line-num2">29</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # tlv.human_type #=&gt; &#x27;one&#x27;</span> </div> </td> </tr><tr> <td id="d2h-210838-710" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-210838-710"> <div class="line-num1">30</div> <div class="line-num2">30</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # tlv.length #=&gt; 4</span> </div> </td> </tr><tr> <td id="d2h-210838-721" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-210838-721"> <div class="line-num1">31</div> <div class="line-num2">31</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # tlv.value #=&gt; &quot;abcd&quot;</span> </div> </td> </tr><tr> <td id="d2h-210838-732" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-210838-732"> <div class="line-num1">32</div> <div class="line-num2">32</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> #</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">33</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # <del>===Advanced</del> <del>usage</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">34</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # <del>Each</del> <del>attribute&#x27;s </del>type <del>may</del> <del>be</del> <del>changed at generating TLV class:</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">33</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # <ins>@example</ins> <ins>Change attribute types</ins></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">34</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> #<ins> #</ins> <ins>Change</ins> type <ins>for</ins> <ins>each</ins> <ins>attribute</ins></span> </div> </td> </tr><tr> <td id="d2h-210838-787" class="d2h-code-linenumber d2h-ins"><a href="#d2h-210838-787"> <div class="line-num1"></div> <div class="line-num2">35</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # # Type and length are 16-bit big endian integers</span> </div> </td> </tr><tr> <td id="d2h-210838-798" class="d2h-code-linenumber d2h-ins"><a href="#d2h-210838-798"> <div class="line-num1"></div> <div class="line-num2">36</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # # Value is a OUI</span> </div> </td> </tr><tr> <td id="d2h-210838-809" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-210838-809"> <div class="line-num1">35</div> <div class="line-num2">37</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # MyTLV = BinStruct::AbstractTLV.create(type_class: BinStruct::Int16,</span> </div> </td> </tr><tr> <td id="d2h-210838-820" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-210838-820"> <div class="line-num1">36</div> <div class="line-num2">38</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # length_class: BinStruct::Int16,</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">37</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # value_class: <del>PacketGen</del>::<del>Header::IP::Addr</del>)</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">38</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # tlv = MyTLV.new(type: 1, value: &#x27;<del>1.2.3.4</del>&#x27;)</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">39</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # value_class: <ins>BinStruct</ins>::<ins>OUI</ins>)</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">40</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # tlv = MyTLV.new(type: 1, value: &#x27;<ins>01:02:03</ins>&#x27;)</span> </div> </td> </tr><tr> <td id="d2h-210838-875" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-210838-875"> <div class="line-num1">39</div> <div class="line-num2">41</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # tlv.type #=&gt; 1</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">40</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # tlv.length #=&gt; <del>4</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">41</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # tlv.value #=&gt; &#x27;<del>1.2.3.4</del>&#x27;</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">42</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # tlv.to_s #=&gt; &quot;\x00\x01\x00\<del>x04</del>\x01\x02\x03<del>\x04</del>&quot;</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">42</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # tlv.length #=&gt; <ins>3</ins></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">43</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # tlv.value #=&gt; &#x27;<ins>01:02:03</ins>&#x27;</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">44</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # tlv.to_s #=&gt; &quot;\x00\x01\x00\<ins>x03</ins>\x01\x02\x03&quot;</span> </div> </td> </tr><tr> <td id="d2h-210838-952" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-210838-952"> <div class="line-num1">43</div> <div class="line-num2">45</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> #</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">44</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # <del>Some aliases may also be defined. For </del>example<del>,</del> <del>to</del> <del>create a TLV type</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">45</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # <del>whose</del> <del>+type+</del> <del>attribute</del> <del>should</del> <del>be</del> <del>named</del> <del>+code+:</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">46</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # <ins>@</ins>example <ins>Using</ins> <ins>aliases</ins></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">47</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> #<ins> #</ins> <ins>Type</ins> <ins>and</ins> <ins>length</ins> <ins>are</ins> <ins>16-bit</ins> <ins>big</ins> <ins>endian integers</ins></span> </div> </td> </tr><tr> <td id="d2h-210838-1007" class="d2h-code-linenumber d2h-ins"><a href="#d2h-210838-1007"> <div class="line-num1"></div> <div class="line-num2">48</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # # Value is a string</span> </div> </td> </tr><tr> <td id="d2h-210838-1018" class="d2h-code-linenumber d2h-ins"><a href="#d2h-210838-1018"> <div class="line-num1"></div> <div class="line-num2">49</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # # code is an alias for type</span> </div> </td> </tr><tr> <td id="d2h-210838-1029" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-210838-1029"> <div class="line-num1">46</div> <div class="line-num2">50</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # MyTLV = BinStruct::AbstractTLV.create(type_class: BinStruct::Int16,</span> </div> </td> </tr><tr> <td id="d2h-210838-1040" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-210838-1040"> <div class="line-num1">47</div> <div class="line-num2">51</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # length_class: BinStruct::Int16,</span> </div> </td> </tr><tr> <td id="d2h-210838-1051" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-210838-1051"> <div class="line-num1">48</div> <div class="line-num2">52</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # aliases: { code: :type })</span> </div> </td> </tr> </tbody> </table> </div> </div> </div> <div id="d2h-989240" class="d2h-file-wrapper" data-lang="rb"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> </svg> <span class="d2h-file-name"><a href="#d2h-989240">data/lib/bin_struct/array.rb</a></span> <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> Viewed </label> </div> <div class="d2h-file-diff"> <div class="d2h-code-wrapper"> <table class="d2h-diff-table"> <tbody class="d2h-diff-tbody"> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -87,6 +87,23 @@ module BinStruct</div> </td> </tr><tr> <td id="d2h-989240-1089" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-989240-1089"> <div class="line-num1">87</div> <div class="line-num2">87</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-989240-1100" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-989240-1100"> <div class="line-num1">88</div> <div class="line-num2">88</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # @param [Hash] options</span> </div> </td> </tr><tr> <td id="d2h-989240-1111" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-989240-1111"> <div class="line-num1">89</div> <div class="line-num2">89</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # @option options [Int] counter Int object used as a counter for this set</span> </div> </td> </tr><tr> <td id="d2h-989240-1122" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1122"> <div class="line-num1"></div> <div class="line-num2">90</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # @example counter example</span> </div> </td> </tr><tr> <td id="d2h-989240-1133" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1133"> <div class="line-num1"></div> <div class="line-num2">91</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # # Define a counter</span> </div> </td> </tr><tr> <td id="d2h-989240-1144" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1144"> <div class="line-num1"></div> <div class="line-num2">92</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # counter = BinStruct::Int8.new</span> </div> </td> </tr><tr> <td id="d2h-989240-1155" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1155"> <div class="line-num1"></div> <div class="line-num2">93</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # counter.to_i # =&gt; 0</span> </div> </td> </tr><tr> <td id="d2h-989240-1166" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1166"> <div class="line-num1"></div> <div class="line-num2">94</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> #</span> </div> </td> </tr><tr> <td id="d2h-989240-1177" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1177"> <div class="line-num1"></div> <div class="line-num2">95</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # # Define an array with associated counter</span> </div> </td> </tr><tr> <td id="d2h-989240-1188" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1188"> <div class="line-num1"></div> <div class="line-num2">96</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # ary = BinStruct::ArrayOfInt8.new(counter: counter)</span> </div> </td> </tr><tr> <td id="d2h-989240-1199" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1199"> <div class="line-num1"></div> <div class="line-num2">97</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # # Add 2 elements to arry, increment counter twice</span> </div> </td> </tr><tr> <td id="d2h-989240-1210" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1210"> <div class="line-num1"></div> <div class="line-num2">98</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # ary.read([1, 2])</span> </div> </td> </tr><tr> <td id="d2h-989240-1221" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1221"> <div class="line-num1"></div> <div class="line-num2">99</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # counter.to_i #=&gt; 2</span> </div> </td> </tr><tr> <td id="d2h-989240-1232" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1232"> <div class="line-num1"></div> <div class="line-num2">100</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # # Add a third element</span> </div> </td> </tr><tr> <td id="d2h-989240-1243" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1243"> <div class="line-num1"></div> <div class="line-num2">101</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # ary &lt;&lt; BinStruct::Int8.new(value: 42)</span> </div> </td> </tr><tr> <td id="d2h-989240-1254" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1254"> <div class="line-num1"></div> <div class="line-num2">102</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # counter.to_i #=&gt; 3</span> </div> </td> </tr><tr> <td id="d2h-989240-1265" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1265"> <div class="line-num1"></div> <div class="line-num2">103</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> #</span> </div> </td> </tr><tr> <td id="d2h-989240-1276" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1276"> <div class="line-num1"></div> <div class="line-num2">104</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # # push does not increment the counter</span> </div> </td> </tr><tr> <td id="d2h-989240-1287" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1287"> <div class="line-num1"></div> <div class="line-num2">105</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # ary.push(BinStruct::Int8.new(value: 100))</span> </div> </td> </tr><tr> <td id="d2h-989240-1298" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1298"> <div class="line-num1"></div> <div class="line-num2">106</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # counter.to_i #=&gt; 3</span> </div> </td> </tr><tr> <td id="d2h-989240-1309" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-989240-1309"> <div class="line-num1">90</div> <div class="line-num2">107</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> def initialize(options = {})</span> </div> </td> </tr><tr> <td id="d2h-989240-1320" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-989240-1320"> <div class="line-num1">91</div> <div class="line-num2">108</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> @counter = options[:counter]</span> </div> </td> </tr><tr> <td id="d2h-989240-1331" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-989240-1331"> <div class="line-num1">92</div> <div class="line-num2">109</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> @array = []</span> </div> </td> </tr> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -271,30 +288,65 @@ module BinStruct</div> </td> </tr><tr> <td id="d2h-989240-1348" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-989240-1348"> <div class="line-num1">271</div> <div class="line-num2">288</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-989240-1359" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-989240-1359"> <div class="line-num1">272</div> <div class="line-num2">289</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-989240-1370" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-989240-1370"> <div class="line-num1">273</div> <div class="line-num2">290</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # Specialized {Array} to handle serie of {Int8}.</span> </div> </td> </tr><tr> <td id="d2h-989240-1381" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1381"> <div class="line-num1"></div> <div class="line-num2">291</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # @example</span> </div> </td> </tr><tr> <td id="d2h-989240-1392" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1392"> <div class="line-num1"></div> <div class="line-num2">292</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # ary = BinStruct::ArrayOfInt8.new</span> </div> </td> </tr><tr> <td id="d2h-989240-1403" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1403"> <div class="line-num1"></div> <div class="line-num2">293</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # ary.read([0, 1, 2])</span> </div> </td> </tr><tr> <td id="d2h-989240-1414" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1414"> <div class="line-num1"></div> <div class="line-num2">294</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # ary.to_s #=&gt; &quot;\x00\x01\x02&quot;.b</span> </div> </td> </tr><tr> <td id="d2h-989240-1425" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1425"> <div class="line-num1"></div> <div class="line-num2">295</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> #</span> </div> </td> </tr><tr> <td id="d2h-989240-1436" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1436"> <div class="line-num1"></div> <div class="line-num2">296</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # ary.read(&quot;\x05\x06&quot;)</span> </div> </td> </tr><tr> <td id="d2h-989240-1447" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1447"> <div class="line-num1"></div> <div class="line-num2">297</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # ary.map(&amp;:to_i) #=&gt; [5, 6]</span> </div> </td> </tr><tr> <td id="d2h-989240-1458" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-989240-1458"> <div class="line-num1">274</div> <div class="line-num2">298</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> class ArrayOfInt8 &lt; Array</span> </div> </td> </tr><tr> <td id="d2h-989240-1469" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-989240-1469"> <div class="line-num1">275</div> <div class="line-num2">299</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> include ArrayOfIntMixin</span> </div> </td> </tr><tr> <td id="d2h-989240-1480" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-989240-1480"> <div class="line-num1">276</div> <div class="line-num2">300</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> set_of Int8</span> </div> </td> </tr><tr> <td id="d2h-989240-1491" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-989240-1491"> <div class="line-num1">277</div> <div class="line-num2">301</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-989240-1502" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-989240-1502"> <div class="line-num1">278</div> <div class="line-num2">302</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-989240-1513" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-989240-1513"> <div class="line-num1">279</div> <div class="line-num2">303</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # Specialized {Array} to handle serie of {Int16}.</span> </div> </td> </tr><tr> <td id="d2h-989240-1524" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1524"> <div class="line-num1"></div> <div class="line-num2">304</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # @example</span> </div> </td> </tr><tr> <td id="d2h-989240-1535" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1535"> <div class="line-num1"></div> <div class="line-num2">305</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # ary = BinStruct::ArrayOfInt16.new</span> </div> </td> </tr><tr> <td id="d2h-989240-1546" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1546"> <div class="line-num1"></div> <div class="line-num2">306</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # ary.read([0, 1, 2])</span> </div> </td> </tr><tr> <td id="d2h-989240-1557" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1557"> <div class="line-num1"></div> <div class="line-num2">307</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # ary.to_s #=&gt; &quot;\x00\x00\x00\x01\x00\x02&quot;.b</span> </div> </td> </tr><tr> <td id="d2h-989240-1568" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1568"> <div class="line-num1"></div> <div class="line-num2">308</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> #</span> </div> </td> </tr><tr> <td id="d2h-989240-1579" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1579"> <div class="line-num1"></div> <div class="line-num2">309</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # ary.read(&quot;\x05\x06&quot;)</span> </div> </td> </tr><tr> <td id="d2h-989240-1590" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1590"> <div class="line-num1"></div> <div class="line-num2">310</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # ary.map(&amp;:to_i) #=&gt; [0x0506]</span> </div> </td> </tr><tr> <td id="d2h-989240-1601" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-989240-1601"> <div class="line-num1">280</div> <div class="line-num2">311</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> class ArrayOfInt16 &lt; Array</span> </div> </td> </tr><tr> <td id="d2h-989240-1612" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-989240-1612"> <div class="line-num1">281</div> <div class="line-num2">312</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> include ArrayOfIntMixin</span> </div> </td> </tr><tr> <td id="d2h-989240-1623" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-989240-1623"> <div class="line-num1">282</div> <div class="line-num2">313</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> set_of Int16</span> </div> </td> </tr><tr> <td id="d2h-989240-1634" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-989240-1634"> <div class="line-num1">283</div> <div class="line-num2">314</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-989240-1645" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-989240-1645"> <div class="line-num1">284</div> <div class="line-num2">315</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-989240-1656" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-989240-1656"> <div class="line-num1">285</div> <div class="line-num2">316</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # Specialized {Array} to handle serie of {Int16le}.</span> </div> </td> </tr><tr> <td id="d2h-989240-1667" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1667"> <div class="line-num1"></div> <div class="line-num2">317</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # @example</span> </div> </td> </tr><tr> <td id="d2h-989240-1678" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1678"> <div class="line-num1"></div> <div class="line-num2">318</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # ary = BinStruct::ArrayOfInt16le.new</span> </div> </td> </tr><tr> <td id="d2h-989240-1689" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1689"> <div class="line-num1"></div> <div class="line-num2">319</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # ary.read([0, 1, 2])</span> </div> </td> </tr><tr> <td id="d2h-989240-1700" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1700"> <div class="line-num1"></div> <div class="line-num2">320</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # ary.to_s #=&gt; &quot;\x00\x00\x01\x00\x02\x00&quot;.b</span> </div> </td> </tr><tr> <td id="d2h-989240-1711" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1711"> <div class="line-num1"></div> <div class="line-num2">321</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> #</span> </div> </td> </tr><tr> <td id="d2h-989240-1722" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1722"> <div class="line-num1"></div> <div class="line-num2">322</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # ary.read(&quot;\x05\x06&quot;)</span> </div> </td> </tr><tr> <td id="d2h-989240-1733" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1733"> <div class="line-num1"></div> <div class="line-num2">323</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # ary.map(&amp;:to_i) #=&gt; [0x0605]</span> </div> </td> </tr><tr> <td id="d2h-989240-1744" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-989240-1744"> <div class="line-num1">286</div> <div class="line-num2">324</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> class ArrayOfInt16le &lt; Array</span> </div> </td> </tr><tr> <td id="d2h-989240-1755" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-989240-1755"> <div class="line-num1">287</div> <div class="line-num2">325</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> include ArrayOfIntMixin</span> </div> </td> </tr><tr> <td id="d2h-989240-1766" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-989240-1766"> <div class="line-num1">288</div> <div class="line-num2">326</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> set_of Int16le</span> </div> </td> </tr><tr> <td id="d2h-989240-1777" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-989240-1777"> <div class="line-num1">289</div> <div class="line-num2">327</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-989240-1788" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-989240-1788"> <div class="line-num1">290</div> <div class="line-num2">328</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-989240-1799" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-989240-1799"> <div class="line-num1">291</div> <div class="line-num2">329</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # Specialized {Array} to handle serie of {Int32}.</span> </div> </td> </tr><tr> <td id="d2h-989240-1810" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1810"> <div class="line-num1"></div> <div class="line-num2">330</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # @example</span> </div> </td> </tr><tr> <td id="d2h-989240-1821" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1821"> <div class="line-num1"></div> <div class="line-num2">331</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # ary = BinStruct::ArrayOfInt32.new</span> </div> </td> </tr><tr> <td id="d2h-989240-1832" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1832"> <div class="line-num1"></div> <div class="line-num2">332</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # ary.read([0, 1, 2])</span> </div> </td> </tr><tr> <td id="d2h-989240-1843" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1843"> <div class="line-num1"></div> <div class="line-num2">333</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # ary.to_s #=&gt; &quot;\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x02&quot;.b</span> </div> </td> </tr><tr> <td id="d2h-989240-1854" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1854"> <div class="line-num1"></div> <div class="line-num2">334</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> #</span> </div> </td> </tr><tr> <td id="d2h-989240-1865" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1865"> <div class="line-num1"></div> <div class="line-num2">335</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # ary.read(&quot;\x00\x00\x05\x06&quot;)</span> </div> </td> </tr><tr> <td id="d2h-989240-1876" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1876"> <div class="line-num1"></div> <div class="line-num2">336</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # ary.map(&amp;:to_i) #=&gt; [0x00000506]</span> </div> </td> </tr><tr> <td id="d2h-989240-1887" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-989240-1887"> <div class="line-num1">292</div> <div class="line-num2">337</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> class ArrayOfInt32 &lt; BinStruct::Array</span> </div> </td> </tr><tr> <td id="d2h-989240-1898" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-989240-1898"> <div class="line-num1">293</div> <div class="line-num2">338</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> include ArrayOfIntMixin</span> </div> </td> </tr><tr> <td id="d2h-989240-1909" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-989240-1909"> <div class="line-num1">294</div> <div class="line-num2">339</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> set_of Int32</span> </div> </td> </tr><tr> <td id="d2h-989240-1920" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-989240-1920"> <div class="line-num1">295</div> <div class="line-num2">340</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-989240-1931" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-989240-1931"> <div class="line-num1">296</div> <div class="line-num2">341</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-989240-1942" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-989240-1942"> <div class="line-num1">297</div> <div class="line-num2">342</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # Specialized {Array} to handle serie of {Int32le}.</span> </div> </td> </tr><tr> <td id="d2h-989240-1953" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1953"> <div class="line-num1"></div> <div class="line-num2">343</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # @example</span> </div> </td> </tr><tr> <td id="d2h-989240-1964" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1964"> <div class="line-num1"></div> <div class="line-num2">344</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # ary = BinStruct::ArrayOfInt32le.new</span> </div> </td> </tr><tr> <td id="d2h-989240-1975" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1975"> <div class="line-num1"></div> <div class="line-num2">345</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # ary.read([0, 1, 2])</span> </div> </td> </tr><tr> <td id="d2h-989240-1986" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1986"> <div class="line-num1"></div> <div class="line-num2">346</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # ary.to_s #=&gt; &quot;\x00\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00&quot;.b</span> </div> </td> </tr><tr> <td id="d2h-989240-1997" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-1997"> <div class="line-num1"></div> <div class="line-num2">347</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> #</span> </div> </td> </tr><tr> <td id="d2h-989240-2008" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-2008"> <div class="line-num1"></div> <div class="line-num2">348</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # ary.read(&quot;\x00\x00\x05\x06&quot;)</span> </div> </td> </tr><tr> <td id="d2h-989240-2019" class="d2h-code-linenumber d2h-ins"><a href="#d2h-989240-2019"> <div class="line-num1"></div> <div class="line-num2">349</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # ary.map(&amp;:to_i) #=&gt; [0x06050000]</span> </div> </td> </tr><tr> <td id="d2h-989240-2030" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-989240-2030"> <div class="line-num1">298</div> <div class="line-num2">350</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> class ArrayOfInt32le &lt; BinStruct::Array</span> </div> </td> </tr><tr> <td id="d2h-989240-2041" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-989240-2041"> <div class="line-num1">299</div> <div class="line-num2">351</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> include ArrayOfIntMixin</span> </div> </td> </tr><tr> <td id="d2h-989240-2052" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-989240-2052"> <div class="line-num1">300</div> <div class="line-num2">352</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> set_of Int32le</span> </div> </td> </tr> </tbody> </table> </div> </div> </div> <div id="d2h-720104" class="d2h-file-wrapper" data-lang="rb"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> </svg> <span class="d2h-file-name"><a href="#d2h-720104">data/lib/bin_struct/bit_attr.rb</a></span> <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> Viewed </label> </div> <div class="d2h-file-diff"> <div class="d2h-code-wrapper"> <table class="d2h-diff-table"> <tbody class="d2h-diff-tbody"> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -7,13 +7,23 @@</div> </td> </tr><tr> <td id="d2h-720104-2090" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-720104-2090"> <div class="line-num1">7</div> <div class="line-num2">7</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">require &#x27;digest&#x27;</span> </div> </td> </tr><tr> <td id="d2h-720104-2101" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-720104-2101"> <div class="line-num1">8</div> <div class="line-num2">8</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-720104-2112" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-720104-2112"> <div class="line-num1">9</div> <div class="line-num2">9</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">module BinStruct</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">10</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # Define a bitfield attribute to embed in a {Struct}.</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">10</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # Define a bitfield attribute to embed in a {Struct}.<ins> Use it through {Struct.define_bit_attr}</ins></span> </div> </td> </tr><tr> <td id="d2h-720104-2145" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-720104-2145"> <div class="line-num1">11</div> <div class="line-num2">11</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> #</span> </div> </td> </tr><tr> <td id="d2h-720104-2156" class="d2h-code-linenumber d2h-ins"><a href="#d2h-720104-2156"> <div class="line-num1"></div> <div class="line-num2">12</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # @example</span> </div> </td> </tr><tr> <td id="d2h-720104-2167" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-720104-2167"> <div class="line-num1">12</div> <div class="line-num2">13</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # class MyStruct &lt; BinStruct::Struct</span> </div> </td> </tr><tr> <td id="d2h-720104-2178" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-720104-2178"> <div class="line-num1">13</div> <div class="line-num2">14</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # # Create a 32-bit bitfield attribute, with fields a (16 bits), b and c (4 bits each) and d (8 bits).</span> </div> </td> </tr><tr> <td id="d2h-720104-2189" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-720104-2189"> <div class="line-num1">14</div> <div class="line-num2">15</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # # a is the leftmost field in bitfield, and d the rightmost one.</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">15</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # <del>define_attr</del> :int32, <del>BinStruct::BitAttr.create(</del>width: 32, a: 16, b: 4, c: 4, d:8<del>)</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">16</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # <ins>define_bit_attr</ins> :int32, width: 32, a: 16, b: 4, c: 4, d:8</span> </div> </td> </tr><tr> <td id="d2h-720104-2222" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-720104-2222"> <div class="line-num1">16</div> <div class="line-num2">17</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # end</span> </div> </td> </tr><tr> <td id="d2h-720104-2233" class="d2h-code-linenumber d2h-ins"><a href="#d2h-720104-2233"> <div class="line-num1"></div> <div class="line-num2">18</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> #</span> </div> </td> </tr><tr> <td id="d2h-720104-2244" class="d2h-code-linenumber d2h-ins"><a href="#d2h-720104-2244"> <div class="line-num1"></div> <div class="line-num2">19</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # s1 = MyStruct.new(int32: 0x12345678)</span> </div> </td> </tr><tr> <td id="d2h-720104-2255" class="d2h-code-linenumber d2h-ins"><a href="#d2h-720104-2255"> <div class="line-num1"></div> <div class="line-num2">20</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # s1.a #=&gt; 0x1234</span> </div> </td> </tr><tr> <td id="d2h-720104-2266" class="d2h-code-linenumber d2h-ins"><a href="#d2h-720104-2266"> <div class="line-num1"></div> <div class="line-num2">21</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # s1.b #=&gt; 5</span> </div> </td> </tr><tr> <td id="d2h-720104-2277" class="d2h-code-linenumber d2h-ins"><a href="#d2h-720104-2277"> <div class="line-num1"></div> <div class="line-num2">22</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # s1.c #=&gt; 6</span> </div> </td> </tr><tr> <td id="d2h-720104-2288" class="d2h-code-linenumber d2h-ins"><a href="#d2h-720104-2288"> <div class="line-num1"></div> <div class="line-num2">23</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # s1.d #=&gt; 0x78</span> </div> </td> </tr><tr> <td id="d2h-720104-2299" class="d2h-code-linenumber d2h-ins"><a href="#d2h-720104-2299"> <div class="line-num1"></div> <div class="line-num2">24</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> #</span> </div> </td> </tr><tr> <td id="d2h-720104-2310" class="d2h-code-linenumber d2h-ins"><a href="#d2h-720104-2310"> <div class="line-num1"></div> <div class="line-num2">25</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # s2 = MyStruct.new(a: 0x1234, d: 0x42)</span> </div> </td> </tr><tr> <td id="d2h-720104-2321" class="d2h-code-linenumber d2h-ins"><a href="#d2h-720104-2321"> <div class="line-num1"></div> <div class="line-num2">26</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # s2.to_s #=&gt; &quot;\x12\x34\x00\x42&quot;.b</span> </div> </td> </tr><tr> <td id="d2h-720104-2332" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-720104-2332"> <div class="line-num1">17</div> <div class="line-num2">27</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # @since 0.3.0</span> </div> </td> </tr><tr> <td id="d2h-720104-2343" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-720104-2343"> <div class="line-num1">18</div> <div class="line-num2">28</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # @abstract Subclasses must de derived using {.create}.</span> </div> </td> </tr><tr> <td id="d2h-720104-2354" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-720104-2354"> <div class="line-num1">19</div> <div class="line-num2">29</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # @author LemonTree55</span> </div> </td> </tr> </tbody> </table> </div> </div> </div> <div id="d2h-871875" class="d2h-file-wrapper" data-lang="rb"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> </svg> <span class="d2h-file-name"><a href="#d2h-871875">data/lib/bin_struct/cstring.rb</a></span> <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> Viewed </label> </div> <div class="d2h-file-diff"> <div class="d2h-code-wrapper"> <table class="d2h-diff-table"> <tbody class="d2h-diff-tbody"> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -10,6 +10,9 @@ require &#x27;forwardable&#x27;</div> </td> </tr><tr> <td id="d2h-871875-2392" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-871875-2392"> <div class="line-num1">10</div> <div class="line-num2">10</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-871875-2403" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-871875-2403"> <div class="line-num1">11</div> <div class="line-num2">11</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">module BinStruct</span> </div> </td> </tr><tr> <td id="d2h-871875-2414" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-871875-2414"> <div class="line-num1">12</div> <div class="line-num2">12</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # This class handles null-terminated strings (aka C strings).</span> </div> </td> </tr><tr> <td id="d2h-871875-2425" class="d2h-code-linenumber d2h-ins"><a href="#d2h-871875-2425"> <div class="line-num1"></div> <div class="line-num2">13</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # # @example</span> </div> </td> </tr><tr> <td id="d2h-871875-2436" class="d2h-code-linenumber d2h-ins"><a href="#d2h-871875-2436"> <div class="line-num1"></div> <div class="line-num2">14</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # cstr = BinStruct::CString.new(value: &#x27;abcd&#x27;)</span> </div> </td> </tr><tr> <td id="d2h-871875-2447" class="d2h-code-linenumber d2h-ins"><a href="#d2h-871875-2447"> <div class="line-num1"></div> <div class="line-num2">15</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # cstr.to_s #=&gt; &quot;abcd\x00&quot;.b</span> </div> </td> </tr><tr> <td id="d2h-871875-2458" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-871875-2458"> <div class="line-num1">13</div> <div class="line-num2">16</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # @author Sylvain Daubert (2016-2024)</span> </div> </td> </tr><tr> <td id="d2h-871875-2469" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-871875-2469"> <div class="line-num1">14</div> <div class="line-num2">17</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # @author LemonTree55</span> </div> </td> </tr><tr> <td id="d2h-871875-2480" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-871875-2480"> <div class="line-num1">15</div> <div class="line-num2">18</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> class CString</span> </div> </td> </tr> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -102,7 +105,7 @@ module BinStruct</div> </td> </tr><tr> <td id="d2h-871875-2497" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-871875-2497"> <div class="line-num1">102</div> <div class="line-num2">105</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> else</span> </div> </td> </tr><tr> <td id="d2h-871875-2508" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-871875-2508"> <div class="line-num1">103</div> <div class="line-num2">106</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> s = &quot;#{string}\x00&quot;</span> </div> </td> </tr><tr> <td id="d2h-871875-2519" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-871875-2519"> <div class="line-num1">104</div> <div class="line-num2">107</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">105</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> <del>BinStruct</del>.<del>force_binary(s)</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">108</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> <ins>s</ins>.<ins>b</ins></span> </div> </td> </tr><tr> <td id="d2h-871875-2552" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-871875-2552"> <div class="line-num1">106</div> <div class="line-num2">109</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-871875-2563" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-871875-2563"> <div class="line-num1">107</div> <div class="line-num2">110</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-871875-2574" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-871875-2574"> <div class="line-num1">108</div> <div class="line-num2">111</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # Append the given string to CString</span> </div> </td> </tr> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -134,7 +137,7 @@ module BinStruct</div> </td> </tr><tr> <td id="d2h-871875-2591" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-871875-2591"> <div class="line-num1">134</div> <div class="line-num2">137</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # @param [::String] str</span> </div> </td> </tr><tr> <td id="d2h-871875-2602" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-871875-2602"> <div class="line-num1">135</div> <div class="line-num2">138</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # @return [self]</span> </div> </td> </tr><tr> <td id="d2h-871875-2613" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-871875-2613"> <div class="line-num1">136</div> <div class="line-num2">139</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> def from_human(str)</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">137</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> read<del> </del>str</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">140</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> read<ins>(</ins>str<ins>)</ins></span> </div> </td> </tr><tr> <td id="d2h-871875-2646" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-871875-2646"> <div class="line-num1">138</div> <div class="line-num2">141</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-871875-2657" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-871875-2657"> <div class="line-num1">139</div> <div class="line-num2">142</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-871875-2668" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-871875-2668"> <div class="line-num1">140</div> <div class="line-num2">143</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # Get human-readable string</span> </div> </td> </tr> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -146,8 +149,7 @@ module BinStruct</div> </td> </tr><tr> <td id="d2h-871875-2685" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-871875-2685"> <div class="line-num1">146</div> <div class="line-num2">149</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> private</span> </div> </td> </tr><tr> <td id="d2h-871875-2696" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-871875-2696"> <div class="line-num1">147</div> <div class="line-num2">150</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-871875-2707" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-871875-2707"> <div class="line-num1">148</div> <div class="line-num2">151</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> def register_internal_string(str)</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">149</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> @string = str</span> </div> </td> </tr><tr> <td id="d2h-871875-2729" class="d2h-code-linenumber d2h-del"><a href="#d2h-871875-2729"> <div class="line-num1">150</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> BinStruct.force_binary(@string)</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">152</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> @string = str<ins>.b</ins></span> </div> </td> </tr><tr> <td id="d2h-871875-2751" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-871875-2751"> <div class="line-num1">151</div> <div class="line-num2">153</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-871875-2762" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-871875-2762"> <div class="line-num1">152</div> <div class="line-num2">154</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-871875-2773" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-871875-2773"> <div class="line-num1">153</div> <div class="line-num2">155</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> def remove_null_character</span> </div> </td> </tr> </tbody> </table> </div> </div> </div> <div id="d2h-891082" class="d2h-file-wrapper" data-lang="rb"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> </svg> <span class="d2h-file-name"><a href="#d2h-891082">data/lib/bin_struct/enum.rb</a></span> <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> Viewed </label> </div> <div class="d2h-file-diff"> <div class="d2h-code-wrapper"> <table class="d2h-diff-table"> <tbody class="d2h-diff-tbody"> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -12,21 +12,23 @@ module BinStruct</div> </td> </tr><tr> <td id="d2h-891082-2811" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-891082-2811"> <div class="line-num1">12</div> <div class="line-num2">12</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # An {Enum} type is used to handle an {Int} attribute with limited</span> </div> </td> </tr><tr> <td id="d2h-891082-2822" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-891082-2822"> <div class="line-num1">13</div> <div class="line-num2">13</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # and named values.</span> </div> </td> </tr><tr> <td id="d2h-891082-2833" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-891082-2833"> <div class="line-num1">14</div> <div class="line-num2">14</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> #</span> </div> </td> </tr><tr> <td id="d2h-891082-2844" class="d2h-code-linenumber d2h-del"><a href="#d2h-891082-2844"> <div class="line-num1">15</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # == Simple example</span> </div> </td> </tr><tr> <td id="d2h-891082-2855" class="d2h-code-linenumber d2h-del"><a href="#d2h-891082-2855"> <div class="line-num1">16</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # enum = Int8Enum.new(&#x27;low&#x27; =&gt; 0, &#x27;medium&#x27; =&gt; 1, &#x27;high&#x27; =&gt; 2})</span> </div> </td> </tr><tr> <td id="d2h-891082-2866" class="d2h-code-linenumber d2h-del"><a href="#d2h-891082-2866"> <div class="line-num1">17</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # In this example, +enum+ is a 8-bit attribute which may take one</span> </div> </td> </tr><tr> <td id="d2h-891082-2877" class="d2h-code-linenumber d2h-del"><a href="#d2h-891082-2877"> <div class="line-num1">18</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # among three values: +low+, +medium+ or +high+:</span> </div> </td> </tr><tr> <td id="d2h-891082-2888" class="d2h-code-linenumber d2h-del"><a href="#d2h-891082-2888"> <div class="line-num1">19</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # enum.value = &#x27;high&#x27;</span> </div> </td> </tr><tr> <td id="d2h-891082-2899" class="d2h-code-linenumber d2h-del"><a href="#d2h-891082-2899"> <div class="line-num1">20</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # enum.value # =&gt; 2</span> </div> </td> </tr><tr> <td id="d2h-891082-2910" class="d2h-code-linenumber d2h-del"><a href="#d2h-891082-2910"> <div class="line-num1">21</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # enum.value = 1</span> </div> </td> </tr><tr> <td id="d2h-891082-2921" class="d2h-code-linenumber d2h-del"><a href="#d2h-891082-2921"> <div class="line-num1">22</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # enum.value # =&gt; 1</span> </div> </td> </tr><tr> <td id="d2h-891082-2932" class="d2h-code-linenumber d2h-del"><a href="#d2h-891082-2932"> <div class="line-num1">23</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # enum.to_human # =&gt; &quot;medium&quot;</span> </div> </td> </tr><tr> <td id="d2h-891082-2943" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-891082-2943"> <div class="line-num1">24</div> <div class="line-num2">15</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # Setting an unknown name will raise an exception:</span> </div> </td> </tr><tr> <td id="d2h-891082-2954" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-891082-2954"> <div class="line-num1">25</div> <div class="line-num2">16</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # enum.value = &#x27;unknown&#x27; # =&gt; raise!</span> </div> </td> </tr><tr> <td id="d2h-891082-2965" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-891082-2965"> <div class="line-num1">26</div> <div class="line-num2">17</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # But {#read} and {#value=} will not raise when reading&#x2F;setting an out-of-bound integer. This</span> </div> </td> </tr><tr> <td id="d2h-891082-2976" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-891082-2976"> <div class="line-num1">27</div> <div class="line-num2">18</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # to enable decoding (or forging) of bad packets.</span> </div> </td> </tr><tr> <td id="d2h-891082-2987" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-891082-2987"> <div class="line-num1">28</div> <div class="line-num2">19</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # enum.read(&quot;\x05&quot;.b).value # =&gt; 5</span> </div> </td> </tr><tr> <td id="d2h-891082-2998" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-891082-2998"> <div class="line-num1">29</div> <div class="line-num2">20</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # enum.value = 4 # =&gt; 4</span> </div> </td> </tr><tr> <td id="d2h-891082-3009" class="d2h-code-linenumber d2h-ins"><a href="#d2h-891082-3009"> <div class="line-num1"></div> <div class="line-num2">21</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> #</span> </div> </td> </tr><tr> <td id="d2h-891082-3020" class="d2h-code-linenumber d2h-ins"><a href="#d2h-891082-3020"> <div class="line-num1"></div> <div class="line-num2">22</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # @example Simple example</span> </div> </td> </tr><tr> <td id="d2h-891082-3031" class="d2h-code-linenumber d2h-ins"><a href="#d2h-891082-3031"> <div class="line-num1"></div> <div class="line-num2">23</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # # Define an enum on 8-bit integer. It may take one among</span> </div> </td> </tr><tr> <td id="d2h-891082-3042" class="d2h-code-linenumber d2h-ins"><a href="#d2h-891082-3042"> <div class="line-num1"></div> <div class="line-num2">24</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # # three values: low, medium or high</span> </div> </td> </tr><tr> <td id="d2h-891082-3053" class="d2h-code-linenumber d2h-ins"><a href="#d2h-891082-3053"> <div class="line-num1"></div> <div class="line-num2">25</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # enum = BinStruct::Int8Enum.new(enum: {&#x27;low&#x27; =&gt; 0, &#x27;medium&#x27; =&gt; 1, &#x27;high&#x27; =&gt; 2})</span> </div> </td> </tr><tr> <td id="d2h-891082-3064" class="d2h-code-linenumber d2h-ins"><a href="#d2h-891082-3064"> <div class="line-num1"></div> <div class="line-num2">26</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # enum.value = &#x27;high&#x27;</span> </div> </td> </tr><tr> <td id="d2h-891082-3075" class="d2h-code-linenumber d2h-ins"><a href="#d2h-891082-3075"> <div class="line-num1"></div> <div class="line-num2">27</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # enum.value # =&gt; 2</span> </div> </td> </tr><tr> <td id="d2h-891082-3086" class="d2h-code-linenumber d2h-ins"><a href="#d2h-891082-3086"> <div class="line-num1"></div> <div class="line-num2">28</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # enum.value = 1</span> </div> </td> </tr><tr> <td id="d2h-891082-3097" class="d2h-code-linenumber d2h-ins"><a href="#d2h-891082-3097"> <div class="line-num1"></div> <div class="line-num2">29</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # enum.value # =&gt; 1</span> </div> </td> </tr><tr> <td id="d2h-891082-3108" class="d2h-code-linenumber d2h-ins"><a href="#d2h-891082-3108"> <div class="line-num1"></div> <div class="line-num2">30</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # enum.to_human # =&gt; &quot;medium&quot;</span> </div> </td> </tr><tr> <td id="d2h-891082-3119" class="d2h-code-linenumber d2h-ins"><a href="#d2h-891082-3119"> <div class="line-num1"></div> <div class="line-num2">31</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> #</span> </div> </td> </tr><tr> <td id="d2h-891082-3130" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-891082-3130"> <div class="line-num1">30</div> <div class="line-num2">32</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # @author Sylvain Daubert (2016-2024)</span> </div> </td> </tr><tr> <td id="d2h-891082-3141" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-891082-3141"> <div class="line-num1">31</div> <div class="line-num2">33</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # @author LemonTree55</span> </div> </td> </tr><tr> <td id="d2h-891082-3152" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-891082-3152"> <div class="line-num1">32</div> <div class="line-num2">34</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> class Enum &lt; Int</span> </div> </td> </tr> </tbody> </table> </div> </div> </div> <div id="d2h-902382" class="d2h-file-wrapper" data-lang="rb"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> </svg> <span class="d2h-file-name"><a href="#d2h-902382">data/lib/bin_struct/length_from.rb</a></span> <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> Viewed </label> </div> <div class="d2h-file-diff"> <div class="d2h-code-wrapper"> <table class="d2h-diff-table"> <tbody class="d2h-diff-tbody"> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -9,7 +9,7 @@</div> </td> </tr><tr> <td id="d2h-902382-3190" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-902382-3190"> <div class="line-num1">9</div> <div class="line-num2">9</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">module BinStruct</span> </div> </td> </tr><tr> <td id="d2h-902382-3201" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-902382-3201"> <div class="line-num1">10</div> <div class="line-num2">10</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # This module is a mixin adding +length_from+ capacity to a type.</span> </div> </td> </tr><tr> <td id="d2h-902382-3212" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-902382-3212"> <div class="line-num1">11</div> <div class="line-num2">11</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # +length_from+ capacity is the capacity, for a type, to gets its</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">12</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # length from another object.</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">12</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # length from another object.<ins> For an example, see {String}.</ins></span> </div> </td> </tr><tr> <td id="d2h-902382-3245" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-902382-3245"> <div class="line-num1">13</div> <div class="line-num2">13</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # @author Sylvain Daubert (2016-2024)</span> </div> </td> </tr><tr> <td id="d2h-902382-3256" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-902382-3256"> <div class="line-num1">14</div> <div class="line-num2">14</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # @author LemonTree55</span> </div> </td> </tr><tr> <td id="d2h-902382-3267" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-902382-3267"> <div class="line-num1">15</div> <div class="line-num2">15</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> module LengthFrom</span> </div> </td> </tr> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -30,7 +30,7 @@ module BinStruct</div> </td> </tr><tr> <td id="d2h-902382-3284" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-902382-3284"> <div class="line-num1">30</div> <div class="line-num2">30</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # @param [#to_s] str</span> </div> </td> </tr><tr> <td id="d2h-902382-3295" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-902382-3295"> <div class="line-num1">31</div> <div class="line-num2">31</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # @return [::String]</span> </div> </td> </tr><tr> <td id="d2h-902382-3306" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-902382-3306"> <div class="line-num1">32</div> <div class="line-num2">32</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> def read_with_length_from(str)</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">33</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> s = <del>BinStruct.force_binary(</del>str.to_s<del>)</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">33</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> s = str.to_s<ins>.b</ins></span> </div> </td> </tr><tr> <td id="d2h-902382-3339" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-902382-3339"> <div class="line-num1">34</div> <div class="line-num2">34</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> s[0, sz_to_read]</span> </div> </td> </tr><tr> <td id="d2h-902382-3350" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-902382-3350"> <div class="line-num1">35</div> <div class="line-num2">35</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-902382-3361" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-902382-3361"> <div class="line-num1">36</div> <div class="line-num2">36</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr> </tbody> </table> </div> </div> </div> <div id="d2h-073358" class="d2h-file-wrapper" data-lang="rb"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> </svg> <span class="d2h-file-name"><a href="#d2h-073358">data/lib/bin_struct/oui.rb</a></span> <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> Viewed </label> </div> <div class="d2h-file-diff"> <div class="d2h-code-wrapper"> <table class="d2h-diff-table"> <tbody class="d2h-diff-tbody"> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -8,10 +8,11 @@</div> </td> </tr><tr> <td id="d2h-073358-3399" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-073358-3399"> <div class="line-num1">8</div> <div class="line-num2">8</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-073358-3410" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-073358-3410"> <div class="line-num1">9</div> <div class="line-num2">9</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">module BinStruct</span> </div> </td> </tr><tr> <td id="d2h-073358-3421" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-073358-3421"> <div class="line-num1">10</div> <div class="line-num2">10</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # OUI type, defined as a set of 3 bytes</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">11</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> #<del> oui</del> <del>= OUI.new</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">11</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # <ins>@example</ins></span> </div> </td> </tr><tr> <td id="d2h-073358-3454" class="d2h-code-linenumber d2h-ins"><a href="#d2h-073358-3454"> <div class="line-num1"></div> <div class="line-num2">12</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # oui = BinStruct::OUI.new</span> </div> </td> </tr><tr> <td id="d2h-073358-3465" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-073358-3465"> <div class="line-num1">12</div> <div class="line-num2">13</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # oui.from_human(&#x27;00:01:02&#x27;)</span> </div> </td> </tr><tr> <td id="d2h-073358-3476" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-073358-3476"> <div class="line-num1">13</div> <div class="line-num2">14</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # oui.to_human # =&gt; &quot;00:01:02&quot;</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">14</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # oui.to_s # =&gt; &quot;\x00\x01\<del>x03</del>&quot;</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">15</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # oui.to_s # =&gt; &quot;\x00\x01\<ins>x02</ins>&quot;<ins>.b</ins></span> </div> </td> </tr><tr> <td id="d2h-073358-3509" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-073358-3509"> <div class="line-num1">15</div> <div class="line-num2">16</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # @author Sylvain Daubert (2016-2024)</span> </div> </td> </tr><tr> <td id="d2h-073358-3520" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-073358-3520"> <div class="line-num1">16</div> <div class="line-num2">17</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # @author LemonTree55</span> </div> </td> </tr><tr> <td id="d2h-073358-3531" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-073358-3531"> <div class="line-num1">17</div> <div class="line-num2">18</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> class OUI &lt; Struct</span> </div> </td> </tr> </tbody> </table> </div> </div> </div> <div id="d2h-549178" class="d2h-file-wrapper" data-lang="rb"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> </svg> <span class="d2h-file-name"><a href="#d2h-549178">data/lib/bin_struct/string.rb</a></span> <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> Viewed </label> </div> <div class="d2h-file-diff"> <div class="d2h-code-wrapper"> <table class="d2h-diff-table"> <tbody class="d2h-diff-tbody"> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -10,6 +10,33 @@ require &#x27;forwardable&#x27;</div> </td> </tr><tr> <td id="d2h-549178-3569" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-549178-3569"> <div class="line-num1">10</div> <div class="line-num2">10</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-549178-3580" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-549178-3580"> <div class="line-num1">11</div> <div class="line-num2">11</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">module BinStruct</span> </div> </td> </tr><tr> <td id="d2h-549178-3591" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-549178-3591"> <div class="line-num1">12</div> <div class="line-num2">12</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # This class mimics regular String, but it is {Structable}.</span> </div> </td> </tr><tr> <td id="d2h-549178-3602" class="d2h-code-linenumber d2h-ins"><a href="#d2h-549178-3602"> <div class="line-num1"></div> <div class="line-num2">13</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> #</span> </div> </td> </tr><tr> <td id="d2h-549178-3613" class="d2h-code-linenumber d2h-ins"><a href="#d2h-549178-3613"> <div class="line-num1"></div> <div class="line-num2">14</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # It may take its length from another field ({LengthFrom} capacity). It may also has a static length</span> </div> </td> </tr><tr> <td id="d2h-549178-3624" class="d2h-code-linenumber d2h-ins"><a href="#d2h-549178-3624"> <div class="line-num1"></div> <div class="line-num2">15</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # (i.e. string has always the same length, whatever its content is).</span> </div> </td> </tr><tr> <td id="d2h-549178-3635" class="d2h-code-linenumber d2h-ins"><a href="#d2h-549178-3635"> <div class="line-num1"></div> <div class="line-num2">16</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> #</span> </div> </td> </tr><tr> <td id="d2h-549178-3646" class="d2h-code-linenumber d2h-ins"><a href="#d2h-549178-3646"> <div class="line-num1"></div> <div class="line-num2">17</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # @example Basic example</span> </div> </td> </tr><tr> <td id="d2h-549178-3657" class="d2h-code-linenumber d2h-ins"><a href="#d2h-549178-3657"> <div class="line-num1"></div> <div class="line-num2">18</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # str = BinStruct::String.new</span> </div> </td> </tr><tr> <td id="d2h-549178-3668" class="d2h-code-linenumber d2h-ins"><a href="#d2h-549178-3668"> <div class="line-num1"></div> <div class="line-num2">19</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # str.read(&quot;abc&quot;)</span> </div> </td> </tr><tr> <td id="d2h-549178-3679" class="d2h-code-linenumber d2h-ins"><a href="#d2h-549178-3679"> <div class="line-num1"></div> <div class="line-num2">20</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # str.to_s #=&gt; &quot;abc&quot;.b</span> </div> </td> </tr><tr> <td id="d2h-549178-3690" class="d2h-code-linenumber d2h-ins"><a href="#d2h-549178-3690"> <div class="line-num1"></div> <div class="line-num2">21</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> #</span> </div> </td> </tr><tr> <td id="d2h-549178-3701" class="d2h-code-linenumber d2h-ins"><a href="#d2h-549178-3701"> <div class="line-num1"></div> <div class="line-num2">22</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # @example LengthFrom example</span> </div> </td> </tr><tr> <td id="d2h-549178-3712" class="d2h-code-linenumber d2h-ins"><a href="#d2h-549178-3712"> <div class="line-num1"></div> <div class="line-num2">23</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # class StrLen &lt; BinStruct::Struct</span> </div> </td> </tr><tr> <td id="d2h-549178-3723" class="d2h-code-linenumber d2h-ins"><a href="#d2h-549178-3723"> <div class="line-num1"></div> <div class="line-num2">24</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # define_attr :length, BinStruct::Int8</span> </div> </td> </tr><tr> <td id="d2h-549178-3734" class="d2h-code-linenumber d2h-ins"><a href="#d2h-549178-3734"> <div class="line-num1"></div> <div class="line-num2">25</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # define_attr :str, BinStruct::String, builder: -&gt;(h, t) { t.new(length_from: h[:length]) }</span> </div> </td> </tr><tr> <td id="d2h-549178-3745" class="d2h-code-linenumber d2h-ins"><a href="#d2h-549178-3745"> <div class="line-num1"></div> <div class="line-num2">26</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # end</span> </div> </td> </tr><tr> <td id="d2h-549178-3756" class="d2h-code-linenumber d2h-ins"><a href="#d2h-549178-3756"> <div class="line-num1"></div> <div class="line-num2">27</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> #</span> </div> </td> </tr><tr> <td id="d2h-549178-3767" class="d2h-code-linenumber d2h-ins"><a href="#d2h-549178-3767"> <div class="line-num1"></div> <div class="line-num2">28</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # # Length is 3, but rest of data is 4 byte long. Only 3 bytes will be read.</span> </div> </td> </tr><tr> <td id="d2h-549178-3778" class="d2h-code-linenumber d2h-ins"><a href="#d2h-549178-3778"> <div class="line-num1"></div> <div class="line-num2">29</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # s = StrLen.new.read(&quot;\x03abcd&quot;)</span> </div> </td> </tr><tr> <td id="d2h-549178-3789" class="d2h-code-linenumber d2h-ins"><a href="#d2h-549178-3789"> <div class="line-num1"></div> <div class="line-num2">30</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # s.length #=&gt; 3</span> </div> </td> </tr><tr> <td id="d2h-549178-3800" class="d2h-code-linenumber d2h-ins"><a href="#d2h-549178-3800"> <div class="line-num1"></div> <div class="line-num2">31</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # s.str.to_s #=&gt; &quot;abc&quot;.b</span> </div> </td> </tr><tr> <td id="d2h-549178-3811" class="d2h-code-linenumber d2h-ins"><a href="#d2h-549178-3811"> <div class="line-num1"></div> <div class="line-num2">32</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # s.to_s # =&gt; &quot;\x03abc&quot;.b</span> </div> </td> </tr><tr> <td id="d2h-549178-3822" class="d2h-code-linenumber d2h-ins"><a href="#d2h-549178-3822"> <div class="line-num1"></div> <div class="line-num2">33</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> #</span> </div> </td> </tr><tr> <td id="d2h-549178-3833" class="d2h-code-linenumber d2h-ins"><a href="#d2h-549178-3833"> <div class="line-num1"></div> <div class="line-num2">34</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # @example static length example</span> </div> </td> </tr><tr> <td id="d2h-549178-3844" class="d2h-code-linenumber d2h-ins"><a href="#d2h-549178-3844"> <div class="line-num1"></div> <div class="line-num2">35</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # s = BinStruct::String.new(static_length: 10)</span> </div> </td> </tr><tr> <td id="d2h-549178-3855" class="d2h-code-linenumber d2h-ins"><a href="#d2h-549178-3855"> <div class="line-num1"></div> <div class="line-num2">36</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # s.sz #=&gt; 10</span> </div> </td> </tr><tr> <td id="d2h-549178-3866" class="d2h-code-linenumber d2h-ins"><a href="#d2h-549178-3866"> <div class="line-num1"></div> <div class="line-num2">37</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # s.to_s #=&gt; &quot;\0\0\0\0\0\0\0\0\0\0&quot;.b</span> </div> </td> </tr><tr> <td id="d2h-549178-3877" class="d2h-code-linenumber d2h-ins"><a href="#d2h-549178-3877"> <div class="line-num1"></div> <div class="line-num2">38</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # s.read(&quot;01234567890123456789&quot;)</span> </div> </td> </tr><tr> <td id="d2h-549178-3888" class="d2h-code-linenumber d2h-ins"><a href="#d2h-549178-3888"> <div class="line-num1"></div> <div class="line-num2">39</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # s.to_s #=&gt; &quot;0123456789&quot;.b</span> </div> </td> </tr><tr> <td id="d2h-549178-3899" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-549178-3899"> <div class="line-num1">13</div> <div class="line-num2">40</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # @author Sylvain Daubert (2016-2024)</span> </div> </td> </tr><tr> <td id="d2h-549178-3910" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-549178-3910"> <div class="line-num1">14</div> <div class="line-num2">41</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # @author LemonTree55</span> </div> </td> </tr><tr> <td id="d2h-549178-3921" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-549178-3921"> <div class="line-num1">15</div> <div class="line-num2">42</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> class String</span> </div> </td> </tr> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -19,7 +46,7 @@ module BinStruct</div> </td> </tr><tr> <td id="d2h-549178-3938" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-549178-3938"> <div class="line-num1">19</div> <div class="line-num2">46</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-549178-3949" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-549178-3949"> <div class="line-num1">20</div> <div class="line-num2">47</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> def_delegators :@string, :[], :length, :size, :inspect, :==,</span> </div> </td> </tr><tr> <td id="d2h-549178-3960" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-549178-3960"> <div class="line-num1">21</div> <div class="line-num2">48</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> :unpack, :force_encoding, :encoding, :index, :empty?,</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">22</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> :encode, :slice, :slice!, :[]<del>=</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">49</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> :encode, :slice, :slice!, :[]<ins>=, :b</ins></span> </div> </td> </tr><tr> <td id="d2h-549178-3993" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-549178-3993"> <div class="line-num1">23</div> <div class="line-num2">50</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-549178-4004" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-549178-4004"> <div class="line-num1">24</div> <div class="line-num2">51</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # Underlying Ruby String</span> </div> </td> </tr><tr> <td id="d2h-549178-4015" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-549178-4015"> <div class="line-num1">25</div> <div class="line-num2">52</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # @return [::String]</span> </div> </td> </tr> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -83,25 +110,29 @@ module BinStruct</div> </td> </tr><tr> <td id="d2h-549178-4032" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-549178-4032"> <div class="line-num1">83</div> <div class="line-num2">110</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # @param [#to_s] str</span> </div> </td> </tr><tr> <td id="d2h-549178-4043" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-549178-4043"> <div class="line-num1">84</div> <div class="line-num2">111</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # @return [self]</span> </div> </td> </tr><tr> <td id="d2h-549178-4054" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-549178-4054"> <div class="line-num1">85</div> <div class="line-num2">112</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> def &lt;&lt;(str)</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">86</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> @string &lt;&lt; <del>BinStruct.force_binary(</del>str.to_s<del>)</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">113</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> @string &lt;&lt; str.to_s<ins>.b</ins></span> </div> </td> </tr><tr> <td id="d2h-549178-4087" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-549178-4087"> <div class="line-num1">87</div> <div class="line-num2">114</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> self</span> </div> </td> </tr><tr> <td id="d2h-549178-4098" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-549178-4098"> <div class="line-num1">88</div> <div class="line-num2">115</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-549178-4109" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-549178-4109"> <div class="line-num1">89</div> <div class="line-num2">116</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-549178-4120" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-549178-4120"> <div class="line-num1">90</div> <div class="line-num2">117</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # Generate &quot;binary&quot; string</span> </div> </td> </tr><tr> <td id="d2h-549178-4131" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-549178-4131"> <div class="line-num1">91</div> <div class="line-num2">118</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # @return [::String]</span> </div> </td> </tr><tr> <td id="d2h-549178-4142" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-549178-4142"> <div class="line-num1">92</div> <div class="line-num2">119</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> def to_s</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">93</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> <del>@string</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">120</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> <ins>if static_length?</ins></span> </div> </td> </tr><tr> <td id="d2h-549178-4175" class="d2h-code-linenumber d2h-ins"><a href="#d2h-549178-4175"> <div class="line-num1"></div> <div class="line-num2">121</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> s = @string[0, static_length]</span> </div> </td> </tr><tr> <td id="d2h-549178-4186" class="d2h-code-linenumber d2h-ins"><a href="#d2h-549178-4186"> <div class="line-num1"></div> <div class="line-num2">122</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> s &lt;&lt; (&quot;\x00&quot; * (static_length - s.length))</span> </div> </td> </tr><tr> <td id="d2h-549178-4197" class="d2h-code-linenumber d2h-ins"><a href="#d2h-549178-4197"> <div class="line-num1"></div> <div class="line-num2">123</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> s.b</span> </div> </td> </tr><tr> <td id="d2h-549178-4208" class="d2h-code-linenumber d2h-ins"><a href="#d2h-549178-4208"> <div class="line-num1"></div> <div class="line-num2">124</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> else</span> </div> </td> </tr><tr> <td id="d2h-549178-4219" class="d2h-code-linenumber d2h-ins"><a href="#d2h-549178-4219"> <div class="line-num1"></div> <div class="line-num2">125</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> @string.b</span> </div> </td> </tr><tr> <td id="d2h-549178-4230" class="d2h-code-linenumber d2h-ins"><a href="#d2h-549178-4230"> <div class="line-num1"></div> <div class="line-num2">126</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-549178-4241" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-549178-4241"> <div class="line-num1">94</div> <div class="line-num2">127</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-549178-4252" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-549178-4252"> <div class="line-num1">95</div> <div class="line-num2">128</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-549178-4263" class="d2h-code-linenumber d2h-del"><a href="#d2h-549178-4263"> <div class="line-num1">96</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> alias sz length</span> </div> </td> </tr><tr> <td id="d2h-549178-4274" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-549178-4274"> <div class="line-num1">97</div> <div class="line-num2">129</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> alias to_human to_s</span> </div> </td> </tr><tr> <td id="d2h-549178-4285" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-549178-4285"> <div class="line-num1">98</div> <div class="line-num2">130</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> alias from_human read</span> </div> </td> </tr><tr> <td id="d2h-549178-4296" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-549178-4296"> <div class="line-num1">99</div> <div class="line-num2">131</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-549178-4307" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-549178-4307"> <div class="line-num1">100</div> <div class="line-num2">132</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> private</span> </div> </td> </tr><tr> <td id="d2h-549178-4318" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-549178-4318"> <div class="line-num1">101</div> <div class="line-num2">133</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-549178-4329" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-549178-4329"> <div class="line-num1">102</div> <div class="line-num2">134</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> def register_internal_string(str)</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">103</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> @string = str</span> </div> </td> </tr><tr> <td id="d2h-549178-4351" class="d2h-code-linenumber d2h-del"><a href="#d2h-549178-4351"> <div class="line-num1">104</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> BinStruct.force_binary(@string)</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">135</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> @string = str<ins>.b</ins></span> </div> </td> </tr><tr> <td id="d2h-549178-4373" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-549178-4373"> <div class="line-num1">105</div> <div class="line-num2">136</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-549178-4384" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-549178-4384"> <div class="line-num1">106</div> <div class="line-num2">137</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-549178-4395" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-549178-4395"> <div class="line-num1">107</div> <div class="line-num2">138</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">end</span> </div> </td> </tr> </tbody> </table> </div> </div> </div> <div id="d2h-327542" class="d2h-file-wrapper" data-lang="rb"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> </svg> <span class="d2h-file-name"><a href="#d2h-327542">data/lib/bin_struct/struct.rb</a></span> <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> Viewed </label> </div> <div class="d2h-file-diff"> <div class="d2h-code-wrapper"> <table class="d2h-diff-table"> <tbody class="d2h-diff-tbody"> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -32,8 +32,8 @@ module BinStruct</div> </td> </tr><tr> <td id="d2h-327542-4433" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-4433"> <div class="line-num1">32</div> <div class="line-num2">32</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # Attributes may also be accessed through {#[]} ans {#[]=}. These methods give access</span> </div> </td> </tr><tr> <td id="d2h-327542-4444" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-4444"> <div class="line-num1">33</div> <div class="line-num2">33</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # to type object:</span> </div> </td> </tr><tr> <td id="d2h-327542-4455" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-4455"> <div class="line-num1">34</div> <div class="line-num2">34</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # mybs = MyBinaryStructure.new</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">35</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # mybs.attr1 # =&gt; Integer</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">36</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # mybs[:attr1] # =&gt; BinStruct::Int8</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">35</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # mybs.attr1<ins>.class</ins> # =&gt; Integer</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">36</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # mybs[:attr1]<ins>.class</ins> # =&gt; BinStruct::Int8</span> </div> </td> </tr><tr> <td id="d2h-327542-4510" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-4510"> <div class="line-num1">37</div> <div class="line-num2">37</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> #</span> </div> </td> </tr><tr> <td id="d2h-327542-4521" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-4521"> <div class="line-num1">38</div> <div class="line-num2">38</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # {#initialize} accepts an option hash to populate attributes. Keys are attribute</span> </div> </td> </tr><tr> <td id="d2h-327542-4532" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-4532"> <div class="line-num1">39</div> <div class="line-num2">39</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # name symbols, and values are those expected by writer accessor.</span> </div> </td> </tr> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -57,7 +57,7 @@ module BinStruct</div> </td> </tr><tr> <td id="d2h-327542-4549" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-4549"> <div class="line-num1">57</div> <div class="line-num2">57</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # +#body+, +#body=+, +#mac_addr+ and +#mac_addr=+.</span> </div> </td> </tr><tr> <td id="d2h-327542-4560" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-4560"> <div class="line-num1">58</div> <div class="line-num2">58</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> #</span> </div> </td> </tr><tr> <td id="d2h-327542-4571" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-4571"> <div class="line-num1">59</div> <div class="line-num2">59</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # {.define_attr} has many options (third optional Hash argument):</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">60</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # * +:default+ <del>gives</del> default attribute value. It may be a simple value (an Integer</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">60</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # * +:default+ <ins>to</ins> <ins>define </ins>default attribute value. It may be a simple value (an Integer</span> </div> </td> </tr><tr> <td id="d2h-327542-4604" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-4604"> <div class="line-num1">61</div> <div class="line-num2">61</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # for an Int attribute, for example) or a lambda,</span> </div> </td> </tr><tr> <td id="d2h-327542-4615" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-4615"> <div class="line-num1">62</div> <div class="line-num2">62</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # * +:builder+ to give a builder&#x2F;constructor lambda to create attribute. The lambda</span> </div> </td> </tr><tr> <td id="d2h-327542-4626" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-4626"> <div class="line-num1">63</div> <div class="line-num2">63</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # takes 2 arguments: {Struct} subclass object owning attribute, and type class as passes</span> </div> </td> </tr> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -97,7 +97,7 @@ module BinStruct</div> </td> </tr><tr> <td id="d2h-327542-4643" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-4643"> <div class="line-num1">97</div> <div class="line-num2">97</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # * {.define_attr_before} and {.define_bit_attr_before} to define a new attribute before an existing one,</span> </div> </td> </tr><tr> <td id="d2h-327542-4654" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-4654"> <div class="line-num1">98</div> <div class="line-num2">98</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # * {.define_attr_after} and {.define_bit_attr_after} to define a new attribute after an existing onr,</span> </div> </td> </tr><tr> <td id="d2h-327542-4665" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-4665"> <div class="line-num1">99</div> <div class="line-num2">99</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # * {.remove_attr} to remove an existing attribute,</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">100</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # * {.<del>uptade_attr</del>} to change options of an attribute (but not its type),</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">100</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # * {.<ins>update_attr</ins>} to change options of an attribute (but not its type),</span> </div> </td> </tr><tr> <td id="d2h-327542-4698" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-4698"> <div class="line-num1">101</div> <div class="line-num2">101</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> #</span> </div> </td> </tr><tr> <td id="d2h-327542-4709" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-4709"> <div class="line-num1">102</div> <div class="line-num2">102</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # @author Sylvain Daubert (2016-2024)</span> </div> </td> </tr><tr> <td id="d2h-327542-4720" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-4720"> <div class="line-num1">103</div> <div class="line-num2">103</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # @author LemonTree55</span> </div> </td> </tr> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -247,7 +247,7 @@ module BinStruct</div> </td> </tr><tr> <td id="d2h-327542-4737" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-4737"> <div class="line-num1">247</div> <div class="line-num2">247</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # class MyHeader &lt; BinStruct::Struct</span> </div> </td> </tr><tr> <td id="d2h-327542-4748" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-4748"> <div class="line-num1">248</div> <div class="line-num2">248</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # # define a 16-bit attribute named :flag</span> </div> </td> </tr><tr> <td id="d2h-327542-4759" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-4759"> <div class="line-num1">249</div> <div class="line-num2">249</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # # flag1, flag2 and flag3 are 1-bit attributes</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">250</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> # # type and stype are 3-bit attributes<del>.</del> reserved is a 7-bit attribute</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">250</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # # type and stype are 3-bit attributes<ins>,</ins> reserved is a 7-bit attribute</span> </div> </td> </tr><tr> <td id="d2h-327542-4792" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-4792"> <div class="line-num1">251</div> <div class="line-num2">251</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # define_bit_attr :flags, flag1: 1, flag2: 1, flag3: 1, type: 3, stype: 3, reserved: 7</span> </div> </td> </tr><tr> <td id="d2h-327542-4803" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-4803"> <div class="line-num1">252</div> <div class="line-num2">252</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # end</span> </div> </td> </tr><tr> <td id="d2h-327542-4814" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-4814"> <div class="line-num1">253</div> <div class="line-num2">253</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # A bit attribute of size 1 bit defines 3 methods:</span> </div> </td> </tr> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -443,12 +443,11 @@ module BinStruct</div> </td> </tr><tr> <td id="d2h-327542-4831" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-4831"> <div class="line-num1">443</div> <div class="line-num2">443</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> def read(str)</span> </div> </td> </tr><tr> <td id="d2h-327542-4842" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-4842"> <div class="line-num1">444</div> <div class="line-num2">444</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> return self if str.nil?</span> </div> </td> </tr><tr> <td id="d2h-327542-4853" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-4853"> <div class="line-num1">445</div> <div class="line-num2">445</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-327542-4864" class="d2h-code-linenumber d2h-del"><a href="#d2h-327542-4864"> <div class="line-num1">446</div> <div class="line-num2"></div> </a></td> <td class="d2h-del"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> force_binary(str)</span> </div> </td> </tr><tr> <td id="d2h-327542-4875" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-4875"> <div class="line-num1">447</div> <div class="line-num2">446</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> start = 0</span> </div> </td> </tr><tr> <td id="d2h-327542-4886" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-4886"> <div class="line-num1">448</div> <div class="line-num2">447</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> attributes.each do |attr|</span> </div> </td> </tr><tr> <td id="d2h-327542-4897" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-4897"> <div class="line-num1">449</div> <div class="line-num2">448</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> next unless present?(attr)</span> </div> </td> </tr><tr> <td id="d2h-327542-4908" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-4908"> <div class="line-num1">450</div> <div class="line-num2">449</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">451</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> obj = self[attr].read(str[start..])</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">450</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> obj = self[attr].read(str<ins>.b</ins>[start..])</span> </div> </td> </tr><tr> <td id="d2h-327542-4941" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-4941"> <div class="line-num1">452</div> <div class="line-num2">451</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> start += self[attr].sz</span> </div> </td> </tr><tr> <td id="d2h-327542-4952" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-4952"> <div class="line-num1">453</div> <div class="line-num2">452</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> self[attr] = obj unless obj == self[attr]</span> </div> </td> </tr><tr> <td id="d2h-327542-4963" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-4963"> <div class="line-num1">454</div> <div class="line-num2">453</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -480,7 +479,7 @@ module BinStruct</div> </td> </tr><tr> <td id="d2h-327542-4980" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-4980"> <div class="line-num1">480</div> <div class="line-num2">479</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # @return [String]</span> </div> </td> </tr><tr> <td id="d2h-327542-4991" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-4991"> <div class="line-num1">481</div> <div class="line-num2">480</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> def to_s</span> </div> </td> </tr><tr> <td id="d2h-327542-5002" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-5002"> <div class="line-num1">482</div> <div class="line-num2">481</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> attributes.select { |attr| present?(attr) }</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">483</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> .map! { |attr| <del>force_binary </del>@attributes[attr].to_s }.join</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">482</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> .map! { |attr| @attributes[attr].to_s<ins>.b</ins> }.join</span> </div> </td> </tr><tr> <td id="d2h-327542-5035" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-5035"> <div class="line-num1">484</div> <div class="line-num2">483</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-327542-5046" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-5046"> <div class="line-num1">485</div> <div class="line-num2">484</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-327542-5057" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-5057"> <div class="line-num1">486</div> <div class="line-num2">485</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # Size of object as binary string</span> </div> </td> </tr> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -531,6 +530,7 @@ module BinStruct</div> </td> </tr><tr> <td id="d2h-327542-5074" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-5074"> <div class="line-num1">531</div> <div class="line-num2">530</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # Force str to binary encoding</span> </div> </td> </tr><tr> <td id="d2h-327542-5085" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-5085"> <div class="line-num1">532</div> <div class="line-num2">531</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # @param [String] str</span> </div> </td> </tr><tr> <td id="d2h-327542-5096" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-5096"> <div class="line-num1">533</div> <div class="line-num2">532</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # @return [String]</span> </div> </td> </tr><tr> <td id="d2h-327542-5107" class="d2h-code-linenumber d2h-ins"><a href="#d2h-327542-5107"> <div class="line-num1"></div> <div class="line-num2">533</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # @deprecated Prefer use of Ruby&#x27;s {::String#b}</span> </div> </td> </tr><tr> <td id="d2h-327542-5118" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-5118"> <div class="line-num1">534</div> <div class="line-num2">534</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> def force_binary(str)</span> </div> </td> </tr><tr> <td id="d2h-327542-5129" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-5129"> <div class="line-num1">535</div> <div class="line-num2">535</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> BinStruct.force_binary(str)</span> </div> </td> </tr><tr> <td id="d2h-327542-5140" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-327542-5140"> <div class="line-num1">536</div> <div class="line-num2">536</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr> </tbody> </table> </div> </div> </div> <div id="d2h-879897" class="d2h-file-wrapper" data-lang="rb"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> </svg> <span class="d2h-file-name"><a href="#d2h-879897">data/lib/bin_struct/version.rb</a></span> <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> Viewed </label> </div> <div class="d2h-file-diff"> <div class="d2h-code-wrapper"> <table class="d2h-diff-table"> <tbody class="d2h-diff-tbody"> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -8,5 +8,5 @@</div> </td> </tr><tr> <td id="d2h-879897-5178" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-879897-5178"> <div class="line-num1">8</div> <div class="line-num2">8</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-879897-5189" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-879897-5189"> <div class="line-num1">9</div> <div class="line-num2">9</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">module BinStruct</span> </div> </td> </tr><tr> <td id="d2h-879897-5200" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-879897-5200"> <div class="line-num1">10</div> <div class="line-num2">10</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # BinStruct version</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">11</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> VERSION = &#x27;0.<del>4</del>.0&#x27;</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">11</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> VERSION = &#x27;0.<ins>5</ins>.0&#x27;</span> </div> </td> </tr><tr> <td id="d2h-879897-5233" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-879897-5233"> <div class="line-num1">12</div> <div class="line-num2">12</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">end</span> </div> </td> </tr> </tbody> </table> </div> </div> </div> <div id="d2h-828542" class="d2h-file-wrapper" data-lang="rb"> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> </svg> <span class="d2h-file-name"><a href="#d2h-828542">data/lib/bin_struct.rb</a></span> <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> Viewed </label> </div> <div class="d2h-file-diff"> <div class="d2h-code-wrapper"> <table class="d2h-diff-table"> <tbody class="d2h-diff-tbody"> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -8,7 +8,31 @@</div> </td> </tr><tr> <td id="d2h-828542-5271" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-828542-5271"> <div class="line-num1">8</div> <div class="line-num2">8</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td id="d2h-828542-5282" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-828542-5282"> <div class="line-num1">9</div> <div class="line-num2">9</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">require_relative &#x27;bin_struct&#x2F;version&#x27;</span> </div> </td> </tr><tr> <td id="d2h-828542-5293" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-828542-5293"> <div class="line-num1">10</div> <div class="line-num2">10</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">11</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"># BinStruct module</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">11</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"># BinStruct module<ins> provides classes to easily serialize&#x2F;deserialize data to&#x2F;from binary strings.</ins></span> </div> </td> </tr><tr> <td id="d2h-828542-5326" class="d2h-code-linenumber d2h-ins"><a href="#d2h-828542-5326"> <div class="line-num1"></div> <div class="line-num2">12</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"># @example Basic example</span> </div> </td> </tr><tr> <td id="d2h-828542-5337" class="d2h-code-linenumber d2h-ins"><a href="#d2h-828542-5337"> <div class="line-num1"></div> <div class="line-num2">13</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"># class MyData &lt; BinStruct::Struct</span> </div> </td> </tr><tr> <td id="d2h-828542-5348" class="d2h-code-linenumber d2h-ins"><a href="#d2h-828542-5348"> <div class="line-num1"></div> <div class="line-num2">14</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"># # Define 2 attributes as a 8-bit integer</span> </div> </td> </tr><tr> <td id="d2h-828542-5359" class="d2h-code-linenumber d2h-ins"><a href="#d2h-828542-5359"> <div class="line-num1"></div> <div class="line-num2">15</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"># define_attr :byte1, BinStruct::Int8</span> </div> </td> </tr><tr> <td id="d2h-828542-5370" class="d2h-code-linenumber d2h-ins"><a href="#d2h-828542-5370"> <div class="line-num1"></div> <div class="line-num2">16</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"># define_attr :byte2, BinStruct::Int8</span> </div> </td> </tr><tr> <td id="d2h-828542-5381" class="d2h-code-linenumber d2h-ins"><a href="#d2h-828542-5381"> <div class="line-num1"></div> <div class="line-num2">17</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"># # Define an attribute as a 16-bit big endian integer</span> </div> </td> </tr><tr> <td id="d2h-828542-5392" class="d2h-code-linenumber d2h-ins"><a href="#d2h-828542-5392"> <div class="line-num1"></div> <div class="line-num2">18</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"># define_attr :word, BinStruct::Int16</span> </div> </td> </tr><tr> <td id="d2h-828542-5403" class="d2h-code-linenumber d2h-ins"><a href="#d2h-828542-5403"> <div class="line-num1"></div> <div class="line-num2">19</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"># # Define a 32-bit little endian integer attribute</span> </div> </td> </tr><tr> <td id="d2h-828542-5414" class="d2h-code-linenumber d2h-ins"><a href="#d2h-828542-5414"> <div class="line-num1"></div> <div class="line-num2">20</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"># define_attr :dword, BinStruct::Int32le</span> </div> </td> </tr><tr> <td id="d2h-828542-5425" class="d2h-code-linenumber d2h-ins"><a href="#d2h-828542-5425"> <div class="line-num1"></div> <div class="line-num2">21</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"># # Define a string prepending with its length (8-bit integer)</span> </div> </td> </tr><tr> <td id="d2h-828542-5436" class="d2h-code-linenumber d2h-ins"><a href="#d2h-828542-5436"> <div class="line-num1"></div> <div class="line-num2">22</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"># define_attr :str, BinStruct::IntString</span> </div> </td> </tr><tr> <td id="d2h-828542-5447" class="d2h-code-linenumber d2h-ins"><a href="#d2h-828542-5447"> <div class="line-num1"></div> <div class="line-num2">23</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"># end</span> </div> </td> </tr><tr> <td id="d2h-828542-5458" class="d2h-code-linenumber d2h-ins"><a href="#d2h-828542-5458"> <div class="line-num1"></div> <div class="line-num2">24</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn">#</span> </div> </td> </tr><tr> <td id="d2h-828542-5469" class="d2h-code-linenumber d2h-ins"><a href="#d2h-828542-5469"> <div class="line-num1"></div> <div class="line-num2">25</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"># # Generate binary data</span> </div> </td> </tr><tr> <td id="d2h-828542-5480" class="d2h-code-linenumber d2h-ins"><a href="#d2h-828542-5480"> <div class="line-num1"></div> <div class="line-num2">26</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"># mydata = MyData.new(byte1: 1, byte2: 2, word: 3, dword: 4, str: &#x27;abc&#x27;)</span> </div> </td> </tr><tr> <td id="d2h-828542-5491" class="d2h-code-linenumber d2h-ins"><a href="#d2h-828542-5491"> <div class="line-num1"></div> <div class="line-num2">27</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"># mydata.to_s #=&gt; &quot;\x01\x02\x00\x03\x04\x00\x00\x00\x03abc&quot;.b</span> </div> </td> </tr><tr> <td id="d2h-828542-5502" class="d2h-code-linenumber d2h-ins"><a href="#d2h-828542-5502"> <div class="line-num1"></div> <div class="line-num2">28</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn">#</span> </div> </td> </tr><tr> <td id="d2h-828542-5513" class="d2h-code-linenumber d2h-ins"><a href="#d2h-828542-5513"> <div class="line-num1"></div> <div class="line-num2">29</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"># # Parse binary data</span> </div> </td> </tr><tr> <td id="d2h-828542-5524" class="d2h-code-linenumber d2h-ins"><a href="#d2h-828542-5524"> <div class="line-num1"></div> <div class="line-num2">30</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"># mydata.read(&quot;\x00\xff\x01\x23\x11\x22\x33\x44\x00&quot;)</span> </div> </td> </tr><tr> <td id="d2h-828542-5535" class="d2h-code-linenumber d2h-ins"><a href="#d2h-828542-5535"> <div class="line-num1"></div> <div class="line-num2">31</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"># mydata.byte1 #=&gt; 0</span> </div> </td> </tr><tr> <td id="d2h-828542-5546" class="d2h-code-linenumber d2h-ins"><a href="#d2h-828542-5546"> <div class="line-num1"></div> <div class="line-num2">32</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"># mydata.byte2 #=&gt; 255</span> </div> </td> </tr><tr> <td id="d2h-828542-5557" class="d2h-code-linenumber d2h-ins"><a href="#d2h-828542-5557"> <div class="line-num1"></div> <div class="line-num2">33</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"># mydata.word #=&gt; 0x0123</span> </div> </td> </tr><tr> <td id="d2h-828542-5568" class="d2h-code-linenumber d2h-ins"><a href="#d2h-828542-5568"> <div class="line-num1"></div> <div class="line-num2">34</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"># mydata.dword #=&gt; 0x44332211</span> </div> </td> </tr><tr> <td id="d2h-828542-5579" class="d2h-code-linenumber d2h-ins"><a href="#d2h-828542-5579"> <div class="line-num1"></div> <div class="line-num2">35</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"># mydata.str #=&gt; &quot;&quot;</span> </div> </td> </tr><tr> <td id="d2h-828542-5590" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-828542-5590"> <div class="line-num1">12</div> <div class="line-num2">36</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"># @author LemonTree55</span> </div> </td> </tr><tr> <td id="d2h-828542-5601" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-828542-5601"> <div class="line-num1">13</div> <div class="line-num2">37</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">module BinStruct</span> </div> </td> </tr><tr> <td id="d2h-828542-5612" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-828542-5612"> <div class="line-num1">14</div> <div class="line-num2">38</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # BinStruct error class</span> </div> </td> </tr> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -17,8 +41,9 @@ module BinStruct</div> </td> </tr><tr> <td id="d2h-828542-5629" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-828542-5629"> <div class="line-num1">17</div> <div class="line-num2">41</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # Force binary encoding for +str+</span> </div> </td> </tr><tr> <td id="d2h-828542-5640" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-828542-5640"> <div class="line-num1">18</div> <div class="line-num2">42</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # @param [String] str</span> </div> </td> </tr><tr> <td id="d2h-828542-5651" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-828542-5651"> <div class="line-num1">19</div> <div class="line-num2">43</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> # @return [String] binary encoded string</span> </div> </td> </tr><tr> <td id="d2h-828542-5662" class="d2h-code-linenumber d2h-ins"><a href="#d2h-828542-5662"> <div class="line-num1"></div> <div class="line-num2">44</div> </a></td> <td class="d2h-ins"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> # @deprecated Use {::String#b} instead of this method</span> </div> </td> </tr><tr> <td id="d2h-828542-5673" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-828542-5673"> <div class="line-num1">20</div> <div class="line-num2">45</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> def self.force_binary(str)</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">21</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> str.<del>dup.force_encoding(Encoding::BINARY)</del></span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">46</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> str.<ins>b</ins></span> </div> </td> </tr><tr> <td id="d2h-828542-5706" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-828542-5706"> <div class="line-num1">22</div> <div class="line-num2">47</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> end</span> </div> </td> </tr><tr> <td id="d2h-828542-5717" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-828542-5717"> <div class="line-num1">23</div> <div class="line-num2">48</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">end</span> </div> </td> </tr><tr> <td id="d2h-828542-5728" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-828542-5728"> <div class="line-num1">24</div> <div class="line-num2">49</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"><br></span> </div> </td> </tr> </tbody> </table> </div> </div> </div> <div id="d2h-004177" class="d2h-file-wrapper" data-lang=""> <div class="d2h-file-header"> <span class="d2h-file-name-wrapper"> <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"> <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path> </svg> <span class="d2h-file-name"><a href="#d2h-004177">metadata</a></span> <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span> <label class="d2h-file-collapse"> <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed"> Viewed </label> </div> <div class="d2h-file-diff"> <div class="d2h-code-wrapper"> <table class="d2h-diff-table"> <tbody class="d2h-diff-tbody"> <tr> <td class="d2h-code-linenumber d2h-info"></td> <td class="d2h-info"> <div class="d2h-code-line">@@ -1,14 +1,14 @@</div> </td> </tr><tr> <td id="d2h-004177-5766" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-004177-5766"> <div class="line-num1">1</div> <div class="line-num2">1</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">--- !ruby&#x2F;object:Gem::Specification</span> </div> </td> </tr><tr> <td id="d2h-004177-5777" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-004177-5777"> <div class="line-num1">2</div> <div class="line-num2">2</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">name: bin_struct</span> </div> </td> </tr><tr> <td id="d2h-004177-5788" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-004177-5788"> <div class="line-num1">3</div> <div class="line-num2">3</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">version: !ruby&#x2F;object:Gem::Version</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">4</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn"> version: 0.<del>4</del>.0</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">4</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn"> version: 0.<ins>5</ins>.0</span> </div> </td> </tr><tr> <td id="d2h-004177-5821" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-004177-5821"> <div class="line-num1">5</div> <div class="line-num2">5</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">platform: ruby</span> </div> </td> </tr><tr> <td id="d2h-004177-5832" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-004177-5832"> <div class="line-num1">6</div> <div class="line-num2">6</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">authors:</span> </div> </td> </tr><tr> <td id="d2h-004177-5843" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-004177-5843"> <div class="line-num1">7</div> <div class="line-num2">7</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">- LemonTree55</span> </div> </td> </tr><tr> <td id="d2h-004177-5854" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-004177-5854"> <div class="line-num1">8</div> <div class="line-num2">8</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">autorequire:</span> </div> </td> </tr><tr> <td id="d2h-004177-5865" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-004177-5865"> <div class="line-num1">9</div> <div class="line-num2">9</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">bindir: bin</span> </div> </td> </tr><tr> <td id="d2h-004177-5876" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-004177-5876"> <div class="line-num1">10</div> <div class="line-num2">10</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">cert_chain: []</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-del d2h-change"> <div class="line-num1">11</div> <div class="line-num2"></div> </a></td> <td class="d2h-del d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">-</span> <span class="d2h-code-line-ctn">date: 2025-02-<del>13</del> 00:00:00.000000000 Z</span> </div> </td> </tr><tr> <td class="d2h-code-linenumber d2h-ins d2h-change"> <div class="line-num1"></div> <div class="line-num2">11</div> </a></td> <td class="d2h-ins d2h-change"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">+</span> <span class="d2h-code-line-ctn">date: 2025-02-<ins>17</ins> 00:00:00.000000000 Z</span> </div> </td> </tr><tr> <td id="d2h-004177-5909" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-004177-5909"> <div class="line-num1">12</div> <div class="line-num2">12</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">dependencies: []</span> </div> </td> </tr><tr> <td id="d2h-004177-5920" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-004177-5920"> <div class="line-num1">13</div> <div class="line-num2">13</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn">description: &#x27;BinStruct is a binary dissector and generator. It eases manipulating</span> </div> </td> </tr><tr> <td id="d2h-004177-5931" class="d2h-code-linenumber d2h-cntx"><a href="#d2h-004177-5931"> <div class="line-num1">14</div> <div class="line-num2">14</div> </a></td> <td class="d2h-cntx"> <div class="d2h-code-line"> <span class="d2h-code-line-prefix">&nbsp;</span> <span class="d2h-code-line-ctn"> complex binary data.</span> </div> </td> </tr> </tbody> </table> </div> </div> </div> </div> </div> </div> </div> </div> <footer class='sticky-footer mt-3'> <div class='container text-center mb-3 copyright'> <a class='mr-4 text-gray-600' href='mailto:diffend@whitesourcesoftware.com'> Contact Us </a> <a class='mr-4 text-gray-600' href='https://www.whitesourcesoftware.com/terms-of-service/'> Terms of Service </a> <a class='mr-4 text-gray-600' href='https://www.whitesourcesoftware.com/privacy-policy/'> Privacy Policy </a> <a class='mr-4 text-gray-600' href='https://diffend.io/docs'> Docs </a> </div> <div class='container mt-4'> <div class='copyright text-center'> Copyright © 2025 Mend Software </div> </div> </footer> </div> </div> </div> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10