Update of /cvsroot/boost/boost/boost/fusion/sequence/adapted/variant/detail
In directory 
sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv10403/adapted/variant/detail

Added Files:
        begin_impl.hpp end_impl.hpp size_impl.hpp 
Log Message:
variant as a fusion sequence

--- NEW FILE: begin_impl.hpp ---
/*=============================================================================
    Copyright (c) 2001-2006 Joel de Guzman
    Copyright (c) 2005-2006 Dan Marsden

    Use, modification and distribution is subject to 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_FUSION_VARIANT_BEGIN_IMPL_12112006_2137)
#define BOOST_FUSION_VARIANT_BEGIN_IMPL_12112006_2137

#include <boost/mpl/begin.hpp>

namespace boost { namespace fusion {

    struct variant_tag;

    template<typename Seq, typename Iterator>
    struct variant_iterator;

    namespace extension
    {
        template<typename T>
        struct begin_impl;

        template <>
        struct begin_impl<variant_tag>
        {
            template <typename Seq>
            struct apply 
            {
                typedef variant_iterator<
                    Seq, 
                    typename mpl::begin<typename Seq::types>::type> type;
    
                static type
                call(Seq& v)
                {
                    return type(v);
                }
            };
        };
    }
}}

#endif

--- NEW FILE: end_impl.hpp ---
/*=============================================================================
    Copyright (c) 2001-2006 Joel de Guzman
    Copyright (c) 2005-2006 Dan Marsden

    Use, modification and distribution is subject to 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_FUSION_VARIANT_END_IMPL_12112006_2137)
#define BOOST_FUSION_VARIANT_END_IMPL_12112006_2137

#include <boost/mpl/end.hpp>

namespace boost { namespace fusion {

    struct variant_tag;

    template<typename Seq, typename Iterator>
    struct variant_iterator;

    namespace extension
    {
        template<typename T>
        struct end_impl;

        template <>
        struct end_impl<variant_tag>
        {
            template <typename Seq>
            struct apply 
            {
                typedef variant_iterator<
                    Seq, 
                    typename mpl::end<typename Seq::types>::type> type;
    
                static type
                call(Seq& v)
                {
                    return type(v);
                }
            };
        };
    }
}}

#endif

--- NEW FILE: size_impl.hpp ---
/*=============================================================================
    Copyright (c) 2001-2006 Joel de Guzman
    Copyright (c) 2005-2006 Dan Marsden

    Use, modification and distribution is subject to 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_FUSION_VARIANT_SIZE_IMPL_12112006_2115)
#define BOOST_FUSION_VARIANT_SIZE_IMPL_12112006_2115

#include <boost/mpl/size.hpp>

namespace boost { namespace fusion {

    struct variant_tag;

    namespace extension
    {
        template<typename T>
        struct size_impl;

        template<>
        struct size_impl<variant_tag>
        {
            template<typename Sequence>
            struct apply : mpl::size<typename Sequence::types> 
            {};
        };
    }
}}

#endif


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Boost-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/boost-cvs

Reply via email to