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

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

#include <value_arg.hpp>

Private Member Functions

int extractValue (const std::string &val)
 
 ValueExtractor (T &value)
 

Private Attributes

T & _value
 

Friends

class ValueArg< T >
 

Detailed Description

template<class T>
class ecl::ValueArgHelper::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 specialised function puts it in the T segment, thus generating link errors. Having a specialised 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 53 of file value_arg.hpp.

Constructor & Destructor Documentation

◆ ValueExtractor()

template<class T >
ecl::ValueArgHelper::ValueExtractor< T >::ValueExtractor ( T &  value)
inlineprivate

Constructor.

Parameters
value- Where the value extracted will be put.

Definition at line 69 of file value_arg.hpp.

Member Function Documentation

◆ extractValue()

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

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

Parameters
val- Where the value parsed will be put.

Definition at line 76 of file value_arg.hpp.

Friends And Related Function Documentation

◆ ValueArg< T >

template<class T >
friend class ValueArg< T >
friend

Definition at line 55 of file value_arg.hpp.

Member Data Documentation

◆ _value

template<class T >
T& ecl::ValueArgHelper::ValueExtractor< T >::_value
private

Reference to the value where the result of the extraction will be put.

Definition at line 63 of file value_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