#include "fun_stdlib.h"
#include <boost/function.hpp>
#include <boost/bind.hpp>
#include "any_pointer.hpp"
#include <boost/mpl/int.hpp>
#include <gc_cpp.h>

#include <stdlib.h>
extern "C" CORD
i2s(int const& i);

extern "C" int
s2i(CORD const& s);

extern "C" CORD
f2s(float const& f);

extern "C" float
s2f(CORD const& s);

extern "C" CORD
d2s(double const& f);

extern "C" double
s2d(CORD const& s);

extern "C" void
print(CORD const& s);

extern "C" void
fprint(CORD const& f,
    CORD const& s);

extern "C" double
f2d(float const& f);

extern "C" float
d2f(double const& d);

extern "C" double
i2d(int const& i);

extern "C" int
d2i(double const& i);

extern "C" float
i2f(int const& i);

extern "C" int
f2i(float const& i);

extern "C" CORD
str_cat(CORD const& p_9,
    CORD const& p_10);

extern "C" bool
str_eq(CORD const& p_79,
    CORD const& p_80);

extern "C" bool
str_neq(CORD const& p_95,
    CORD const& p_96);

  struct DefaultConstructible {
    DefaultConstructible(boost::mpl::int_<0>)
    { }
    virtual __g::any new_on_stack_fn_where_____Urm()
      = 0;
    virtual __g::any_pointer new_on_heap_fn_where_____pUrm()
      = 0;
    virtual __g::any_pointer new_on_gc_fn_where_____pUrm()
      = 0;
    virtual __g::any_pointer new_placement_fn_where____pvlc_pUrm(void* const& p_185)
      = 0;
    virtual __g::any_pointer new_array_on_heap_fn_where____ilc_pUrm(int const& n)
      = 0;
    virtual __g::any_pointer new_array_on_gc_fn_where____ilc_pUrm(int const& n)
      = 0;
  };

  struct Regular {
    Regular(boost::mpl::int_<0>)
    { }
    virtual __g::any_reference __assign_fn_where____Tlm_Tlc_Tlm(__g::any_reference p_186,
        __g::any_const_reference p_187)
      = 0;
    virtual __g::any new_on_stack_fn_where____Tlc_Trm(__g::any_const_reference p_188)
      = 0;
    virtual __g::any_pointer new_on_heap_fn_where____Tlc_pTrm(__g::any_const_reference p_189)
      = 0;
    virtual __g::any_pointer new_on_gc_fn_where____Tlc_pTrm(__g::any_const_reference p_190)
      = 0;
    virtual __g::any_pointer new_placement_fn_where____pvlc_Tlc_pTrm(void* const& p_191,
        __g::any_const_reference p_192)
      = 0;
    virtual void cleanup_fn_where____pTlc_vrm(__g::any_ptr_const_ref p_193)
      = 0;
    virtual void wipeout_fn_where____pTlc_vrm(__g::any_ptr_const_ref p_194)
      = 0;
  };

  struct SizeOf {
    SizeOf(boost::mpl::int_<0>)
    { }
    virtual unsigned long size_of_fn_where_____size_trm()
      = 0;
  };

  struct AddressOf {
    AddressOf(boost::mpl::int_<0>)
    { }
    virtual __g::any_pointer __addressof_fn_where____Tlm_pTrm(__g::any_reference p_195)
      = 0;
    virtual __g::any_const_pointer __addressof_fn_where____Tlc_pTcrm(__g::any_const_reference p_196)
      = 0;
  };

  struct POD {
    POD(boost::mpl::int_<0>)
    { }
  };

  __g::any_const_reference
id_fn_where____T0lc_T0lc(__g::any_const_reference x_376)
{
  return x_376;
}

  int
main()
{
  boost::function<int const& (int const&)> id_int_377 = id_fn_where____T0lc_T0lc;
  return (id_int_377)(0);
}


