libpniio
Public Types | Public Member Functions | Data Fields
pni::io::complex_rule< ITERT, CTYPE > Struct Template Reference

complex number rule More...

#include <complex_rule.hpp>

Inheritance diagram for pni::io::complex_rule< ITERT, CTYPE >:
Inheritance graph
[legend]
Collaboration diagram for pni::io::complex_rule< ITERT, CTYPE >:
Collaboration graph
[legend]

Public Types

typedef CTYPE result_type
 result type of the rule More...
 
typedef pni::core::type_info
< result_type >::base_type 
base_t
 base type of the complex number type More...
 

Public Member Functions

 complex_rule ()
 default constructor More...
 

Data Fields

boost::mpl::at< spirit_rules,
base_t >::type 
base_rule
 rule to parse the base type More...
 
boost::spirit::qi::rule< ITERT,
base_t()> 
number_rule
 rule matching a single numeric value More...
 
boost::spirit::qi::rule< ITERT,
base_t()> 
sign_rule
 rule obtaining the sign More...
 
boost::spirit::qi::rule< ITERT > i_rule
 rule matching the separator i,j,I More...
 
boost::spirit::qi::rule< ITERT,
base_t()> 
imag_rule
 rule determining the imaginary part More...
 
boost::spirit::qi::rule< ITERT,
boost::spirit::qi::locals
< base_t, base_t, base_t >
, result_type()> 
complex_
 rule defining the entire complex number More...
 

Detailed Description

template<typename ITERT, typename CTYPE>
struct pni::io::complex_rule< ITERT, CTYPE >

This rule can be used to parse complex numbers. Complex numbers are represented as A(+|-)(I|i|j)B or, if only imaginary, as (+|-)(I|i|j)B. The imaginary part is denoted either by i, j, or I. No blanks are allowed between real and imaginary part.

Template Parameters
ITERTiterator type
CTYPEcomplex type

Member Typedef Documentation

template<typename ITERT, typename CTYPE>
typedef pni::core::type_info<result_type>::base_type pni::io::complex_rule< ITERT, CTYPE >::base_t
template<typename ITERT, typename CTYPE>
typedef CTYPE pni::io::complex_rule< ITERT, CTYPE >::result_type

Constructor & Destructor Documentation

template<typename ITERT, typename CTYPE>
pni::io::complex_rule< ITERT, CTYPE >::complex_rule ( )
inline

Field Documentation

template<typename ITERT, typename CTYPE>
boost::mpl::at<spirit_rules,base_t>::type pni::io::complex_rule< ITERT, CTYPE >::base_rule
template<typename ITERT, typename CTYPE>
boost::spirit::qi::rule<ITERT, boost::spirit::qi::locals<base_t, base_t, base_t>, result_type()> pni::io::complex_rule< ITERT, CTYPE >::complex_
template<typename ITERT, typename CTYPE>
boost::spirit::qi::rule<ITERT> pni::io::complex_rule< ITERT, CTYPE >::i_rule
template<typename ITERT, typename CTYPE>
boost::spirit::qi::rule<ITERT,base_t()> pni::io::complex_rule< ITERT, CTYPE >::imag_rule
template<typename ITERT, typename CTYPE>
boost::spirit::qi::rule<ITERT,base_t()> pni::io::complex_rule< ITERT, CTYPE >::number_rule
template<typename ITERT, typename CTYPE>
boost::spirit::qi::rule<ITERT,base_t()> pni::io::complex_rule< ITERT, CTYPE >::sign_rule

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