typename std::enable_if<std::is_copy_assignable<U>::value, void>::type
    setAsLuaTableImpl(C* object, sol::table value) const
    {
        std::vector<U> vector;
        value.for_each([&](const sol::object& indexObject, const sol::object& element)
        {
            if(!indexObject.is<int>())
            {
                std::cout << "The lua table used to set a std::vector<T> contains a not numeric key !" << std::endl;
                return;
            }

            unsigned int index = indexObject.as<int>();
            //Resize the vector if needed
            if(vector.size() < index)
                vector.resize(index);
            //Set the value
            vector[index-1] = element.as<U>();
        });

        setMemberValue(object, vector);
    }
Ejemplo n.º 2
0
void ErrorTraceHelper::setMemberValue (const char* name, ACE_CString& value)
{
    setMemberValue(name, value.c_str());
}