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

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

#include <value_arg.hpp>

List of all members.

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

template<class T>
ecl::ValueArgHelper::ValueExtractor< T >::ValueExtractor ( T &  value) [inline, private]

Constructor.

Parameters:
value- Where the value extracted will be put.

Definition at line 69 of file value_arg.hpp.


Member Function Documentation

template<class T>
int ecl::ValueArgHelper::ValueExtractor< T >::extractValue ( const std::string &  val) [inline, private]

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

template<class T>
friend class ValueArg< T > [friend]

Definition at line 55 of file value_arg.hpp.


Member Data Documentation

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 Thu Jun 6 2019 21:17:18