Skip to content

izvolov/papers

Repository files navigation

Список публикаций

О том, что находится под капотом ленивых операций с разнотипными диапазонами.

Пример того, как проектировать ленивый диапазон, который будет производить какую-либо операцию с N множествами.

Краткий ликбез по итераторам, диапазонам и ленивым операциям над последовательностями.

Об автоматах, многопоточности, неленивой модели компоновки алгоритмов, и о том, как удобно и эффективно использовать эту модель в прикладном коде.

О том, как максимально использовать потенциал компилятора в выявлении ошибок.

Об осмысленном подходе к модульному тестированию.

О подготовке независимых идинообразных модулей и связывании их между собой.

О том, как подружить систему сборки CMake и язык C++ в рамках проекта заголовочной библиотеки.

О методологиях ведения разработки ПО и рабочих отношениях.

Об инструментах, делающих компоновку функций лёгкой и приятной.

О проектировании и реализации механизмов частичного применения в языке C++.

О технике, позволяющей создавать легковесные и удобочитаемые "концепты" со, впрочем, достаточно ограниченной функциональностью.

О контейнере, ключевые особенности которого следующие:

  1. Складываемые в контейнер типы не обязаны быть членами одной иерархии классов — это могут быть совершенно разные типы. Например, можно поместить одновременно bool, double, std::string, std::vector<int> и т.п.

  2. Объекты плотно расположены в памяти. То есть они лежат в едином буфере подряд, друг за другом. Это снимает лишний уровень косвенности при обращении к ним по сравнению с тем, если бы это был, например, массив указателей на базовый класс, как это обычно делается для хранения в массиве классов из одной иерархии.

О том, каким должен быть правильный интерфейс поразрядной сортировки в языке C++, и почему именно таким.