Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r55303 - in trunk/boost/spirit/repository: home home/karma home/karma/directive home/qi home/qi/directive home/qi/primitive include
From: hartmut.kaiser_at_[hidden]
Date: 2009-07-30 21:12:29


Author: hkaiser
Date: 2009-07-30 19:03:34 EDT (Thu, 30 Jul 2009)
New Revision: 55303
URL: http://svn.boost.org/trac/boost/changeset/55303

Log:
Spirit: add qi>>confix to repository, added missing headers files, restructured repository include directories
Added:
   trunk/boost/spirit/repository/home/karma/directive/
   trunk/boost/spirit/repository/home/karma/directive.hpp (contents, props changed)
   trunk/boost/spirit/repository/home/karma/directive/confix.hpp
      - copied unchanged from r55279, /trunk/boost/spirit/repository/home/karma/confix.hpp
   trunk/boost/spirit/repository/home/qi/directive/
   trunk/boost/spirit/repository/home/qi/directive.hpp (contents, props changed)
   trunk/boost/spirit/repository/home/qi/directive/confix.hpp (contents, props changed)
   trunk/boost/spirit/repository/home/qi/directive/distinct.hpp (contents, props changed)
   trunk/boost/spirit/repository/home/qi/primitive/
   trunk/boost/spirit/repository/home/qi/primitive.hpp (contents, props changed)
   trunk/boost/spirit/repository/home/qi/primitive/flush_multi_pass.hpp
      - copied unchanged from r55279, /trunk/boost/spirit/repository/home/qi/flush_multi_pass.hpp
   trunk/boost/spirit/repository/include/karma_directive.hpp (contents, props changed)
   trunk/boost/spirit/repository/include/qi_confix.hpp (contents, props changed)
   trunk/boost/spirit/repository/include/qi_directive.hpp (contents, props changed)
   trunk/boost/spirit/repository/include/qi_primitive.hpp (contents, props changed)
Removed:
   trunk/boost/spirit/repository/home/karma/confix.hpp
   trunk/boost/spirit/repository/home/qi/distinct.hpp
   trunk/boost/spirit/repository/home/qi/flush_multi_pass.hpp
Text files modified:
   trunk/boost/spirit/repository/home/karma.hpp | 2 +-
   trunk/boost/spirit/repository/home/qi.hpp | 5 ++---
   trunk/boost/spirit/repository/include/karma_confix.hpp | 2 +-
   trunk/boost/spirit/repository/include/qi_distinct.hpp | 2 +-
   trunk/boost/spirit/repository/include/qi_flush_multi_pass.hpp | 2 +-
   5 files changed, 6 insertions(+), 7 deletions(-)

Modified: trunk/boost/spirit/repository/home/karma.hpp
==============================================================================
--- trunk/boost/spirit/repository/home/karma.hpp (original)
+++ trunk/boost/spirit/repository/home/karma.hpp 2009-07-30 19:03:34 EDT (Thu, 30 Jul 2009)
@@ -11,7 +11,7 @@
 #pragma once
 #endif
 
-#include <boost/spirit/repository/home/karma/confix.hpp>
+#include <boost/spirit/repository/home/karma/directive.hpp>
 
 #endif
 

Deleted: trunk/boost/spirit/repository/home/karma/confix.hpp
==============================================================================
--- trunk/boost/spirit/repository/home/karma/confix.hpp 2009-07-30 19:03:34 EDT (Thu, 30 Jul 2009)
+++ (empty file)
@@ -1,131 +0,0 @@
-// Copyright (c) 2001-2009 Hartmut Kaiser
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#if !defined(BOOST_SPIRIT_REPOSITORY_KARMA_CONFIX_AUG_19_2008_1041AM)
-#define BOOST_SPIRIT_REPOSITORY_KARMA_CONFIX_AUG_19_2008_1041AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/common_terminals.hpp>
-#include <boost/spirit/home/support/info.hpp>
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/support/attributes.hpp>
-#include <boost/spirit/home/karma/domain.hpp>
-#include <boost/spirit/home/karma/meta_compiler.hpp>
-
-#include <boost/spirit/repository/home/support/confix.hpp>
-
-#include <boost/fusion/include/at.hpp>
-#include <boost/fusion/include/vector.hpp>
-
-///////////////////////////////////////////////////////////////////////////////
-namespace boost { namespace spirit
-{
- ///////////////////////////////////////////////////////////////////////////
- // Enablers
- ///////////////////////////////////////////////////////////////////////////
-
- // enables confix(..., ...)[]
- template <typename Prefix, typename Suffix>
- struct use_directive<karma::domain
- , terminal_ex<repository::tag::confix, fusion::vector2<Prefix, Suffix> > >
- : mpl::true_ {};
-
- // enables *lazy* confix(..., ...)[g]
- template <>
- struct use_lazy_directive<karma::domain, repository::tag::confix, 2>
- : mpl::true_ {};
-
-}}
-
-///////////////////////////////////////////////////////////////////////////////
-namespace boost { namespace spirit { namespace repository { namespace karma
-{
- using repository::confix_type;
- using repository::confix;
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Prefix, typename Suffix>
- struct confix_generator
- : spirit::karma::primitive_generator<confix_generator<Subject, Prefix, Suffix> >
- {
- typedef Subject subject_type;
-
- template <typename Context, typename Unused>
- struct attribute
- {
- typedef typename
- traits::attribute_of<subject_type, Context>::type
- type;
- };
-
- confix_generator(Subject const& subject, Prefix const& prefix
- , Suffix const& suffix)
- : subject(subject), prefix(prefix), suffix(suffix) {}
-
- ///////////////////////////////////////////////////////////////////////
- template <typename OutputIterator, typename Context, typename Delimiter
- , typename Attribute>
- bool generate(OutputIterator& sink, Context& ctx, Delimiter const& d
- , Attribute const& attr) const
- {
- // generate the prefix, the embedded item and the suffix
- return prefix.generate(sink, ctx, d, unused) &&
- subject.generate(sink, ctx, d, attr) &&
- suffix.generate(sink, ctx, d, unused);
- }
-
- template <typename Context>
- info what(Context const& ctx) const
- {
- return info("confix", subject.what(ctx));
- }
-
- Subject subject;
- Prefix prefix;
- Suffix suffix;
- };
-
-}}}}
-
-///////////////////////////////////////////////////////////////////////////////
-namespace boost { namespace spirit { namespace karma
-{
- ///////////////////////////////////////////////////////////////////////////
- // Generator generators: make_xxx function (objects)
- ///////////////////////////////////////////////////////////////////////////
-
- // creates confix(..., ...)[] directive generator
- template <typename Prefix, typename Suffix, typename Subject
- , typename Modifiers>
- struct make_directive<
- terminal_ex<repository::tag::confix, fusion::vector2<Prefix, Suffix> >
- , Subject, Modifiers>
- {
- typedef typename
- result_of::compile<karma::domain, Prefix, Modifiers>::type
- prefix_type;
- typedef typename
- result_of::compile<karma::domain, Suffix, Modifiers>::type
- suffix_type;
-
- typedef repository::karma::confix_generator<
- Subject, prefix_type, suffix_type> result_type;
-
- template <typename Terminal>
- result_type operator()(Terminal const& term, Subject const& subject
- , Modifiers const& modifiers) const
- {
- return result_type(subject
- , compile<karma::domain>(fusion::at_c<0>(term.args), modifiers)
- , compile<karma::domain>(fusion::at_c<1>(term.args), modifiers));
- }
- };
-
-}}}
-
-#endif

Added: trunk/boost/spirit/repository/home/karma/directive.hpp
==============================================================================
--- (empty file)
+++ trunk/boost/spirit/repository/home/karma/directive.hpp 2009-07-30 19:03:34 EDT (Thu, 30 Jul 2009)
@@ -0,0 +1,17 @@
+// Copyright (c) 2001-2009 Hartmut Kaiser
+// Copyright (c) 2001-2009 Joel de Guzman
+//
+// Distributed under the Boost Software License, Version 1.0. (See accompanying
+// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#if !defined(SPIRIT_REPOSITORY_KARMA_DIRECTIVE_APR_28_2009_1258PM)
+#define SPIRIT_REPOSITORY_KARMA_DIRECTIVE_APR_28_2009_1258PM
+
+#if defined(_MSC_VER)
+#pragma once
+#endif
+
+#include <boost/spirit/repository/home/karma/directive/confix.hpp>
+
+#endif
+

Modified: trunk/boost/spirit/repository/home/qi.hpp
==============================================================================
--- trunk/boost/spirit/repository/home/qi.hpp (original)
+++ trunk/boost/spirit/repository/home/qi.hpp 2009-07-30 19:03:34 EDT (Thu, 30 Jul 2009)
@@ -11,9 +11,8 @@
 #pragma once
 #endif
 
-#include <boost/spirit/repository/home/qi/flush_multi_pass.hpp>
-#include <boost/spirit/repository/home/qi/distinct.hpp>
-//#include <boost/spirit/repository/qi/confix.hpp>
+#include <boost/spirit/repository/home/qi/primitive.hpp>
+#include <boost/spirit/repository/home/qi/directive.hpp>
 
 #endif
 

Added: trunk/boost/spirit/repository/home/qi/directive.hpp
==============================================================================
--- (empty file)
+++ trunk/boost/spirit/repository/home/qi/directive.hpp 2009-07-30 19:03:34 EDT (Thu, 30 Jul 2009)
@@ -0,0 +1,18 @@
+// Copyright (c) 2001-2009 Hartmut Kaiser
+// Copyright (c) 2001-2009 Joel de Guzman
+//
+// Distributed under the Boost Software License, Version 1.0. (See accompanying
+// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#if !defined(SPIRIT_REPOSITORY_QI_DIRECTIVE_APR_28_2009_1258PM)
+#define SPIRIT_REPOSITORY_QI_DIRECTIVE_APR_28_2009_1258PM
+
+#if defined(_MSC_VER)
+#pragma once
+#endif
+
+#include <boost/spirit/repository/home/qi/directive/distinct.hpp>
+#include <boost/spirit/repository/home/qi/directive/confix.hpp>
+
+#endif
+

Added: trunk/boost/spirit/repository/home/qi/directive/confix.hpp
==============================================================================
--- (empty file)
+++ trunk/boost/spirit/repository/home/qi/directive/confix.hpp 2009-07-30 19:03:34 EDT (Thu, 30 Jul 2009)
@@ -0,0 +1,140 @@
+// Copyright (c) 2009 Chris Hoeppler
+//
+// Distributed under the Boost Software License, Version 1.0. (See accompanying
+// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#if !defined(BOOST_SPIRIT_REPOSITORY_QI_CONFIX_JUN_22_2009_1041AM)
+#define BOOST_SPIRIT_REPOSITORY_QI_CONFIX_JUN_22_2009_1041AM
+
+#if defined(_MSC_VER)
+#pragma once
+#endif
+
+#include <boost/spirit/home/qi/domain.hpp>
+#include <boost/spirit/home/qi/meta_compiler.hpp>
+#include <boost/spirit/home/qi/auxiliary/lazy.hpp>
+#include <boost/spirit/home/support/common_terminals.hpp>
+#include <boost/spirit/home/support/info.hpp>
+#include <boost/spirit/home/support/unused.hpp>
+#include <boost/spirit/home/support/attributes.hpp>
+#include <boost/fusion/include/at.hpp>
+#include <boost/fusion/include/vector.hpp>
+
+#include <boost/spirit/repository/home/support/confix.hpp>
+
+///////////////////////////////////////////////////////////////////////////////
+namespace boost { namespace spirit
+{
+ ///////////////////////////////////////////////////////////////////////////
+ // Enablers
+ ///////////////////////////////////////////////////////////////////////////
+
+ // enables confix(..., ...)[]
+ template <typename Prefix, typename Suffix>
+ struct use_directive<qi::domain
+ , terminal_ex<repository::tag::confix, fusion::vector2<Prefix, Suffix> > >
+ : mpl::true_ {};
+
+ // enables *lazy* confix(..., ...)[]
+ template <>
+ struct use_lazy_directive<qi::domain, repository::tag::confix, 2>
+ : mpl::true_ {};
+
+}}
+
+///////////////////////////////////////////////////////////////////////////////
+namespace boost { namespace spirit { namespace repository { namespace qi
+{
+ using repository::confix_type;
+ using repository::confix;
+
+ ///////////////////////////////////////////////////////////////////////////
+ // the director for a confix() generated parser
+ template <typename Subject, typename Prefix, typename Suffix>
+ struct confix_parser
+ : spirit::qi::unary_parser<confix_parser<Subject, Prefix, Suffix> >
+ {
+ typedef Subject subject_type;
+
+ template <typename Context, typename Unused>
+ struct attribute
+ {
+ typedef typename
+ traits::attribute_of<subject_type, Context>::type
+ type;
+ };
+
+ confix_parser(Subject const& subject, Prefix const& prefix
+ , Suffix const& suffix)
+ : subject(subject), prefix(prefix), suffix(suffix) {}
+
+ template <typename Iterator, typename Context
+ , typename Skipper, typename Attribute>
+ bool parse(Iterator& first, Iterator const& last
+ , Context& context, Skipper const& skipper
+ , Attribute& attr) const
+ {
+ Iterator iter = first;
+
+ if (!(prefix.parse(iter, last, context, skipper, unused) &&
+ subject.parse(iter, last, context, skipper, attr) &&
+ suffix.parse(iter, last, context, skipper, unused)))
+ {
+ return false;
+ }
+
+ first = iter;
+ return true;
+ }
+
+ template <typename Context>
+ info what(Context const& ctx) const
+ {
+ return info("confix", subject.what(ctx));
+ }
+
+ Subject subject;
+ Prefix prefix;
+ Suffix suffix;
+ };
+
+}}}}
+
+///////////////////////////////////////////////////////////////////////////////
+namespace boost { namespace spirit { namespace qi
+{
+ ///////////////////////////////////////////////////////////////////////////
+ // Parser generators: make_xxx function (objects)
+ ///////////////////////////////////////////////////////////////////////////
+
+ // creates confix(..., ...)[] directive
+ template <typename Prefix, typename Suffix, typename Subject
+ , typename Modifiers>
+ struct make_directive<
+ terminal_ex<repository::tag::confix, fusion::vector2<Prefix, Suffix> >
+ , Subject, Modifiers>
+ {
+ typedef typename
+ result_of::compile<qi::domain, Prefix, Modifiers>::type
+ prefix_type;
+ typedef typename
+ result_of::compile<qi::domain, Suffix, Modifiers>::type
+ suffix_type;
+
+ typedef repository::qi::confix_parser<
+ Subject, prefix_type, suffix_type> result_type;
+
+ template <typename Terminal>
+ result_type operator()(Terminal const& term, Subject const& subject
+ , Modifiers const& modifiers) const
+ {
+ return result_type(subject
+ , compile<qi::domain>(fusion::at_c<0>(term.args), modifiers)
+ , compile<qi::domain>(fusion::at_c<1>(term.args), modifiers));
+ }
+ };
+
+}}}
+
+#endif
+

Added: trunk/boost/spirit/repository/home/qi/directive/distinct.hpp
==============================================================================
--- (empty file)
+++ trunk/boost/spirit/repository/home/qi/directive/distinct.hpp 2009-07-30 19:03:34 EDT (Thu, 30 Jul 2009)
@@ -0,0 +1,135 @@
+// Copyright (c) 2001-2009 Hartmut Kaiser
+// Copyright (c) 2001-2009 Joel de Guzman
+// Copyright (c) 2003 Vaclav Vesely
+//
+// Distributed under the Boost Software License, Version 1.0. (See accompanying
+// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#if !defined(SPIRIT_REPOSITORY_QI_DISTINCT_MAY_20_2009_0825M)
+#define SPIRIT_REPOSITORY_QI_DISTINCT_MAY_20_2009_0825M
+
+#if defined(_MSC_VER)
+#pragma once
+#endif
+
+#include <boost/spirit/home/qi/skip_over.hpp>
+#include <boost/spirit/home/qi/domain.hpp>
+#include <boost/spirit/home/qi/parser.hpp>
+#include <boost/spirit/home/qi/meta_compiler.hpp>
+#include <boost/spirit/home/qi/detail/unused_skipper.hpp>
+#include <boost/spirit/home/support/common_terminals.hpp>
+#include <boost/spirit/home/support/make_component.hpp>
+#include <boost/spirit/home/support/info.hpp>
+#include <boost/spirit/home/support/unused.hpp>
+#include <boost/spirit/home/support/attributes.hpp>
+#include <boost/spirit/home/support/string_traits.hpp>
+#include <boost/spirit/home/qi/auxiliary/eps.hpp>
+#include <boost/spirit/home/qi/auxiliary/lazy.hpp>
+#include <boost/spirit/home/qi/directive/lexeme.hpp>
+#include <boost/spirit/home/qi/operator/not_predicate.hpp>
+
+#include <boost/spirit/repository/home/support/distinct.hpp>
+
+#include <boost/fusion/include/at.hpp>
+#include <boost/fusion/include/vector.hpp>
+
+///////////////////////////////////////////////////////////////////////////////
+namespace boost { namespace spirit
+{
+ ///////////////////////////////////////////////////////////////////////////
+ // Enablers
+ ///////////////////////////////////////////////////////////////////////////
+
+ // enables distinct(...)[...]
+ template <typename Tail>
+ struct use_directive<qi::domain
+ , terminal_ex<repository::tag::distinct, fusion::vector1<Tail> > >
+ : mpl::true_ {};
+
+ // enables *lazy* distinct(...)[...]
+ template <>
+ struct use_lazy_directive<qi::domain, repository::tag::distinct, 1>
+ : mpl::true_ {};
+
+}}
+
+///////////////////////////////////////////////////////////////////////////////
+namespace boost { namespace spirit { namespace repository {namespace qi
+{
+ using repository::distinct_type;
+ using repository::distinct;
+
+ template <typename Subject, typename Tail, typename Modifier>
+ struct distinct_parser
+ : spirit::qi::unary_parser<distinct_parser<Subject, Tail, Modifier> >
+ {
+ template <typename Context, typename Iterator>
+ struct attribute
+ : traits::attribute_of<Subject>
+ {};
+
+ distinct_parser(Subject const& subject, Tail const& tail)
+ : subject(subject), tail(tail) {}
+
+ template <typename Iterator, typename Context
+ , typename Skipper, typename Attribute>
+ bool parse(Iterator& first, Iterator const& last
+ , Context& context, Skipper const& skipper, Attribute& attr) const
+ {
+ Iterator iter = first;
+
+ spirit::qi::skip_over(iter, last, skipper);
+ if (!subject.parse(iter, last, context
+ , spirit::qi::detail::unused_skipper<Skipper>(skipper), attr))
+ return false;
+
+ Iterator i = iter;
+ if (tail.parse(i, last, context, unused, unused))
+ return false;
+
+ first = iter;
+ return true;
+ }
+
+ template <typename Context>
+ info what(Context& /*ctx*/) const
+ {
+ return info("distinct");
+ }
+
+ Subject subject;
+ Tail tail;
+ };
+
+}}}}
+
+///////////////////////////////////////////////////////////////////////////////
+namespace boost { namespace spirit { namespace qi
+{
+ ///////////////////////////////////////////////////////////////////////////
+ // Parser generators: make_xxx function (objects)
+ ///////////////////////////////////////////////////////////////////////////
+ template <typename Tail, typename Subject, typename Modifiers>
+ struct make_directive<
+ terminal_ex<repository::tag::distinct, fusion::vector1<Tail> >
+ , Subject, Modifiers>
+ {
+ typedef typename result_of::compile<qi::domain, Tail, Modifiers>::type
+ tail_type;
+
+ typedef repository::qi::distinct_parser<
+ Subject, tail_type, Modifiers> result_type;
+
+ template <typename Terminal>
+ result_type operator()(Terminal const& term, Subject const& subject
+ , Modifiers const& modifiers) const
+ {
+ return result_type(subject
+ , compile<qi::domain>(fusion::at_c<0>(term.args), modifiers));
+ }
+ };
+
+}}}
+
+#endif
+

Deleted: trunk/boost/spirit/repository/home/qi/distinct.hpp
==============================================================================
--- trunk/boost/spirit/repository/home/qi/distinct.hpp 2009-07-30 19:03:34 EDT (Thu, 30 Jul 2009)
+++ (empty file)
@@ -1,135 +0,0 @@
-// Copyright (c) 2001-2009 Hartmut Kaiser
-// Copyright (c) 2001-2009 Joel de Guzman
-// Copyright (c) 2003 Vaclav Vesely
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#if !defined(SPIRIT_REPOSITORY_QI_DISTINCT_MAY_20_2009_0825M)
-#define SPIRIT_REPOSITORY_QI_DISTINCT_MAY_20_2009_0825M
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/skip_over.hpp>
-#include <boost/spirit/home/qi/domain.hpp>
-#include <boost/spirit/home/qi/parser.hpp>
-#include <boost/spirit/home/qi/meta_compiler.hpp>
-#include <boost/spirit/home/qi/detail/unused_skipper.hpp>
-#include <boost/spirit/home/support/common_terminals.hpp>
-#include <boost/spirit/home/support/make_component.hpp>
-#include <boost/spirit/home/support/info.hpp>
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/support/attributes.hpp>
-#include <boost/spirit/home/support/string_traits.hpp>
-#include <boost/spirit/home/qi/auxiliary/eps.hpp>
-#include <boost/spirit/home/qi/auxiliary/lazy.hpp>
-#include <boost/spirit/home/qi/directive/lexeme.hpp>
-#include <boost/spirit/home/qi/operator/not_predicate.hpp>
-
-#include <boost/spirit/repository/home/support/distinct.hpp>
-
-#include <boost/fusion/include/at.hpp>
-#include <boost/fusion/include/vector.hpp>
-
-///////////////////////////////////////////////////////////////////////////////
-namespace boost { namespace spirit
-{
- ///////////////////////////////////////////////////////////////////////////
- // Enablers
- ///////////////////////////////////////////////////////////////////////////
-
- // enables distinct(...)[...]
- template <typename Tail>
- struct use_directive<qi::domain
- , terminal_ex<repository::tag::distinct, fusion::vector1<Tail> > >
- : mpl::true_ {};
-
- // enables *lazy* distinct(...)[...]
- template <>
- struct use_lazy_directive<qi::domain, repository::tag::distinct, 1>
- : mpl::true_ {};
-
-}}
-
-///////////////////////////////////////////////////////////////////////////////
-namespace boost { namespace spirit { namespace repository {namespace qi
-{
- using repository::distinct_type;
- using repository::distinct;
-
- template <typename Subject, typename Tail, typename Modifier>
- struct distinct_parser
- : spirit::qi::unary_parser<distinct_parser<Subject, Tail, Modifier> >
- {
- template <typename Context, typename Iterator>
- struct attribute
- : traits::attribute_of<Subject>
- {};
-
- distinct_parser(Subject const& subject, Tail const& tail)
- : subject(subject), tail(tail) {}
-
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper, Attribute& attr) const
- {
- Iterator iter = first;
-
- spirit::qi::skip_over(iter, last, skipper);
- if (!subject.parse(iter, last, context
- , spirit::qi::detail::unused_skipper<Skipper>(skipper), attr))
- return false;
-
- Iterator i = iter;
- if (tail.parse(i, last, context, unused, unused))
- return false;
-
- first = iter;
- return true;
- }
-
- template <typename Context>
- info what(Context& /*ctx*/) const
- {
- return info("distinct");
- }
-
- Subject subject;
- Tail tail;
- };
-
-}}}}
-
-///////////////////////////////////////////////////////////////////////////////
-namespace boost { namespace spirit { namespace qi
-{
- ///////////////////////////////////////////////////////////////////////////
- // Parser generators: make_xxx function (objects)
- ///////////////////////////////////////////////////////////////////////////
- template <typename Tail, typename Subject, typename Modifiers>
- struct make_directive<
- terminal_ex<repository::tag::distinct, fusion::vector1<Tail> >
- , Subject, Modifiers>
- {
- typedef typename result_of::compile<qi::domain, Tail, Modifiers>::type
- tail_type;
-
- typedef repository::qi::distinct_parser<
- Subject, tail_type, Modifiers> result_type;
-
- template <typename Terminal>
- result_type operator()(Terminal const& term, Subject const& subject
- , Modifiers const& modifiers) const
- {
- return result_type(subject
- , compile<qi::domain>(fusion::at_c<0>(term.args), modifiers));
- }
- };
-
-}}}
-
-#endif
-

Deleted: trunk/boost/spirit/repository/home/qi/flush_multi_pass.hpp
==============================================================================
--- trunk/boost/spirit/repository/home/qi/flush_multi_pass.hpp 2009-07-30 19:03:34 EDT (Thu, 30 Jul 2009)
+++ (empty file)
@@ -1,92 +0,0 @@
-// Copyright (c) 2001-2009 Hartmut Kaiser
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#if !defined(BOOST_SPIRIT_REPOSITORY_QI_FLUSH_MULTI_PASS_JUL_10_2009_0535PM)
-#define BOOST_SPIRIT_REPOSITORY_QI_FLUSH_MULTI_PASS_JUL_10_2009_0535PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/domain.hpp>
-#include <boost/spirit/home/qi/meta_compiler.hpp>
-#include <boost/spirit/home/support/common_terminals.hpp>
-#include <boost/spirit/home/support/info.hpp>
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/support/attributes.hpp>
-#include <boost/spirit/home/support/multi_pass.hpp>
-
-#include <boost/spirit/repository/home/support/flush_multi_pass.hpp>
-
-///////////////////////////////////////////////////////////////////////////////
-namespace boost { namespace spirit
-{
- ///////////////////////////////////////////////////////////////////////////
- // Enablers
- ///////////////////////////////////////////////////////////////////////////
-
- // enables flush_multi_pass
- template <>
- struct use_terminal<qi::domain, repository::tag::flush_multi_pass>
- : mpl::true_ {};
-
-}}
-
-///////////////////////////////////////////////////////////////////////////////
-namespace boost { namespace spirit { namespace repository { namespace qi
-{
- using repository::flush_multi_pass_type;
- using repository::flush_multi_pass;
-
- ///////////////////////////////////////////////////////////////////////////
- // for a flush_multi_pass_parser generated parser
- struct flush_multi_pass_parser
- : spirit::qi::primitive_parser<flush_multi_pass_parser>
- {
- template <typename Context, typename Unused>
- struct attribute
- {
- typedef unused_type type;
- };
-
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper
- , Attribute& attr) const
- {
- spirit::traits::clear_queue(first, traits::clear_mode::clear_always);
- return true;
- }
-
- template <typename Context>
- info what(Context const& ctx) const
- {
- return info("flush_multi_pass");
- }
- };
-
-}}}}
-
-///////////////////////////////////////////////////////////////////////////////
-namespace boost { namespace spirit { namespace qi
-{
- ///////////////////////////////////////////////////////////////////////////
- // Parser generators: make_xxx function (objects)
- ///////////////////////////////////////////////////////////////////////////
- template <typename Modifiers>
- struct make_primitive<repository::tag::flush_multi_pass, Modifiers>
- {
- typedef repository::qi::flush_multi_pass_parser result_type;
- result_type operator()(unused_type, unused_type) const
- {
- return result_type();
- }
- };
-
-}}}
-
-#endif
-

Added: trunk/boost/spirit/repository/home/qi/primitive.hpp
==============================================================================
--- (empty file)
+++ trunk/boost/spirit/repository/home/qi/primitive.hpp 2009-07-30 19:03:34 EDT (Thu, 30 Jul 2009)
@@ -0,0 +1,17 @@
+// Copyright (c) 2001-2009 Hartmut Kaiser
+// Copyright (c) 2001-2009 Joel de Guzman
+//
+// Distributed under the Boost Software License, Version 1.0. (See accompanying
+// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#if !defined(SPIRIT_REPOSITORY_QI_PRIMITIVE_APR_28_2009_1258PM)
+#define SPIRIT_REPOSITORY_QI_PRIMITIVE_APR_28_2009_1258PM
+
+#if defined(_MSC_VER)
+#pragma once
+#endif
+
+#include <boost/spirit/repository/home/qi/primitive/flush_multi_pass.hpp>
+
+#endif
+

Modified: trunk/boost/spirit/repository/include/karma_confix.hpp
==============================================================================
--- trunk/boost/spirit/repository/include/karma_confix.hpp (original)
+++ trunk/boost/spirit/repository/include/karma_confix.hpp 2009-07-30 19:03:34 EDT (Thu, 30 Jul 2009)
@@ -13,6 +13,6 @@
 #pragma once
 #endif
 
-#include <boost/spirit/repository/home/karma/confix.hpp>
+#include <boost/spirit/repository/home/karma/directive/confix.hpp>
 
 #endif

Added: trunk/boost/spirit/repository/include/karma_directive.hpp
==============================================================================
--- (empty file)
+++ trunk/boost/spirit/repository/include/karma_directive.hpp 2009-07-30 19:03:34 EDT (Thu, 30 Jul 2009)
@@ -0,0 +1,18 @@
+/*=============================================================================
+ Copyright (c) 2001-2009 Joel de Guzman
+ Copyright (c) 2001-2009 Hartmut Kaiser
+ http://spirit.sourceforge.net/
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+#ifndef BOOST_SPIRIT_INCLUDE_REPOSITORY_KARMA_DIRECTIVE
+#define BOOST_SPIRIT_INCLUDE_REPOSITORY_KARMA_DIRECTIVE
+
+#if defined(_MSC_VER)
+#pragma once
+#endif
+
+#include <boost/spirit/repository/home/karma/directive.hpp>
+
+#endif

Added: trunk/boost/spirit/repository/include/qi_confix.hpp
==============================================================================
--- (empty file)
+++ trunk/boost/spirit/repository/include/qi_confix.hpp 2009-07-30 19:03:34 EDT (Thu, 30 Jul 2009)
@@ -0,0 +1,18 @@
+/*=============================================================================
+ Copyright (c) 2001-2009 Joel de Guzman
+ Copyright (c) 2001-2009 Hartmut Kaiser
+ http://spirit.sourceforge.net/
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+#ifndef BOOST_SPIRIT_REPOSITORY_INCLUDE_QI_CONFIX
+#define BOOST_SPIRIT_REPOSITORY_INCLUDE_QI_CONFIX
+
+#if defined(_MSC_VER)
+#pragma once
+#endif
+
+#include <boost/spirit/repository/home/qi/directive/confix.hpp>
+
+#endif

Added: trunk/boost/spirit/repository/include/qi_directive.hpp
==============================================================================
--- (empty file)
+++ trunk/boost/spirit/repository/include/qi_directive.hpp 2009-07-30 19:03:34 EDT (Thu, 30 Jul 2009)
@@ -0,0 +1,18 @@
+/*=============================================================================
+ Copyright (c) 2001-2009 Joel de Guzman
+ Copyright (c) 2001-2009 Hartmut Kaiser
+ http://spirit.sourceforge.net/
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+#ifndef BOOST_SPIRIT_INCLUDE_REPOSITORY_QI_DIRECTIVE
+#define BOOST_SPIRIT_INCLUDE_REPOSITORY_QI_DIRECTIVE
+
+#if defined(_MSC_VER)
+#pragma once
+#endif
+
+#include <boost/spirit/repository/home/qi/directive.hpp>
+
+#endif

Modified: trunk/boost/spirit/repository/include/qi_distinct.hpp
==============================================================================
--- trunk/boost/spirit/repository/include/qi_distinct.hpp (original)
+++ trunk/boost/spirit/repository/include/qi_distinct.hpp 2009-07-30 19:03:34 EDT (Thu, 30 Jul 2009)
@@ -13,6 +13,6 @@
 #pragma once
 #endif
 
-#include <boost/spirit/repository/home/qi/distinct.hpp>
+#include <boost/spirit/repository/home/qi/directive/distinct.hpp>
 
 #endif

Modified: trunk/boost/spirit/repository/include/qi_flush_multi_pass.hpp
==============================================================================
--- trunk/boost/spirit/repository/include/qi_flush_multi_pass.hpp (original)
+++ trunk/boost/spirit/repository/include/qi_flush_multi_pass.hpp 2009-07-30 19:03:34 EDT (Thu, 30 Jul 2009)
@@ -13,6 +13,6 @@
 #pragma once
 #endif
 
-#include <boost/spirit/repository/home/qi/flush_multi_pass.hpp>
+#include <boost/spirit/repository/home/qi/primitive/flush_multi_pass.hpp>
 
 #endif

Added: trunk/boost/spirit/repository/include/qi_primitive.hpp
==============================================================================
--- (empty file)
+++ trunk/boost/spirit/repository/include/qi_primitive.hpp 2009-07-30 19:03:34 EDT (Thu, 30 Jul 2009)
@@ -0,0 +1,18 @@
+/*=============================================================================
+ Copyright (c) 2001-2009 Joel de Guzman
+ Copyright (c) 2001-2009 Hartmut Kaiser
+ http://spirit.sourceforge.net/
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+#ifndef BOOST_SPIRIT_INCLUDE_REPOSITORY_QI_PRIMITIVE
+#define BOOST_SPIRIT_INCLUDE_REPOSITORY_QI_PRIMITIVE
+
+#if defined(_MSC_VER)
+#pragma once
+#endif
+
+#include <boost/spirit/repository/home/qi/primitive.hpp>
+
+#endif


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk