title: Boost Program Options dependent options
body: <p>Is there any way of making program options dependent on other options using <code>boost::program_options</code>?</p>
  
  <p>For example, my program can accept the following sample arguments:</p>
  
  <pre><code>wifi --scan --interface=en0
  wifi --scan --interface=en0 --ssid=network
  wifi --do_something_else
  </code></pre>
  
  <p>In this example, the <code>interface</code> and <code>ssid</code> arguments are only valid if they are accompanied by <code>scan</code>. They are dependent on the <code>scan</code> argument.</p>
  
  <p>Is there any way to enforce this automatically with <code>boost::program_options</code>? It can of course be implemented manually but it seems like there must be a better way.</p>