//Future versions of this file will contain
//code derived from that in post:
/*
From: "Kitten, Nicholas" <nkitten@objectvideo.com>
Newsgroups: gmane.comp.lib.boost.devel
Subject: [mpl] Nested Scopes w/Placeholders
Date: Fri, 13 Jan 2012 20:44:07 -0500
 */
 #include <boost/mpl/vector.hpp>
 #include <boost/mpl/push_back.hpp>
 #include <boost/mpl/fold.hpp>
 #include <boost/mpl/placeholders.hpp>
#define USE_LAM_PRO
#ifdef USE_LAM_PRO 
 #include <boost/mpl/lambda.hpp>
 #include <boost/mpl/protect.hpp>
#endif 
 
  using namespace boost;
  using namespace mpl;
  using namespace mpl::placeholders;

      typedef 
    vector< vector<char>, vector<int> > 
  vec_of_vecs;
      typedef 
    vector< char, int > 
  expected_result;
      typedef
#ifdef USE_LAM_PRO
    protect< lambda< push_back< _1, _2 > > >::type
#else
    push_back< _1, _2 >
#endif    
  pushback_1_2;
      typedef 
    fold
    < vec_of_vecs
    , vector<>
    , fold
      < _2
      , _1
      , pushback_1_2
      >
    >::type 
  result;

  BOOST_MPL_ASSERT(( equal<result, expected_result> ));

