IArray< nam, rdOnly, N, Opts > Struct Template Reference

An array of N options. More...

#include "IOption.hpp"

+ Inheritance diagram for IArray< nam, rdOnly, N, Opts >:

Additional Inherited Members

- Public Types inherited from IContainer< nam, rdOnly, Opts... >
typedef NameT< nam > Name
 
typedef IGroup< nam, rdOnly, Opts... > Element
 
- Public Member Functions inherited from IContainer< nam, rdOnly, Opts... >
virtual std::size_t size () const=0
 The number of actual elements.
 
virtual const Elementall () const=0
 Access the default element. More...
 
virtual const Elementoperator[] (std::size_t idx) const=0
 Access an actual element.
 
- Public Member Functions inherited from IBase
virtual Names enumerator () const =0
 The option name as enumerator.
 
virtual String name () const =0
 The option name as string.
 
virtual String path () const =0
 The option name as string, preceded by the names of its parents, if any, interspersed with '.'.
 
virtual String shortDescription () const =0
 One-liner that describes this option.
 
virtual String longDescription () const =0
 Longer text that describes this option in more detail.
 
virtual bool readOnly () const =0
 Returns true if this or any of its parents is read-only.
 
virtual UsageLevel minUsageLevel () const =0
 For a leaf, this is its own usage level. For a node, this is the minimum usage level of all of its descendants: basic < mid < pro.
 
virtual Specs specialization () const =0
 The sub-type of this option.
 

Detailed Description

template<Names nam, bool rdOnly, std::size_t N, class... Opts>
struct opals::opts::IArray< nam, rdOnly, N, Opts >

An array of N options.

Template Parameters
namThe name of the array and its elements.
rdOnlyIf true, then this array provides only constant access to its elements. Otherwise, also non-constant.
NThe number of elements.
OptsThe sequence of group members.