Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
binary.hpp File Reference
#include <boost/spirit/home/support/common_terminals.hpp>
#include <boost/spirit/home/support/detail/endian.hpp>
#include <boost/spirit/home/qi/detail/attributes.hpp>
#include <boost/spirit/home/qi/parser.hpp>
#include <boost/spirit/home/qi/meta_compiler.hpp>
#include <boost/spirit/home/qi/domain.hpp>
#include <boost/spirit/home/qi/detail/assign_to.hpp>
#include <boost/spirit/home/qi/skip_over.hpp>
#include <boost/fusion/include/at.hpp>
#include <boost/mpl/or.hpp>
#include <boost/type_traits/is_integral.hpp>
#include <boost/type_traits/is_enum.hpp>
#include <boost/type_traits/is_floating_point.hpp>
#include <boost/config.hpp>
Include dependency graph for binary.hpp:
This graph shows which files directly or indirectly include this file:

Classes

struct  boost::spirit::use_terminal< qi::domain, tag::byte_ >
 
struct  boost::spirit::use_terminal< qi::domain, terminal_ex< tag::byte_, fusion::vector1< A0 > > >
 
struct  boost::spirit::use_lazy_terminal< qi::domain, tag::byte_, 1 >
 
struct  boost::spirit::use_terminal< qi::domain, tag::word >
 
struct  boost::spirit::use_terminal< qi::domain, terminal_ex< tag::word, fusion::vector1< A0 > > >
 
struct  boost::spirit::use_lazy_terminal< qi::domain, tag::word, 1 >
 
struct  boost::spirit::use_terminal< qi::domain, tag::big_word >
 
struct  boost::spirit::use_terminal< qi::domain, terminal_ex< tag::big_word, fusion::vector1< A0 > > >
 
struct  boost::spirit::use_lazy_terminal< qi::domain, tag::big_word, 1 >
 
struct  boost::spirit::use_terminal< qi::domain, tag::little_word >
 
struct  boost::spirit::use_terminal< qi::domain, terminal_ex< tag::little_word, fusion::vector1< A0 > > >
 
struct  boost::spirit::use_lazy_terminal< qi::domain, tag::little_word, 1 >
 
struct  boost::spirit::use_terminal< qi::domain, tag::dword >
 
struct  boost::spirit::use_terminal< qi::domain, terminal_ex< tag::dword, fusion::vector1< A0 > > >
 
struct  boost::spirit::use_lazy_terminal< qi::domain, tag::dword, 1 >
 
struct  boost::spirit::use_terminal< qi::domain, tag::big_dword >
 
struct  boost::spirit::use_terminal< qi::domain, terminal_ex< tag::big_dword, fusion::vector1< A0 > > >
 
struct  boost::spirit::use_lazy_terminal< qi::domain, tag::big_dword, 1 >
 
struct  boost::spirit::use_terminal< qi::domain, tag::little_dword >
 
struct  boost::spirit::use_terminal< qi::domain, terminal_ex< tag::little_dword, fusion::vector1< A0 > > >
 
struct  boost::spirit::use_lazy_terminal< qi::domain, tag::little_dword, 1 >
 
struct  boost::spirit::use_terminal< qi::domain, tag::bin_float >
 
struct  boost::spirit::use_terminal< qi::domain, terminal_ex< tag::bin_float, fusion::vector1< A0 > > >
 
struct  boost::spirit::use_lazy_terminal< qi::domain, tag::bin_float, 1 >
 
struct  boost::spirit::use_terminal< qi::domain, tag::big_bin_float >
 
struct  boost::spirit::use_terminal< qi::domain, terminal_ex< tag::big_bin_float, fusion::vector1< A0 > > >
 
struct  boost::spirit::use_lazy_terminal< qi::domain, tag::big_bin_float, 1 >
 
struct  boost::spirit::use_terminal< qi::domain, tag::little_bin_float >
 
struct  boost::spirit::use_terminal< qi::domain, terminal_ex< tag::little_bin_float, fusion::vector1< A0 > > >
 
struct  boost::spirit::use_lazy_terminal< qi::domain, tag::little_bin_float, 1 >
 
struct  boost::spirit::use_terminal< qi::domain, tag::bin_double >
 
struct  boost::spirit::use_terminal< qi::domain, terminal_ex< tag::bin_double, fusion::vector1< A0 > > >
 
struct  boost::spirit::use_lazy_terminal< qi::domain, tag::bin_double, 1 >
 
struct  boost::spirit::use_terminal< qi::domain, tag::big_bin_double >
 
struct  boost::spirit::use_terminal< qi::domain, terminal_ex< tag::big_bin_double, fusion::vector1< A0 > > >
 
struct  boost::spirit::use_lazy_terminal< qi::domain, tag::big_bin_double, 1 >
 
struct  boost::spirit::use_terminal< qi::domain, tag::little_bin_double >
 
struct  boost::spirit::use_terminal< qi::domain, terminal_ex< tag::little_bin_double, fusion::vector1< A0 > > >
 
struct  boost::spirit::use_lazy_terminal< qi::domain, tag::little_bin_double, 1 >
 
struct  boost::spirit::qi::detail::integer< bits >
 
struct  boost::spirit::qi::detail::integer< 8 >
 
struct  boost::spirit::qi::detail::integer< 16 >
 
struct  boost::spirit::qi::detail::integer< 32 >
 
struct  boost::spirit::qi::detail::floating_point< bits >
 
struct  boost::spirit::qi::detail::floating_point< 32 >
 
struct  boost::spirit::qi::detail::floating_point< 64 >
 
struct  boost::spirit::qi::detail::what< bits >
 
struct  boost::spirit::qi::detail::what< boost::endian::endianness::native >
 
struct  boost::spirit::qi::detail::what< boost::endian::endianness::little >
 
struct  boost::spirit::qi::detail::what< boost::endian::endianness::big >
 
struct  boost::spirit::qi::any_binary_parser< T, endian, bits >
 
struct  boost::spirit::qi::any_binary_parser< T, endian, bits >::attribute< Context, Iterator >
 
struct  boost::spirit::qi::binary_lit_parser< V, T, endian, bits >
 
struct  boost::spirit::qi::binary_lit_parser< V, T, endian, bits >::attribute< Context, Iterator >
 
struct  boost::spirit::qi::make_binary_parser< T, endian, bits >
 
struct  boost::spirit::qi::make_binary_lit_parser< V, T, endian, bits >
 
struct  boost::spirit::qi::make_primitive< tag::byte_, Modifiers >
 
struct  boost::spirit::qi::make_primitive< terminal_ex< tag::byte_, fusion::vector1< A0 > >, Modifiers >
 
struct  boost::spirit::qi::make_primitive< tag::word, Modifiers >
 
struct  boost::spirit::qi::make_primitive< terminal_ex< tag::word, fusion::vector1< A0 > >, Modifiers >
 
struct  boost::spirit::qi::make_primitive< tag::big_word, Modifiers >
 
struct  boost::spirit::qi::make_primitive< terminal_ex< tag::big_word, fusion::vector1< A0 > >, Modifiers >
 
struct  boost::spirit::qi::make_primitive< tag::little_word, Modifiers >
 
struct  boost::spirit::qi::make_primitive< terminal_ex< tag::little_word, fusion::vector1< A0 > >, Modifiers >
 
struct  boost::spirit::qi::make_primitive< tag::dword, Modifiers >
 
struct  boost::spirit::qi::make_primitive< terminal_ex< tag::dword, fusion::vector1< A0 > >, Modifiers >
 
struct  boost::spirit::qi::make_primitive< tag::big_dword, Modifiers >
 
struct  boost::spirit::qi::make_primitive< terminal_ex< tag::big_dword, fusion::vector1< A0 > >, Modifiers >
 
struct  boost::spirit::qi::make_primitive< tag::little_dword, Modifiers >
 
struct  boost::spirit::qi::make_primitive< terminal_ex< tag::little_dword, fusion::vector1< A0 > >, Modifiers >
 
struct  boost::spirit::qi::make_primitive< tag::bin_float, Modifiers >
 
struct  boost::spirit::qi::make_primitive< terminal_ex< tag::bin_float, fusion::vector1< A0 > >, Modifiers >
 
struct  boost::spirit::qi::make_primitive< tag::big_bin_float, Modifiers >
 
struct  boost::spirit::qi::make_primitive< terminal_ex< tag::big_bin_float, fusion::vector1< A0 > >, Modifiers >
 
struct  boost::spirit::qi::make_primitive< tag::little_bin_float, Modifiers >
 
struct  boost::spirit::qi::make_primitive< terminal_ex< tag::little_bin_float, fusion::vector1< A0 > >, Modifiers >
 
struct  boost::spirit::qi::make_primitive< tag::bin_double, Modifiers >
 
struct  boost::spirit::qi::make_primitive< terminal_ex< tag::bin_double, fusion::vector1< A0 > >, Modifiers >
 
struct  boost::spirit::qi::make_primitive< tag::big_bin_double, Modifiers >
 
struct  boost::spirit::qi::make_primitive< terminal_ex< tag::big_bin_double, fusion::vector1< A0 > >, Modifiers >
 
struct  boost::spirit::qi::make_primitive< tag::little_bin_double, Modifiers >
 
struct  boost::spirit::qi::make_primitive< terminal_ex< tag::little_bin_double, fusion::vector1< A0 > >, Modifiers >
 

Namespaces

 boost
 Duration formatting facet for input.
 
 boost::spirit
 
 boost::spirit::qi
 
 boost::spirit::qi::detail
 

Macros

#define BOOST_SPIRIT_ENABLE_BINARY(name)
 
#define BOOST_SPIRIT_ENABLE_BINARY_IEEE754(name)
 
#define BOOST_SPIRIT_MAKE_BINARY_PRIMITIVE(name, endiantype, bits)
 
#define BOOST_SPIRIT_MAKE_BINARY_IEEE754_PRIMITIVE(name, endiantype, bits)
 

Macro Definition Documentation

#define BOOST_SPIRIT_ENABLE_BINARY (   name)
Value:
template <> \
struct use_terminal<qi::domain, tag::name> \
: mpl::true_ {}; \
\
template <typename A0> \
struct use_terminal<qi::domain \
, terminal_ex<tag::name, fusion::vector1<A0> > > \
: mpl::or_<is_integral<A0>, is_enum<A0> > {}; \
\
template <> \
struct use_lazy_terminal<qi::domain, tag::name, 1> : mpl::true_ {}; \
\
/***/
bool_< true > true_
Definition: bool_fwd.hpp:21
enable_if< is_element_map< Type >, typename Type::set_type >::type & domain(typename Type::set_type &domain_set, const Type &object)
Definition: element_map.hpp:434
#define BOOST_SPIRIT_ENABLE_BINARY_IEEE754 (   name)
Value:
template<> \
struct use_terminal<qi::domain, tag::name>: mpl::true_ {}; \
\
template<typename A0> \
struct use_terminal<qi::domain, terminal_ex<tag::name, \
fusion::vector1<A0> > >: is_floating_point<A0> {}; \
\
template<> \
struct use_lazy_terminal<qi::domain, tag::name, 1>: mpl::true_ {}; \
\
/***/
bool_< true > true_
Definition: bool_fwd.hpp:21
const int name
Definition: gzip.hpp:94
enable_if< is_element_map< Type >, typename Type::set_type >::type & domain(typename Type::set_type &domain_set, const Type &object)
Definition: element_map.hpp:434
#define BOOST_SPIRIT_MAKE_BINARY_IEEE754_PRIMITIVE (   name,
  endiantype,
  bits 
)
Value:
template<typename Modifiers> \
struct make_primitive<tag::name, Modifiers> \
: make_binary_parser<detail::floating_point<bits>, \
boost::endian::endianness::endiantype, bits> {}; \
\
template<typename Modifiers, typename A0> \
struct make_primitive< \
terminal_ex<tag::name, fusion::vector1<A0> >, Modifiers> \
: make_binary_lit_parser<A0, detail::floating_point<bits>, \
boost::endian::endianness::endiantype, \
bits> {}; \
\
/***/
#define BOOST_SPIRIT_MAKE_BINARY_PRIMITIVE (   name,
  endiantype,
  bits 
)
Value:
template <typename Modifiers> \
struct make_primitive<tag::name, Modifiers> \
: make_binary_parser<detail::integer<bits>, \
boost::endian::endianness::endiantype, bits> {}; \
\
template <typename Modifiers, typename A0> \
struct make_primitive< \
terminal_ex<tag::name, fusion::vector1<A0> > , Modifiers> \
: make_binary_lit_parser<A0, detail::integer<bits>, \
boost::endian::endianness::endiantype, bits> {}; \
\
/***/