Описание тега guideline-support-library
Библиотека поддержки руководств (GSL) содержит функции и типы, которые предлагаются для использования Основными рекомендациями C++, поддерживаемыми Standard C++ Foundation.
1
ответ
Есть ли реализация GSL, которую я могу использовать с GCC 4.9.x?
Утверждается, что реализация библиотеки поддержки Microsoft (Core) Guidelines поддерживает GCC 5.1, но не определяет поддержку других версий. Более высокие версии кажутся нормальными (в любом случае 5.3.1 на моем Debian Stretch), но сборка тестов с …
04 мар '16 в 00:06
0
ответов
Как правильно установить заголовок, который включает GSL (Библиотека поддержки руководящих принципов)
// include/MyLib/MyModel.h #include <memory> #include <string> #include "myEntity.h" #include <gsl/gsl> class MyModel { public: std::unique_ptr<MyEntity> load(std::string id); bool store(gsl::not_null<MyEntity*> entity)…
12 окт '17 в 18:12
0
ответов
Чем отличаются gsl::string_span и std::string_view?
Из того, что я могу собрать, gsl::string_span а также std::string_view кажется, по сути, то же самое обоснование для использования. Это действительно так? Если да, действительно ли они идентичны? Если нет - чем они отличаются? Смежный вопрос: Какую …
29 окт '18 в 18:09
1
ответ
Должен ли я использовать Библиотеку поддержки рекомендаций (GSL) в новом проекте C++?
Каковы плюсы и минусы за и против использования библиотеки поддержки рекомендаций (GSL) в новом проекте C++? Я нахожу некоторые конструкции там очень привлекательными, но немного боюсь включить и положиться на такую фундаментальную библиотеку.
16 янв '19 в 10:37
1
ответ
Есть ли законный способ перейти от gsl:: not_null<T>?
Введена библиотека поддержки рекомендаций not_null<T> кто имеет целью принудительное применение инварианта для типов, похожих на указатели, а также для интеллектуальных указателей. Однако это известная проблема, not_null<unique_ptr<T>…
15 фев '16 в 23:01
0
ответов
Предотвращение потери __restrict__ при использовании диапазонов GSL
Мне (в основном) нравится новая инициатива C++ Core Guidelines и то, что предлагает библиотека поддержки Guidelines. В частности, я хочу использовать spanбольше Тем не менее, я сталкиваюсь с проблемой __restrict__ не являюсь частью C++, пока я хочу …
30 май '16 в 08:50
1
ответ
Как использовать gsl::span для исправления Нет массива к предупреждению о затухании указателя?
Я пытаюсь разрешить следующее предупреждение. warning C26485: Expression 'pNMLink->item.szUrl': No array to pointer decay. (bounds.3...) Это предупреждение вызвано следующим кодом. auto pNMLink = reinterpret_cast<PNMLINK>(pNMHDR); ShellExec…
16 фев '18 в 03:24
1
ответ
Ensures() - библиотека поддержки директив
Я пытаюсь понять, как использовать Ensures() в коде. Как указано в примере, если я пытался использовать Ensures() следующее... int main(void) { int result = 0; // Some calculation Ensures(result == 255); return 0; } Если result переменная не равна 2…
01 апр '16 в 06:33
4
ответа
Что такое "промежуток" и когда я должен его использовать?
Недавно я получил предложения по использованию span<T>в моем коде, или видел некоторые ответы здесь на сайте, которые используют spanх - якобы какой-то контейнер. Но - я не могу найти ничего подобного в стандартной библиотеке C++. Так что же э…
16 авг '17 в 22:15
3
ответа
Должен ли я заменить (void*, size) на диапазон GSL?
Предположим, у меня есть int foo(void* p, size_t size_in_bytes); и предположить, что не имеет смысла делать foo набран. Я хочу быть хорошим программистом и применять основные принципы C++. В частности, я хочу использовать span вместо пар (*, len). Ч…
26 май '16 в 21:55
1
ответ
Распространять зависимости в заголовок ExternalProject с помощью cmake
Я пытаюсь создать библиотеку только для заголовков, используя CMake ( Microsoft / GSL), таким образом, чтобы я мог использовать такие переменные, как GSL_INCLUDE_DIRS а также GSL_LIBRARIES связать с целью и распространить соответствующие зависимости…
25 фев '16 в 14:55
1
ответ
Почему gsl::not_null гарантирует, что ptr не является нулем при get()?
В реализации библиотеки поддержки реализации Microsoft я вижу следующий фрагмент кода: template<class T> class not_null { ... template <typename U, typename = std::enable_if_t<std::is_convertible<U, T>::value>> constexpr expl…
03 июл '18 в 15:12
3
ответа
В чем разница между span и array_view в библиотеке gsl?
В нескольких недавних выступлениях на конференции я слышал, как Бьярн Страуструп и другие упоминают новые правила кодирования для C++ и некоторые типы, поддерживающие их. В частности, я помню пример span<T> вместо (T* p, int n) в качестве пара…
16 янв '16 в 21:01
0
ответов
Почему Xcode считает, что gsl::span нужны два аргумента шаблона?
В настоящее время я знакомлюсь с GSL, и я написал следующий очень простой пример, чтобы проверить, как gsl::span работает. Xcode, похоже, имеет проблемы с ним, как вы можете видеть здесь: Это компилируется и работает просто отлично, как и должно, но…
28 май '16 в 17:34
0
ответов
Ошибка 'gsl::czstring': использование шаблона псевдонима требует списка аргументов шаблона
Я почти уверен, что использую gsl::czstring точно так же, как описано в документации, но я получаю вышеуказанную ошибку в VS 2015, и я не знаю почему. Воспроизвести: // main.cpp #include <gsl/gsl> int main() { gsl::czstring hw = "Hello, World!…
08 сен '16 в 16:56
2
ответа
Должен ли я вернуть gsl::span<const T> вместо const std:: vector<T>&
У меня есть класс с членом std:: vector и функцией-членом, возвращающей константную ссылку на этот вектор. class demo { public: //... const std::vector<int> & test() const { return iv; } private: std::vector<int> iv; }; Я планирую из…
23 ноя '16 в 13:03
1
ответ
Заставить gsl::as_span вернуть gsl:: span<const T>?
Принимая следующую функцию, принимая: диапазон с плавающей запятой только для чтения (либо динамического, либо любого статического размера): template <long N> void foobar(gsl::span<const float, N> x); Допустим, у меня есть vector<floa…
09 июн '16 в 13:23
1
ответ
Как я должен представлять непрерывную последовательность принадлежащих мне элементов?
У меня есть куча типизированных данных в последовательной памяти, которые я получил как T *; и я также знаю количество элементов (как std::size_t хотя это не имеет большого значения). Я хотел бы использовать какой-то один тип или структуру данных дл…
25 окт '18 в 21:36
1
ответ
Как я могу использовать gsl::span и указать владельца?
Я хочу написать функцию, которая: Принимает указатель в качестве параметра Принимает длину в качестве параметра Владеет памятью, на которую указывает указатель (например, возможно, он освобождает ее или создает для него уникальный_птр в некоторой ст…
03 окт '16 в 08:59
1
ответ
gsl::span - указатель на конец
Мне нужно передать gsl:: span в функцию, которая ожидает указатель на начало и указатель на конец. Я обновил функцию, чтобы использовать gsl:: span, чтобы избежать арифметического предупреждения об отсутствии указателя. Так как мне получить указател…
16 фев '18 в 04:42