mtl Namespace Reference

Main name space for Matrix Template Library. More...

Namespaces

namespace  ashape
 

Namespace for algebraic shapes; used for sophisticated dispatching between operations.


namespace  assign
 

Namespace for static assignment functors.


namespace  complexity_classes
 

Namespace for complexity classes.


namespace  concept
 

Namespace for concepts.


namespace  fixed
 

Namespace for compile-time parameters, e.g. matrix dimensions.


namespace  io
 

Namespace for I/O operations.


namespace  matrix
 

Namespace for matrices and views and operations exclusively on matrices.


namespace  non_fixed
 

Namespace for run-time parameters, e.g. matrix dimensions.


namespace  operations
 

Namespace for operations (if not defined in mtl).


namespace  recursion
 

Namespace for recursive operations and types with recursive memory layout.


namespace  sfunctor
 

Namespace for functors with static function apply and fully typed paramaters.


namespace  tag
 

Namespace for tags used for concept-free dispatching.


namespace  tfunctor
 

Namespace for functors with application operator and fully typed paramaters.


namespace  traits
 

Namespace for type traits.


namespace  utility
 

Namespace for utilities.


namespace  vector
 

Namespace for vectors and views and operations exclusively on vectors.


namespace  wrec
 

Namespace for implementations using recursators.


Classes

struct  Collection
 Concept Collection. More...
struct  MutableCollection
 Concept MutableCollection. More...
struct  ConstantSizeCollection
 Concept ConstantSizeCollection: size parameters of collection are completely given at compile time. More...
struct  AlgebraicCollection
 Concept AlgebraicCollection: common requirements of matrices, vectors, and scalars in computations. More...
struct  ConstantSizeAlgebraicCollection
 Concept ConstantSizeAlgebraicCollection: extension of AlgebraicCollection with meta-functions. More...
struct  TraversableCollection
 Concept TraversableCollection: collections that can be traversed by cursor or iterator. More...
struct  TraversableMutableCollection
 Concept TraversableMutableCollection: collections that can be traversed by (mutable) iterator. More...
struct  OrientedCollection
 Concept OrientedCollection: collections with concept-awareness in terms of associated type. More...
struct  Collection< dense2D< Value, Parameters > >
struct  Collection< mtl::matrix::morton_dense< Value, Mask, Parameters > >
struct  Collection< compressed2D< Value, Parameters > >
struct  Collection< multi_vector< Vector > >
struct  Collection< matrix::scaled_view< Scaling, Coll > >
struct  Collection< matrix::rscaled_view< Coll, RScaling > >
struct  Collection< vector::scaled_view< Scaling, Coll > >
struct  Collection< vector::rscaled_view< Coll, RScaling > >
struct  Collection< matrix::conj_view< Coll > >
struct  Collection< vector::conj_view< Coll > >
struct  Collection< vector::map_view< Functor, Coll > >
struct  Collection< transposed_view< Matrix > >
struct  Collection< matrix::hermitian_view< Matrix > >
struct  Collection< matrix::banded_view< Coll > >
struct  Collection< traits::detail::sub_matrix_cursor< Matrix, Tag, level > >
struct  Collection< mtl::vector::dense_vector< Value, Parameters > >
struct  Collection< mtl::vector::strided_vector_ref< Value, Parameters > >
struct  Collection< T const >
struct  Collection< std::vector< Value > >
struct  MutableCollection< dense2D< Value, Parameters > >
struct  MutableCollection< morton_dense< Value, Mask, Parameters > >
struct  MutableCollection< mtl::vector::strided_vector_ref< Value, Parameters > >
struct  MutableCollection< std::vector< Value > >
struct  OrientedCollection< dense2D< Value, Parameters > >
struct  OrientedCollection< morton_dense< Value, Mask, Parameters > >
struct  OrientedCollection< compressed2D< Value, Parameters > >
struct  OrientedCollection< mtl::vector::dense_vector< Value, Parameters > >
struct  OrientedCollection< mtl::vector::strided_vector_ref< Value, Parameters > >
struct  OrientedCollection< std::vector< Value > >
struct  OrientedCollection< matrix::scaled_view< Scaling, Coll > >
struct  OrientedCollection< matrix::rscaled_view< Coll, RScaling > >
struct  OrientedCollection< mtl::vector::scaled_view< Scaling, Coll > >
struct  OrientedCollection< mtl::vector::rscaled_view< Coll, RScaling > >
struct  OrientedCollection< matrix::conj_view< Coll > >
struct  OrientedCollection< mtl::vector::conj_view< Coll > >
struct  OrientedCollection< mtl::vector::map_view< Functor, Coll > >
struct  OrientedCollection< transposed_view< Coll > >
struct  OrientedCollection< matrix::hermitian_view< Coll > >
struct  Magnitude
 Concept/Type-trait for magnitudes of scalar values. More...
struct  Magnitude< std::complex< T > >
 Specialization for complex numbers. More...
struct  RealMagnitude
struct  Matrix
 Concept Matrix. More...
struct  MatrixInserter
 Concept MatrixInserter: classes that enable efficient insertion into matrices, esp. compressed sparse. More...
struct  InsertableMatrix
 Concept InsertableMatrix: matrix that can be filled by means of inserter. More...
struct  MutableMatrix
 Concept MutableMatrix. More...
struct  ConstantSizeMatrix
 Concept ConstantSizeMatrix. More...
struct  ResizeableMatrix
 Concept ResizeableMatrix. More...
struct  RowTraversableMatrix
 Concept RowTraversableMatrix: provides begin and end cursor to traverse rows. More...
struct  ColumnTraversableMatrix
 Concept ColumnTraversableMatrix: provides begin and end cursor to traverse columns. More...
struct  MajorTraversableMatrix
 Concept MajorTraversableMatrix: traversable on major dimension. More...
struct  MinorTraversableMatrix
 Concept MinorTraversableMatrix: traversable on minor dimension. More...
struct  AllTraversableMatrix
 Concept AllTraversableMatrix: provides traversion over all elements. More...
struct  NonZeroTraversableSubMatrix
 Concept NonZeroTraversableSubMatrix: provides traversion of non-zero in rows or columns of matrices. More...
struct  IteratableSubMatrix
 Concept IteratableSubMatrix: provides iteration over elements within rows or columns of matrices. More...
struct  StaticUnaryFunctor
 Concept/Type-trait for static unary functors. More...
struct  StaticBinaryFunctor
 Concept/Type-trait for static binary functors. More...
class  Addable
 Concept Addable: Binary operation. More...
class  Subtractable
 Concept Subtractable: Binary operation. More...
class  Multiplicable
 Concept Multiplicable: Binary operation. More...
class  Divisible
 Concept Divisible: Binary operation. More...
struct  UnaryFunctor
 Concept UnaryFunctor. More...
struct  UnaryStaticFunctor
 Concept UnaryStaticFunctor. More...
struct  BinaryFunctor
 Concept BinaryFunctor. More...
struct  BinaryStaticFunctor
 Concept BinaryStaticFunctor. More...
struct  Vector
 Concept Vector. More...
struct  MutableVector
 Concept MutableVector. More...
struct  ConstantSizeVector
 Concept ConstantSizeVector. More...
struct  is_clonable< detail::contiguous_memory_block< Value, OnStack, Size > >
struct  is_clonable< mtl::dense2D< Value, Parameters > >
struct  is_clonable< morton_dense< Value, BitMask, Parameters > >
struct  bin_op_expr
 Minimalistic expression template for binary operation: keeps only references. More...
struct  clone_ctor
struct  is_clonable
struct  ColumnInMatrix
 Type of column in matrix as vector if accessible. More...
struct  ColumnInMatrix< dense2D< Value, Parameters > >
struct  ColumnInMatrix< const dense2D< Value, Parameters > >
struct  gen_cursor_dmat_dmat_mult_ft
struct  gen_cursor_dmat_dmat_mult_t
struct  gen_dmat_dmat_mult_ft
struct  gen_dmat_dmat_mult_t
struct  gen_tiling_dmat_dmat_mult_block
struct  gen_tiling_dmat_dmat_mult_block< Max0, Max0, Max1, Max1, Assign >
struct  gen_tiling_dmat_dmat_mult_ft
struct  gen_tiling_dmat_dmat_mult_t
struct  gen_tiling_44_dmat_dmat_mult_ft
struct  gen_tiling_44_dmat_dmat_mult_t
struct  gen_tiling_22_dmat_dmat_mult_ft
struct  gen_tiling_22_dmat_dmat_mult_t
struct  gen_recursive_dmat_dmat_mult_t
struct  gen_platform_dmat_dmat_mult_ft
struct  gen_platform_dmat_dmat_mult_t
struct  gen_blas_dmat_dmat_mult_ft
struct  gen_blas_dmat_dmat_mult_t
struct  size_switch_dmat_dmat_mult_t
struct  static_switch_dmat_dmat_mult_t
struct  fully_unroll_dmat_dmat_mult_init_block
struct  fully_unroll_dmat_dmat_mult_init_block< Max0, Max0, Max1, Max1, Assign >
struct  fully_unroll_dmat_dmat_mult_block
struct  fully_unroll_dmat_dmat_mult_block< Max0, Max0, Max1, Max1, Max2, Max2, Assign >
struct  fully_unroll_fixes_size_dmat_dmat_mult_t
struct  mat_cvec_times_expr
struct  multi_action_helper
struct  multi_action_helper< MultiAction, MaxSteps, 1 >
struct  multi_action_block
struct  no_op
struct  seed
struct  RowInMatrix
 Type of row in matrix as vector if accessible. More...
struct  RowInMatrix< mtl::matrix::dense2D< Value, Parameters > >
struct  RowInMatrix< const dense2D< Value, Parameters > >
struct  static_num_cols
 Number of columns given at compile time. More...
struct  static_num_cols< Value[Size]>
 static_num_cols implementation for (1D) arrays interpreted as vectors More...
struct  static_num_cols< Value[Rows][Cols]>
 static_num_cols implementation for (2D and higher) arrays interpreted as matrices More...
struct  static_num_cols< vector::fixed::dimension< Size > >
struct  static_num_cols< mtl::vector::dense_vector< V, P > >
struct  static_num_cols< fixed::dimensions< Rows, Cols > >
struct  static_num_cols< mtl::matrix::dense2D< V, P > >
struct  static_num_cols< mtl::matrix::morton_dense< V, M, P > >
struct  static_num_cols< mtl::matrix::compressed2D< V, P > >
struct  static_num_rows
 Number of rows given at compile time. More...
struct  static_num_rows< Value[Size]>
 static_num_rows implementation for (1D) arrays interpreted as vectors More...
struct  static_num_rows< Value[Rows][Cols]>
 static_num_rows implementation for (2D and higher) arrays interpreted as matrices More...
struct  static_num_rows< vector::fixed::dimension< Size > >
struct  static_num_rows< mtl::vector::dense_vector< V, P > >
struct  static_num_rows< fixed::dimensions< Rows, Cols > >
struct  static_num_rows< mtl::matrix::dense2D< V, P > >
struct  static_num_rows< mtl::matrix::morton_dense< V, M, P > >
struct  static_num_rows< mtl::matrix::compressed2D< V, P > >
struct  static_size
 Number of rows times columns given at compile time. More...
struct  lsb_mask
struct  lsb_mask< 0 >
struct  lsb_bits
 Last N bits of Value. More...
struct  same_mask
 Compares two masks. More...
struct  same_mask< Mask, Mask >
struct  row_major_mask
 Row-major mask for 2^K by 2^K base case. More...
struct  col_major_mask
 Column-major mask for 2^K by 2^K base case. More...
struct  is_k_power_base_case_row_major
 Checks whether 2^K by 2^K base case of hybric matrix, defined by Mask, is a row-major matrix. More...
struct  is_k_power_base_case_col_major
 Checks whether 2^K by 2^K base case of hybric matrix, defined by Mask, is a column-major matrix. More...
struct  is_32_base_case_row_major
 Checks whether 32x32 base case of hybric matrix, defined by Mask, is a row-major matrix. More...
struct  is_32_base_case_col_major
 Checks whether 32x32 base case of hybric matrix, defined by Mask, is a col-major matrix. More...
struct  row_major_shark_mask
 Row-major mask for 2^K by 2^K base case with 2^T shark teeth. More...
struct  col_major_shark_mask
 Row-major mask for 2^K by 2^K base case with 2^T shark teeth. More...
struct  is_k_power_base_case_row_major_t_shark
struct  is_k_power_base_case_col_major_t_shark
struct  i_order_mask
 N-order mask of N bits. More...
struct  i_order_mask< 0 >
struct  z_order_mask
 Z-order mask of N bits. More...
struct  z_order_mask< 0 >
class  generate_mask
struct  dense_el_cursor
 Cursor over every element of matrix, matrix row/column, or vector. More...
struct  index_out_of_range
 Exception for indices out of range. More...
struct  range_error
 Exception for invalid range definitions, esp. in constructors. More...
struct  domain_error
 Domain errors in MTL4. More...
struct  incompatible_size
 Exception for arguments with incompatible sizes. More...
struct  change_static_size
 Exception for trying to change a fixed size (to another value). More...
struct  argument_result_conflict
 Exception for arguments with incompatible shapes, e.g. adding matrices and vectors. More...
struct  incompatible_shape
 Exception for arguments with incompatible shapes, e.g. adding matrices and vectors. More...
struct  matrix_not_square
 Exception for arguments with incompatible sizes. More...
struct  matrix_too_small
 Exception for matrices too small for certain algorithms. More...
struct  matrix_singular
 Exception for singular matrices in solvers. More...
struct  missing_diagonal
 Exception for arguments with incompatible sizes. More...
struct  access_during_insertion
 Accessing (illegally) matrix or vector during insertion phase (dense non-distributed can be accessed always). More...
struct  unexpected_result
 Exception for a result that is not what it should be. More...
struct  runtime_error
 Exception for run-time errors that doesn't fit into specific categories. More...
struct  logic_error
 Exception for logic errors that doesn't fit into specific categories. More...
class  irange
 Class to define a half open index ranges. More...
struct  make_in_copy_or_reference
 Helper class to avoid avoidable copies for input parameters. More...
struct  make_in_copy_or_reference< Target, Target >
struct  make_out_copy_or_reference
 Helper class to avoid avoidable copies for output parameters. More...
struct  make_out_copy_or_reference< Target, Target >
struct  make_in_out_copy_or_reference
 Helper class to avoid avoidable copies for input-output parameters. More...
struct  make_in_out_copy_or_reference< Target, Target >
struct  strided_dense_el_cursor
 Cursor going in strides over element of matrix, matrix row/column, or vector. More...
struct  strided_dense_el_const_iterator
 Iterator going in strides over element of matrix, matrix row/column, or vector. More...
struct  strided_dense_el_iterator
 Iterator going in strides over element of matrix, matrix row/column, or vector. More...

Functions

template<class Tag , class Collection >
traits::range_generator< Tag,
Collection >::type 
begin (Collection const &c)
 Returns begin cursor over the Collection or a subset of the Collection.
template<class Tag , class Collection >
traits::range_generator< Tag,
Collection >::type 
end (Collection const &c)
 Corresponding end cursor.
template<typename Collection >
void swap (Collection &c1, Collection &c2)
 Free function defined for all matrix and vector types.
template<typename Vector , typename Functor >
void assign_each_nonzero (Vector &v, const Functor &f, tag::vector)
template<typename Matrix , typename Functor >
void assign_each_nonzero (Matrix &m, const Functor &f, tag::matrix)
template<typename Collection , typename Functor >
void assign_each_nonzero (Collection &c, const Functor &f)
 Assign f(i) to each non-zero i in collection c.
template<typename T >
boost::enable_if< is_clonable
< T >, T >::type 
clone (const T &x)
 Move-semantics-related anti-dot: always copy in constructor.
template<typename Value >
sfunctor::real< Value >
::result_type 
real (const Value &v)
 real part of scalars (including non-complex)
template<typename Value >
sfunctor::imag< Value >
::result_type 
imag (const Value &v)
 imaginary part of scalars (including non-complex)
template<typename Value >
sfunctor::signum< Value >
::result_type 
signum (const Value &v)
 sign of scalars; for complex numbers sign of real part
template<typename Updater , typename MatrixSrc , typename MatrixDest >
void gen_matrix_copy (const MatrixSrc &src, MatrixDest &dest, bool with_reset)
template<typename MatrixSrc , typename MatrixDest >
void matrix_copy (const MatrixSrc &src, MatrixDest &dest)
 Copy matrix src into matrix dest.
template<typename MatrixSrc , typename MatrixDest >
void matrix_copy_plus (const MatrixSrc &src, MatrixDest &dest)
 Add matrix src to matrix dest in copy-like style.
template<typename MatrixSrc , typename MatrixDest >
void matrix_copy_minus (const MatrixSrc &src, MatrixDest &dest)
 Subtract matrix src from matrix dest in copy-like style.
template<typename MatrixSrc , typename MatrixDest >
void matrix_copy_ele_times (const MatrixSrc &src, MatrixDest &dest)
 Multiply matrix src element-wise with matrix dest in copy-like style.
template<typename MatrixSrc , typename MatrixDest >
void copy (const MatrixSrc &src, tag::matrix, MatrixDest &dest, tag::matrix)
template<typename Updater , typename VectorSrc , typename VectorDest >
void gen_vector_copy (const VectorSrc &src, VectorDest &dest, bool with_reset)
template<typename VectorSrc , typename VectorDest >
void vector_copy (const VectorSrc &src, VectorDest &dest)
 Copy vector src into vector dest.
template<typename VectorSrc , typename VectorDest >
void vector_copy_plus (const VectorSrc &src, VectorDest &dest)
 Add vector src to vector dest in copy-like style.
template<typename VectorSrc , typename VectorDest >
void vector_copy_minus (const VectorSrc &src, VectorDest &dest)
 Subtract vector src from vector dest in copy-like style.
template<typename VectorSrc , typename VectorDest >
void copy (const VectorSrc &src, tag::vector, VectorDest &dest, tag::vector)
template<typename CollSrc , typename CollDest >
void copy (const CollSrc &src, CollDest &dest)
template<unsigned MaxDepth, typename Value , typename Cursor1 , typename Prop1 , typename Cursor2 , typename Prop2 >
Value cursor_pseudo_dot (Cursor1 i1, Cursor1 end1, Prop1 prop1, Cursor2 i2, Prop2 prop2, Value)
template<typename Factor , typename Collection >
void divide_by_inplace (Collection &c, const Factor &alpha, tag::scalar)
 Divide collection c (from right) by scalar factor alpha; c is altered.
template<typename Factor , typename Collection >
void divide_by_inplace (Collection &c, const Factor &alpha)
 Divide collection c (from right) by factor alpha; c is altered.
template<class Matrix >
void fill (Matrix &ma, typename Matrix::value_type value)
template<typename Collection >
traits::num_cols< Collection >
::type 
num_cols (const Collection &c)
 num_cols function for non-MTL types (uses implicit enable_if), 1D interpreted as Column vector
template<typename Collection >
traits::num_rows< Collection >
::type 
num_rows (const Collection &c)
 num_rows function for non-MTL types (uses implicit enable_if), 1D interpreted as Column vector
template<unsigned long Unroll, typename Value >
Collection< Value >::value_type product (const Value &value)
 Returns product of all collection-entries (vector-entries).
template<typename Value >
Collection< Value >::value_type product (const Value &value)
template<typename Matrix , typename InputIterator >
void raw_copy (InputIterator first, InputIterator last, Matrix &matrix)
template<typename Factor , typename Collection >
void right_scale_inplace (Collection &c, const Factor &alpha, tag::scalar)
 Scale collection c from right with scalar factor alpha; c is altered.
template<typename Factor , typename Matrix >
void right_scale_inplace (Matrix &m, tag::matrix, const Factor &alpha, tag::matrix)
template<typename Factor , typename Collection >
void right_scale_inplace (Collection &c, const Factor &alpha, tag::matrix)
 Scale collection c from right with matrix factor alpha; c is altered.
template<typename Factor , typename Collection >
void right_scale_inplace (Collection &c, const Factor &alpha)
 Scale collection c from right with factor alpha; c is altered.
template<typename Collection >
traits::size< Collection >::type size (const Collection &c)
 size function for non-MTL types (uses implicit enable_if)
template<typename Vector >
traits::size< Vector >::type size1D (const Vector &v)
 One-dimensional size function.
template<typename MatrixA , typename MatrixB , typename MatrixC , typename Assign >
void smat_smat_mult (const MatrixA &a, const MatrixB &b, MatrixC &c, Assign, tag::row_major, tag::row_major)
template<typename MatrixA , typename MatrixB , typename MatrixC , typename Assign >
void smat_smat_mult (const MatrixA &a, const MatrixB &b, MatrixC &c, Assign, tag::col_major, tag::col_major)
template<typename MatrixA , typename MatrixB , typename MatrixC , typename Assign >
void smat_smat_mult (const MatrixA &a, const MatrixB &b, MatrixC &c, Assign, tag::col_major, tag::row_major)
template<typename MatrixA , typename MatrixB , typename MatrixC , typename Assign >
void smat_smat_mult (const MatrixA &a, const MatrixB &b, MatrixC &c, Assign, tag::row_major, tag::col_major)
template<unsigned long Unroll, typename Value >
Collection< Value >::value_type sum (const Value &value)
 Return sum of all vector-entries.
template<typename Value >
Collection< Value >::value_type sum (const Value &value)
irange intersection (irange const &r1, irange const &r2)
template<class Tag , class Collection >
traits::range_generator< Tag,
Collection >::type 
begin (Collection &c)
template<class Tag , class Collection >
traits::range_generator< Tag,
Collection >::type 
end (Collection &c)
template<class Tag , class Coll >
traits::range_generator< Tag,
Coll >::type 
lower_bound (Coll const &c, typename Collection< Coll >::size_type position)
 Cursor to an element with index equal or larger than position in a one-dimensional traversion.
template<class Tag , class Coll >
traits::range_generator< Tag,
Coll >::type 
lower_bound (Coll &c, typename Collection< Coll >::size_type position)
template<typename Value , typename Allocator >
void shrink_stl_vector (std::vector< Value, Allocator > &v)
 Shrink memory consumption of an STL vector to its size.
template<typename EnumType , typename Array >
EnumType string_to_enum (const std::string &s, const Array &l, EnumType)

Variables

const std::size_t imax = std::numeric_limits<std::size_t>::max()
 Maximal index.

Detailed Description

Main name space for Matrix Template Library.


Function Documentation

template<class Tag , class Collection >
traits::range_generator< Tag, Collection >::type mtl::begin ( Collection const &  c  )  [inline]

Returns begin cursor over the Collection or a subset of the Collection.

Form of traversal depends on Tag, cf utility/glas_tag.hpp On nested traversals, cursors of level > 1 must provide at least one range generator

template<typename T >
boost::disable_if< is_clonable< T >, T >::type mtl::clone ( const T &  x  )  [inline]

Move-semantics-related anti-dot: always copy in constructor.

Some collections have referring semantics in copy constructors, e.g. sub-matrices. That means

        Matrix B= sub_matrix(A, ...); 

creates a sub-matrix of A in B. As a consequence, changes in B modify A and vice versa (unless it's outside the sub-matrix). In contrast, clone forces the copy semantics

        Matrix B= clone(sub_matrix(A, ...)); 

B now contains the values of A's sub-matrix but is an independent matrix. Modifications to either A or B have no effect to each other. Requires that type T is declared clonable in terms of

        is_clonable<T> : boost::mpl::true_ {}; 
template<class Tag , class Coll >
traits::range_generator<Tag, Coll>::type mtl::lower_bound ( Coll const &  c,
typename Collection< Coll >::size_type  position 
) [inline]

Cursor to an element with index equal or larger than position in a one-dimensional traversion.

This function is only defined where Tag represents an obvious one-dimensional traversion of Collection allowing for an interpretation of position. Examples are tag::row for a dense matrix or row-major compressed matrix. tag::all regarding an entire matrix (i.e. going over all entries of a matrix) does not characterize a one-dimensional traversion so that position has no unique meaning. Traversing all entries of a matrix row is one-dimensional and position is understood as looking for a column index, i.e. lower_bound<tag::all>(row_cursor, 7) returns a cursor to a matrix element whose row is the one of row_cursor and whose column is 7. Likewise traversing all non-zeros of a row will return a cursor that points to an entry with according row index and column index at least 7. If the searched index could not be found in the one-dimensional collection the returned cursor will be identical to the one returned by the end function.

template<typename Vector >
traits::size<Vector>::type mtl::size1D ( const Vector &  v  )  [inline]

One-dimensional size function.

Returns size for MTL vectors, STL vector and C arrays. For multi_vector the number of vectors is returned. Not defined for other matrix types. Implementation for standard types uses implicit enable_if to avoid ambiguities.

template<typename EnumType , typename Array >
EnumType mtl::string_to_enum ( const std::string &  s,
const Array &  l,
EnumType   
) [inline]

Searches string s in list l of strings and returns enum

List l is given as array of const char*, which is the easiest to initialize. The search is case sensitive, thus (de)-capitalize your string upfront, e.g., with boost::to_lower(). If the string is not found then a runtime_error is thrown.

 All Classes Namespaces Functions Variables Typedefs Enumerations Friends
Generated by  doxygen 1.6.2-20100208