<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: std bitmap for user defined classes</title>
    <link>https://opennet.dev/openforum/vsluhforumID9/9465.html</link>
    <description>Здравствуйте!&lt;br&gt;Вопрос немного философский, и, скорее всего, практического применения не имеет.&lt;br&gt;Итак.&lt;br&gt;Нашел конструкцию своппинга при помощи битовых операторов:&lt;br&gt;&#091;code&#093;&lt;br&gt;a^=b^=a^=b&lt;br&gt;&#091;/code&#093;&lt;br&gt;Данная конструкция работает для встроенных типов, а вот как можно ее применить к типам данных , определяемых пользователем?&lt;br&gt;В документации описаны примеры создания битовых наборов только для числовых типов данных и стрингов, причем, последние должны содержать в себе только символы 0 и 1.&lt;br&gt;&lt;br&gt;&#091;code&#093;&lt;br&gt;int a = 42;&lt;br&gt;double b = 3.14&lt;br&gt;std::string c = &quot;1001&quot;;&lt;br&gt;std::string d = &quot;123&quot;;&lt;br&gt;std::bitset&amp;lt;2&amp;gt; _a(a); // OK&lt;br&gt;std::bitset&amp;lt;2&amp;gt; _b(b); // OK&lt;br&gt;std::bitset&amp;lt;2&amp;gt; _c(c); // OK&lt;br&gt;std::bitset&amp;lt;2&amp;gt; _d(d); // Error&lt;br&gt;&#091;/code&#093;&lt;br&gt;&lt;br&gt;А вот так нельзя:&lt;br&gt;&lt;br&gt;&#091;code&#093;&lt;br&gt;class A &#123;...&#125;;&lt;br&gt;std::bitset&amp;lt;2&amp;gt; _a(a); // Error&lt;br&gt;&#091;/code&#093;&lt;br&gt;&lt;br&gt;Или все-таки можно?&lt;br&gt;</description>

<item>
    <title>std bitmap for user defined classes (deadmustdie)</title>
    <link>https://opennet.dev/openforum/vsluhforumID9/9465.html#3</link>
    <pubDate>Thu, 24 May 2012 12:13:53 GMT</pubDate>
    <description>&amp;gt; Простите, не совсем понял идею &lt;br&gt;&lt;br&gt;Битовая маска формируется из строки, состоящей из ноликов и единиц, путем установки соответствующих битов в маске.&lt;br&gt;&lt;br&gt;Пользовательский класс может содержать оператор преобразования себя в строку, состоящую из ноликов и единиц, для обеспечения формирования битовой маски из данной строки. Логика формирования такой строки - целиком пользовательская (как и класс).&lt;br&gt;&lt;br&gt;Естественно, аналогично можно написать метод, заполняющий битовую маску на основе данных класса. Объем ручной работы примерно одинаков в обоих случаях.&lt;br&gt;</description>
</item>

<item>
    <title>std bitmap for user defined classes (handler2006)</title>
    <link>https://opennet.dev/openforum/vsluhforumID9/9465.html#2</link>
    <pubDate>Thu, 24 May 2012 12:10:44 GMT</pubDate>
    <description>Простите, не совсем понял идею&lt;br&gt;</description>
</item>

<item>
    <title>std bitmap for user defined classes (deadmustdie)</title>
    <link>https://opennet.dev/openforum/vsluhforumID9/9465.html#1</link>
    <pubDate>Thu, 24 May 2012 08:19:43 GMT</pubDate>
    <description>class A &#123;&lt;br&gt;&lt;br&gt;...&lt;br&gt;&lt;br&gt;operator std::string() &#123;&lt;br&gt;  return std::string(...);&lt;br&gt;&#125;&lt;br&gt;&lt;br&gt;&#125;;&lt;br&gt;</description>
</item>

</channel>
</rss>
