sun::cli::ProgramArguments

sun::cli::ProgramArguments

class · Source (opens in a new tab)

class sun::cli::ProgramArguments

Owns the process arguments used to select and configure a compiler command.

Public Functions

ProgramArguments

ProgramArguments(const ProgramArguments &)=delete

public · function · Source (opens in a new tab)

sun::cli::ProgramArguments::ProgramArguments(const ProgramArguments &)=delete

The pointers refer into this object's own strings, so a copy or a move would leave them pointing at the wrong place.

ProgramArguments(const std::string &scriptName, const std::vector< std::string > &args)

public · function · Source (opens in a new tab)

sun::cli::ProgramArguments::ProgramArguments(const std::string &scriptName, const std::vector< std::string > &args)

scriptName becomes argv[0]; args follow it in order.

argc

public · function · Source (opens in a new tab)

int sun::cli::ProgramArguments::argc() const

Number of arguments, counting the script name but not the closing null.

argv

public · function · Source (opens in a new tab)

char ** sun::cli::ProgramArguments::argv()

The argument pointers, ending with a null pointer.

operator=

public · function · Source (opens in a new tab)

ProgramArguments & sun::cli::ProgramArguments::operator=(const ProgramArguments &)=delete

Disallows assignment so ownership and object identity cannot be duplicated.

Related: ProgramArguments

Private Fields

pointers_

private · variable · Source (opens in a new tab)

std::vector<char*> sun::cli::ProgramArguments::pointers_

No documentation comment.

storage_

private · variable · Source (opens in a new tab)

std::vector<std::string> sun::cli::ProgramArguments::storage_

No documentation comment.