Публикации по теме 'generic-programming'


Цель
Общее программирование Универсальное программирование основано на идее абстрагирования от конкретных эффективных алгоритмов для получения универсальных алгоритмов, которые можно комбинировать с различными представлениями данных для создания широкого спектра полезного программного обеспечения. — Мюссер, Дэвид Р.; Степанов, Александр А., Общее программирование Цель Чтобы заставить алгоритм/метод/решение работать в общем, инкапсулируя детали о структурах данных и..

В PHP все еще отсутствуют биты: дженерики.
Эта статья - первая из серии, посвященной отсутствующим битам PHP. В последующих статьях будет рассказано о других концепциях типизации, таких как средства доступа и типы данных. PHP 7.2 не за горами, принося связанные с типом изменения, такие как тип object в сигнатуре или расширение типа параметра. Они подтверждают желание сообщества PHP укрепить систему типов PHP и повысить безопасность типов. В Libcast мы ценим эти изменения, которые позволяют полагаться на IDE для..

Вопросы по теме 'generic-programming'

Где вы находите полезные шаблоны?
На моем рабочем месте мы обычно используем iostream , строку , вектор , карту и нечетные алгоритм или два. На самом деле мы не обнаружили много ситуаций, когда методы шаблонов были бы лучшим решением проблемы. Здесь я ищу идеи и, возможно,...
3623 просмотров

Как вы делаете универсальное программирование на Haskell?
Исходя из C++, я считаю универсальное программирование незаменимым. Интересно, как люди подходят к этому в Haskell? Скажите, как написать общую функцию подкачки в Haskell? Существует ли эквивалентная концепция частичной специализации в Haskell?...
9140 просмотров
schedule 12.07.2022

Удержание экземпляра универсального типа - C++
У меня есть класс tree_node и класс tree . template<typename T> class tree_node { public: tree_node(const std::string& key_, const T& value_) : key(key_), value(value_) { } private: T value; std::string...
460 просмотров
schedule 27.05.2022

Как проверить, является ли TypeIdenitifier(T) объектом?
Я создаю общий класс списка, который имеет член типа Array(Array of ). Проблема заключается в уничтожении класса, потому что класс предполагается использовать для типов от byte до типов, наследующих TObject. Конкретно: destructor Destroy; var...
375 просмотров

Библиотеки программирования, универсальные для типов данных, для Scala
Я ищу библиотеку Scala, позволяющую программировать на основе типов данных (например, Выбросьте свой шаблон , например). Список библиотек с соответствующими ссылками и краткими описаниями для каждой был бы идеальным ответом.
773 просмотров

Есть ли какой-нибудь алгоритм, чтобы найти доступную пропускную способность между двумя узлами в Интернете?
Я пытаюсь разработать программу, которая отображает доступную пропускную способность между двумя узлами. Позже этот модуль будет интегрирован в мое приложение, которое облегчает различные взаимодействия с пользователем (чаты, совместное использование...
294 просмотров
schedule 04.04.2022

Возможны ли общие оболочки функций в C++?
Это появилось, когда я искал ошибку в оболочке функции boost::fusion::fused при использовании decltype. Похоже, проблема заключается в том, что недопустимый decltype является ошибкой компиляции, даже если экземпляр шаблона, для которого он...
756 просмотров

Как выразить сопоставление с образцом для независимых комбинаций значений данных?
data Foo = Bar1 | Bar2 Foo Foo | Bar3 Foo | Bar4 Foo Foo Foo Теперь предположим, что кто-то построил дерево Foo , и я хочу проверить, допустимы ли аргументы значения Foo. Правила для аргументов конструктора:...
151 просмотров

Как можно использовать стрелки для нескольких кортежей?
foo (a1,a2) (b1,b2) (c1,c2) = (bar a1 b1 c1, bar2 a2 b2 c2) У меня много таких конструкций с разным количеством кортежей аргументов. В случае foo' (a1,a2) = (bar' a1, bar2' a2) Я подумал: «Эй, это стрелы!»: foo' = bar' *** bar2'...
193 просмотров

Как проверить (общий (общий аргумент))?
Фон (о котором нам не нужно беспокоиться) Это вопрос, полученный из Build A Generic Tree With Inheritance . Я открываю этот вопрос как отдельный вопрос, потому что это связано не только с проблемой дерева. Вместо этого это скорее общая и...
744 просмотров

как написать общую функцию сравнения в Haxe (haxe3)
Я пытаюсь написать общую функцию сравнения (например, c strcmp) в Haxe3 для типа шаблона A, предполагая, что этот тип шаблона имеет оператор меньше или равно "‹=". Я видел в документации Haxe3 ( http://haxe.org/manual/haxe3/features ), что вы...
1395 просмотров
schedule 15.07.2022

Обычное сравнение объектов в иерархии наследования в С++
Я планирую написать мультимап, как это std::multimap <key, base_ptr> mymap; И я хотел бы иметь возможность хранить указатели многих производных классов (скажем, Der1 , Der2 ), которые происходят от базы. Теперь, когда я пытаюсь...
234 просмотров

Конструктор статического члена шаблона С++ не вызывается
У меня есть два тестовых примера класса, имеющего экземпляр статического члена. В первом используются образцы без шаблонов, а во втором используются общие типы объектов. Дилемма проста : конструктор статического члена вызывается перед основной...
342 просмотров

Как я могу сохранить общее дерево в файле?
У меня есть общая реализация дерева, написанная на С++, которая может хранить любой тип (int, float, string и т.д.) template<class T> class Tree { public: // Class interface private: T node; std::list<Tree<T>*>* children; };...
963 просмотров
schedule 05.06.2022

Play Framework 2 — шаблон Scala: как вызвать определенный метод для универсального объекта?
Я использую Play Framework 2.1.5 в приложении Java. У меня есть компонент представления, который принимает в качестве параметра список общих объектов. В этом компоненте я хочу выполнить итерацию по списку и получить некоторые свойства каждого...
1270 просмотров

как сделать Scala canBuildFrom для построения типа коллекции от Seq до Set
Я экспериментировал с трейтом CanBuildFrom на Scala, он выглядит нормально, когда я пытаюсь автоматически преобразовать тип Array в тип Seq, я думаю, причина в том, что у нас есть CanBuildFrom[Array, T, Seq[T]] в области видимости. Однако, если я...
494 просмотров

Как обобщить общий метод для анализа текста и присвоения списку переменных для разного количества переменных?
Мне нужно прочитать текст, разделенный табуляцией (или запятой), и назначить их списку встроенных переменных (int, char, string и т. Д., Но не объекту). Я хочу справиться с этим с помощью универсального метода. Вот рабочий код, который я использую...
86 просмотров
schedule 16.12.2023

SYB: можно ли переписать карту результата listify с помощью gfoldl?
Могу ли я использовать gfoldl от SYB, чтобы сделать карту результатов listify за один раз? Рассмотрим, например, следующий код: extractNums :: Expr -> [Int] extractNums e = map numVal $ listify isNum e where isNum :: Expr -> Bool...
175 просмотров

Как использовать универсальный редактор для доступа к базе данных в гобелене 5?
У меня есть проект гобелена 5, который содержит следующее: Абстрактная сущность в пакете сущностей, которая наследуется всеми другими конкретными сущностями. import java.io.Serializable; import javax.persistence.Basic; import...
556 просмотров

Создание общей многократно используемой функции с неявными и типами в Scala
У меня есть блок кода, который реплицируется буквально повсюду. Этот блок кода (около 10 строк) обрабатывает входящие действия, проверяет их, обрабатывает сериализацию JSON и вызывает внутреннюю функцию, подготавливая результат. Я знаю, что это...
277 просмотров