ewmscp  ..
Public Member Functions | Static Public Member Functions | List of all members
options::internal::positional_base Class Reference

#include <Options.h>

Inheritance diagram for options::internal::positional_base:
[legend]

Public Member Functions

 positional_base (int aOrderingNumber, base *aAsBase)
 

Static Public Member Functions

static std::map< int, base * > & fGetPositonalArgs ()
 

Detailed Description

Definition at line 345 of file Options.h.

Constructor & Destructor Documentation

◆ positional_base()

options::internal::positional_base::positional_base ( int  aOrderingNumber,
base aAsBase 
)

Definition at line 70 of file Options.cpp.

71  {
72  if (aAsBase->fIsContainer()) {
73  for (const auto& it : fGetPositonalArgs()) {
74  if (it.second->fIsContainer()) {
75  throw std::logic_error("only one container type option allowed");
76  }
77  }
78  }
79  auto result = fGetPositonalArgs().emplace(aOrderingNumber, aAsBase);
80  if (result.second == false) {
81  throw std::logic_error("non-unique numbered positional arg");
82  }
83  };

References fGetPositonalArgs(), and options::base::fIsContainer().

Here is the call graph for this function:

Member Function Documentation

◆ fGetPositonalArgs()

static std::map<int, base*>& options::internal::positional_base::fGetPositonalArgs ( )
inlinestatic

Definition at line 349 of file Options.h.

349  {
350  static std::map<int, base*> gPositinalArgs;
351  return gPositinalArgs;
352  }

Referenced by options::parser::fHelp(), options::parser::fParse(), and positional_base().

Here is the caller graph for this function:

The documentation for this class was generated from the following files:
options::internal::positional_base::fGetPositonalArgs
static std::map< int, base * > & fGetPositonalArgs()
Definition: Options.h:349