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

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

#include <multi_arg.hpp>

List of all members.

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

template<class T>
ecl::MultiArgHelper::ValueExtractor< T >::ValueExtractor ( std::vector< T > &  values) [inline, private]

Constructor.

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

Definition at line 70 of file multi_arg.hpp.


Member Function Documentation

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

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

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

Definition at line 56 of file multi_arg.hpp.


Member Data Documentation

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 Mon Jul 3 2017 02:21:07