<commit_before>// Copyright <NAME> 2008. 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 !BOOST_PP_IS_ITERATING

# ifndef LUABIND_DETAIL_CONSTRUCTOR_081018_HPP
#  define LUABIND_DETAIL_CONSTRUCTOR_081018_HPP

#  include <luabind/object.hpp>
#  include <luabind/wrapper_base.hpp>

#  include <boost/preprocessor/iteration/iterate.hpp>
#  include <boost/preprocessor/iteration/local.hpp>
#  include <boost/preprocessor/repetition/enum_params.hpp>
#  include <boost/preprocessor/repetition/enum_binary_params.hpp>

namespace luabind { namespace detail {

inline void inject_backref(lua_State* L, void*, void*)
{}

template <class T>
void inject_backref(lua_State* L, T* p, wrap_base*)
{
    weak_ref(L, -1).swap(wrap_access::ref(*p));
}

template <std::size_t Arity, class T, class Signature>
struct construct_aux;

template <class T, class Signature>
struct construct<commit_msg>Use correct index in inject_backref().<commit_after>// Copyright <NAME> 2008. 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 !BOOST_PP_IS_ITERATING

# ifndef LUABIND_DETAIL_CONSTRUCTOR_081018_HPP
#  define LUABIND_DETAIL_CONSTRUCTOR_081018_HPP

#  include <luabind/object.hpp>
#  include <luabind/wrapper_base.hpp>

#  include <boost/preprocessor/iteration/iterate.hpp>
#  include <boost/preprocessor/iteration/local.hpp>
#  include <boost/preprocessor/repetition/enum_params.hpp>
#  include <boost/preprocessor/repetition/enum_binary_params.hpp>

namespace luabind { namespace detail {

inline void inject_backref(lua_State* L, void*, void*)
{}

template <class T>
void inject_backref(lua_State* L, T* p, wrap_base*)
{
    weak_ref(L, 1).swap(wrap_access::ref(*p));
}

template <std::size_t Arity, class T, class Signature>
struct construct_aux;

template <class T, class Signature>
struct construct
{'fraction_non_alphanumeric': 0.11067961165048544, 'fraction_numerical': 0.02233009708737864, 'mean_word_length': 5.669902912621359, 'pattern_counts': {'":': 0, '<': 23, '<?xml version=': 0, '>': 23, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6487261', 'n_tokens_mistral': 751, 'n_tokens_neox': 699, 'n_words': 163}