<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Split-Funktion für date_period von boost]]></title><description><![CDATA[<p>Hallo,</p>
<p>Habe date_period in <a href="http://www.boost.org/doc/libs/1_58_0/doc/html/date_time/gregorian.html#date_time.gregorian.date_period" rel="nofollow">http://www.boost.org/doc/libs/1_58_0/doc/html/date_time/gregorian.html#date_time.gregorian.date_period</a>.</p>
<p>Die Bibliothek bietet keine Split-Funktion an, um ein date_period bei einem bestimmten Datum in zwei date_period zu splitten. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Dafür habe ich jetzt selbst eine Funktion geschrieben, frage mich aber, ob man es nicht schlauer machen kann?</p>
<pre><code>void Split_Period(const date_period&amp; period, const date split_date, date_period&amp; part0, date_period&amp; part1) //Kann man z.B. diese Zeile auch schlauer schreiben?
{
	part0 = date_period(period.begin(), split_date);
	part1 = date_period(split_date, period.end());
}
</code></pre>
<p>Ich brauche das, wenn ein date_period sich über zwei oder mehr Jahren erstreckt.</p>
<p>Ein Problem ist, dass für date_period kein Default-Konstruktor vorhanden ist. Und als Pointer will ich date_period nicht übergeben, da ich dann das Problem mit new und delete habe.</p>
<p>Glaube ein Copy-Konstruktor ist bei date_period vorhanden.</p>
<pre><code>void Period::Build_Bars()
{
	date_period part1 = period; //Geht, weil glaube ich ein Copy-Constructor vorhanden ist.
	//date_period part1; //Geht nicht, da kein Default-Konstruktor

	while(part1.begin().year() &lt; part1.last().year())
	{
		date_period part0 = period; //Finde ich nicht so schlau.
		date_period current_split = part1;
		Split_Period(current_split, date(current_split.begin().year() + 1, 1, 1), part0, part1);
		bars.push_back(Period_Bar(part0));
	}
	bars.push_back(Period_Bar(part1));
}
</code></pre>
<p>Wollte fragen, ob jemand eine Idee hat, wie man eine Split-Funktion möglichst schlau schreiben könnte und wie ich date_period der Funktion am besten übergeben soll?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/339833/split-funktion-für-date_period-von-boost</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Apr 2026 19:58:14 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/339833.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 02 Oct 2016 08:51:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Split-Funktion für date_period von boost on Sun, 02 Oct 2016 08:51:16 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Habe date_period in <a href="http://www.boost.org/doc/libs/1_58_0/doc/html/date_time/gregorian.html#date_time.gregorian.date_period" rel="nofollow">http://www.boost.org/doc/libs/1_58_0/doc/html/date_time/gregorian.html#date_time.gregorian.date_period</a>.</p>
<p>Die Bibliothek bietet keine Split-Funktion an, um ein date_period bei einem bestimmten Datum in zwei date_period zu splitten. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Dafür habe ich jetzt selbst eine Funktion geschrieben, frage mich aber, ob man es nicht schlauer machen kann?</p>
<pre><code>void Split_Period(const date_period&amp; period, const date split_date, date_period&amp; part0, date_period&amp; part1) //Kann man z.B. diese Zeile auch schlauer schreiben?
{
	part0 = date_period(period.begin(), split_date);
	part1 = date_period(split_date, period.end());
}
</code></pre>
<p>Ich brauche das, wenn ein date_period sich über zwei oder mehr Jahren erstreckt.</p>
<p>Ein Problem ist, dass für date_period kein Default-Konstruktor vorhanden ist. Und als Pointer will ich date_period nicht übergeben, da ich dann das Problem mit new und delete habe.</p>
<p>Glaube ein Copy-Konstruktor ist bei date_period vorhanden.</p>
<pre><code>void Period::Build_Bars()
{
	date_period part1 = period; //Geht, weil glaube ich ein Copy-Constructor vorhanden ist.
	//date_period part1; //Geht nicht, da kein Default-Konstruktor

	while(part1.begin().year() &lt; part1.last().year())
	{
		date_period part0 = period; //Finde ich nicht so schlau.
		date_period current_split = part1;
		Split_Period(current_split, date(current_split.begin().year() + 1, 1, 1), part0, part1);
		bars.push_back(Period_Bar(part0));
	}
	bars.push_back(Period_Bar(part1));
}
</code></pre>
<p>Wollte fragen, ob jemand eine Idee hat, wie man eine Split-Funktion möglichst schlau schreiben könnte und wie ich date_period der Funktion am besten übergeben soll?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2510336</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2510336</guid><dc:creator><![CDATA[titan99_]]></dc:creator><pubDate>Sun, 02 Oct 2016 08:51:16 GMT</pubDate></item><item><title><![CDATA[Reply to Split-Funktion für date_period von boost on Tue, 04 Oct 2016 19:27:01 GMT]]></title><description><![CDATA[<p>---</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2510458</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2510458</guid><dc:creator><![CDATA[titan99_]]></dc:creator><pubDate>Tue, 04 Oct 2016 19:27:01 GMT</pubDate></item></channel></rss>