The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Новая версия Louvre 1.2, библиотеки для разработки композитн..."
Отправлено n00by, 17-Фев-24 10:05 
Я не понял, где там экономится память. Цели заявлены - удобная работа с флагами. Вопрос, почему названо bitset. Ну, наверное, потому что автор из Чили, а 640 слов в Бейсик Инглиш хватит всем.

* Unlike `std::bitset`, LBitset functions are designed to modify and retrieve bit states using flags rather than indices, which are ideally
* defined within an enum.

template <class T>
class Louvre::LBitset
{
    using Flag = typename std::conditional<
        std::is_enum<T>::value,
        typename std::underlying_type<T>::type,
        T
        >::type;

...

private:
    Flag m_flags;
};

...

    enum ChangesToNotify : UInt16
    {
        NoChanges                   = 0,
        BufferSizeChanged           = 1 << 0,
        BufferScaleChanged          = 1 << 1,
        BufferTransformChanged      = 1 << 2,
        DamageRegionChanged         = 1 << 3,
        OpaqueRegionChanged         = 1 << 4,
        InputRegionChanged          = 1 << 5,
        SourceRectChanged           = 1 << 6,
        SizeChanged                 = 1 << 7,
        VSyncChanged                = 1 << 8
    };

    LBitset<ChangesToNotify> changesToNotify;

Вот это идёт первым членом в LPRIVATE_CLASS(LSurface) https://github.com/CuarzoSoftware/Louvre/blob/047a86659cc2a3...

Следом 32-х разрядный LBitset. Что бы экономить память, надо сортировать от большего к меньшему. В связи с чем возникают другие вопросы...

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру