Private Member Functions | Private Attributes | Friends | List of all members
ecl::MultiArgHelper::ValueExtractor< T > Class Template Reference

TClap class internally used for extracting value args. More...

#include <multi_arg.hpp>

Private Member Functions

int extractValue (const std::string &val)
 
 ValueExtractor (std::vector< T > &values)
 

Private Attributes

std::vector< T > & _values
 

Friends

class MultiArg< T >
 

Detailed Description

template<class T>
class ecl::MultiArgHelper::ValueExtractor< T >

TClap class internally used for extracting value args.

This class is used to extract a value from an argument. It is used because we need a special implementation to deal with std::string and making a specialiced function puts it in the T segment, thus generating link errors. Having a specialiced class makes the symbols weak. This is not pretty but I don't know how to make it work any other way.

Definition at line 54 of file multi_arg.hpp.

Constructor & Destructor Documentation

◆ ValueExtractor()

template<class T >
ecl::MultiArgHelper::ValueExtractor< T >::ValueExtractor ( std::vector< T > &  values)
inlineprivate

Constructor.

Parameters
values- Where the values extracted will be put.

Definition at line 70 of file multi_arg.hpp.

Member Function Documentation

◆ extractValue()

template<class T >
int ecl::MultiArgHelper::ValueExtractor< T >::extractValue ( const std::string &  val)
inlineprivate

Method that will attempt to parse the input stream for values of type T.

Parameters
val- Where the values parsed will be put.

Definition at line 77 of file multi_arg.hpp.

Friends And Related Function Documentation

◆ MultiArg< T >

template<class T >
friend class MultiArg< T >
friend

Definition at line 56 of file multi_arg.hpp.

Member Data Documentation

◆ _values

template<class T >
std::vector<T>& ecl::MultiArgHelper::ValueExtractor< T >::_values
private

Reference to the vector of values where the result of the extraction will be put.

Definition at line 64 of file multi_arg.hpp.


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


ecl_command_line
Author(s): Daniel Stonier
autogenerated on Wed Mar 2 2022 00:16:13