How can I read a Cascading one line key value dataset
<p>I have the following problem:<br>
I need to create a reader for a cascading one line key vaule dataset that looks something like this:<br>
(for readability and put in newlines and tabs, but in the actual code its diffrent data and on one line)</p>

<pre><code>'name:thomas,country:usa,birthday:1934,height:140,face:'
     eyes:'
          color:blue,sight:good    
     '
     hair:'
          lenght:long,color:brown,
     '
   '
   hands:'
      size:small,fingernails:clean
   '     
'
'name:laura:country:germany,etc...'
</code></pre>

<p>So I basicly need this thing to understand that if a new ' comes after a key, it should be read as a value, not as a new set of key value pairs.<br>
Ideally it should just give a string that can then turned into another list, which understands the same thing again.<br>
The Problem I have right now is, how do I make the programm understand which ' end the current casced list and which beginn a new one. 
I have used std::split so far, but I doesn'tm seam to be possible to solve this problem this way.<br>
Is there some header only way I could just use?<br>
And I also can't change the file format to xml or json, since the one line cascaded list thing is not on my end.</p>