nidas  v1.2-1520
Public Member Functions | Public Attributes | Private Member Functions | List of all members
nidas::core::NidasAppArgv Struct Reference

Convert vector<string> args to dynamically allocated (argc, argv) pair which will be freed when the instance is destroyed. More...

#include <NidasApp.h>

Public Member Functions

 NidasAppArgv (const std::string &argv0, const std::vector< std::string > &args)
 
ArgVector unparsedArgs (int optindex)
 Given the opt index after getopt() finishes, return a vector of any remaining arguments, suitable for passing to NidasApp::parseInputs(). More...
 
 ~NidasAppArgv ()
 

Public Attributes

std::vector< char * > vargv
 
char ** argv
 
int argc
 

Private Member Functions

 NidasAppArgv (const NidasAppArgv &)
 
NidasAppArgvoperator= (const NidasAppArgv &)
 

Detailed Description

Convert vector<string> args to dynamically allocated (argc, argv) pair which will be freed when the instance is destroyed.

This is useful for passing leftover NidasApp command-line arguments to getopt() functions. The argv array includes the process name, as expected by getopt().

NidasApp app('data_dump');
// Parse standard arguments and leave the rest.
ArgVector args = app.parseArgs(ArgVector(argv, argv+argc));
NidasAppArgv left(argv[0], args);
int opt_char;
while ((opt_char = getopt(left.argc, left.argv, "...")) != -1) {
...
}

Constructor & Destructor Documentation

nidas::core::NidasAppArgv::NidasAppArgv ( const std::string &  argv0,
const std::vector< std::string > &  args 
)
inline

References argc, argv, and vargv.

nidas::core::NidasAppArgv::~NidasAppArgv ( )
inline

References argc, and vargv.

nidas::core::NidasAppArgv::NidasAppArgv ( const NidasAppArgv )
private

Member Function Documentation

NidasAppArgv& nidas::core::NidasAppArgv::operator= ( const NidasAppArgv )
private
ArgVector nidas::core::NidasAppArgv::unparsedArgs ( int  optindex)
inline

Given the opt index after getopt() finishes, return a vector of any remaining arguments, suitable for passing to NidasApp::parseInputs().

References vargv.

Referenced by StatsProcess::parseRunstring().

Member Data Documentation

int nidas::core::NidasAppArgv::argc
char** nidas::core::NidasAppArgv::argv
std::vector<char*> nidas::core::NidasAppArgv::vargv

The documentation for this struct was generated from the following file: