1. C++ / Говнокод #10237

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    template<class TValueChanger1, class TValueChanger2, class TValueChanger3>
    	NContour::NPrimitives::PArc ChangePrimitive(NContour::NPrimitives::PArc Arc, const TValueChanger1& ValueChanger1, const TValueChanger2& ValueChanger2, const TValueChanger3& ValueChanger3)
    	{
    		return
    		boost::static_pointer_cast<NContour::NPrimitives::TArc>(ValueChanger3(
    		boost::static_pointer_cast<NContour::NPrimitives::TArc>(ValueChanger2(
    		boost::static_pointer_cast<NContour::NPrimitives::TArc>(ValueChanger1(
    		Arc
    		))
    		))
    		));
    	}

    Запостил: Говногость, 10 Мая 2012

    Комментарии (6) RSS

    • And we need to go deeper.
      Ответить
      • Там от 1 до 6ти параметров ValueChanger*. Каждой такой функции по 2 (под разные типы).
        Ответить
    • Похоже писал функциональщик.
      Arc - константный смартпоинтер на константную структуру константных полей.
      Каждый ValueChanger пересоздаёт структуру с измененным одним полем.
      Ответить
    • Крестопроблемы.
      Ответить

    Добавить комментарий