vg
tools for working with variation graphs
Loading...
Searching...
No Matches
vg::Option< vector< Item >, Parser > Class Template Reference

#include <option.hpp>

Inheritance diagram for vg::Option< vector< Item >, Parser >:
vg::BaseOption< vector< Item >, Parser > vg::BaseOption< vector< Item >, Parser > vg::OptionInterface vg::OptionInterface

Public Types

using Value = vector<Item>

Public Member Functions

 Option ()=delete
virtual ~Option ()=default
size_t size () const
bool empty () const
Value::value_type & at (size_t i)
const Value::value_type & at (size_t i) const
Value::iterator begin ()
Value::iterator end ()
Value::const_iterator begin () const
Value::const_iterator end () const
Public Member Functions inherited from vg::BaseOption< vector< Item >, Parser >
 BaseOption ()=delete
virtual ~BaseOption ()=default
BaseOption< vector< Item >, Parser > & operator= (const BaseOption< vector< Item >, Parser > &other)=default
 operator vector< Item > & ()
virtual const string & get_long_option () const
virtual const string & get_short_options () const
virtual const string & get_description () const
virtual string get_default_value () const
virtual bool has_argument () const
virtual void parse ()
Public Member Functions inherited from vg::OptionInterface
virtual void parse (const string &arg)=0
virtual ~OptionInterface ()=default

Additional Inherited Members

Protected Attributes inherited from vg::BaseOption< vector< Item >, Parser >
string long_opt
 What is the options's long option name.
string short_opts
 What is the option's short option name.
string description
 How is this option described to the user?
vector< Item > value
vector< Item > default_value

Detailed Description

template<typename Item, typename Parser>
class vg::Option< vector< Item >, Parser >

Specialize and add vector methods. TODO: magically autodetect if a container type has things and expose them. TODO: switch to operator* and operator->.

Member Typedef Documentation

◆ Value

template<typename Item, typename Parser>
using vg::Option< vector< Item >, Parser >::Value = vector<Item>

Constructor & Destructor Documentation

◆ Option()

template<typename Item, typename Parser>
vg::Option< vector< Item >, Parser >::Option ( )
delete

◆ ~Option()

template<typename Item, typename Parser>
virtual vg::Option< vector< Item >, Parser >::~Option ( )
virtualdefault

Member Function Documentation

◆ at() [1/2]

template<typename Item, typename Parser>
Value::value_type & vg::Option< vector< Item >, Parser >::at ( size_t i)
inline

◆ at() [2/2]

template<typename Item, typename Parser>
const Value::value_type & vg::Option< vector< Item >, Parser >::at ( size_t i) const
inline

◆ begin() [1/2]

template<typename Item, typename Parser>
Value::iterator vg::Option< vector< Item >, Parser >::begin ( )
inline

◆ begin() [2/2]

template<typename Item, typename Parser>
Value::const_iterator vg::Option< vector< Item >, Parser >::begin ( ) const
inline

◆ empty()

template<typename Item, typename Parser>
bool vg::Option< vector< Item >, Parser >::empty ( ) const
inline

◆ end() [1/2]

template<typename Item, typename Parser>
Value::iterator vg::Option< vector< Item >, Parser >::end ( )
inline

◆ end() [2/2]

template<typename Item, typename Parser>
Value::const_iterator vg::Option< vector< Item >, Parser >::end ( ) const
inline

◆ size()

template<typename Item, typename Parser>
size_t vg::Option< vector< Item >, Parser >::size ( ) const
inline

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