<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<diagram program="umlet" version="14.3.0">
  <help_text>// Uncomment the following line to change the fontsize and font:
fontsize=13
fontfamily=SansSerif


//////////////////////////////////////////////////////////////////////////////////////////////
// Welcome to UMLet!
//
// Double-click on elements to add them to the diagram, or to copy them
// Edit elements by modifying the text in this panel
// Hold Ctrl to select multiple elements
// Use Ctrl+mouse to select via lasso
//
// Use +/- or Ctrl+mouse wheel to zoom
// Drag a whole relation at its central square icon
//
// Press Ctrl+C to copy the whole diagram to the system clipboard (then just paste it to, eg, Word)
// Edit the files in the "palettes" directory to create your own element palettes
//
// Select "Custom Elements &gt; New..." to create new element types
//////////////////////////////////////////////////////////////////////////////////////////////


// This text will be stored with each diagram;  use it for notes.</help_text>
  <zoom_level>10</zoom_level>
  <element>
    <id>UMLPackage</id>
    <coordinates>
      <x>200</x>
      <y>120</y>
      <w>820</w>
      <h>420</h>
    </coordinates>
    <panel_attributes>ZipDirFs::Utilities
--
</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>220</x>
      <y>160</y>
      <w>370</w>
      <h>130</h>
    </coordinates>
    <panel_attributes>_FileSystem_
--
_+last_write_time: function&lt;time(path&amp;)&gt;_
_+directory_iterator_from_path: function&lt;EntryIterator(path&amp;)&gt;_
_+directory_iterator_end: function&lt;EntryIterator()&gt;_
_+status: function&lt;file_status(path&amp;)&gt;_
--
_+reset(): void_
_+assign&lt;Func&gt;(function&lt;Func&gt;&amp;, Func*): void_
</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>430</x>
      <y>370</y>
      <w>100</w>
      <h>60</h>
    </coordinates>
    <panel_attributes>&lt;&lt;datatype&gt;&gt;
template=T
function {::std}</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>220</x>
      <y>320</y>
      <w>80</w>
      <h>40</h>
    </coordinates>
    <panel_attributes>&lt;&lt;datatype&gt;&gt;
time {::std}</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>320</x>
      <y>320</y>
      <w>150</w>
      <h>40</h>
    </coordinates>
    <panel_attributes>&lt;&lt;datatype&gt;&gt;
path {::boost::filesystem}</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>220</x>
      <y>380</y>
      <w>190</w>
      <h>40</h>
    </coordinates>
    <panel_attributes>&lt;&lt;datatype&gt;&gt;
file_status {::boost::filesystem}</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>620</x>
      <y>160</y>
      <w>300</w>
      <h>110</h>
    </coordinates>
    <panel_attributes>template=Permissions: mode_t, Derived
DefaultPermission
--
--
+default_permissions()
+mode(): mode_t
+access(mode: int): int
+chmod(permission: mode_t): int
</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>550</x>
      <y>370</y>
      <w>180</w>
      <h>40</h>
    </coordinates>
    <panel_attributes>template=Derived
DefaultFilePermission</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>540</x>
      <y>260</y>
      <w>160</w>
      <h>140</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;-
&lt;&lt;bind&gt;&gt;
&lt; Permissions: 0666 &gt;</panel_attributes>
    <additional_attributes>110.0;10.0;110.0;90.0;40.0;90.0;40.0;120.0</additional_attributes>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>750</x>
      <y>370</y>
      <w>220</w>
      <h>40</h>
    </coordinates>
    <panel_attributes>template=Derived
DefaultLinkPermission</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>680</x>
      <y>260</y>
      <w>150</w>
      <h>140</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;-
&lt;&lt;bind&gt;&gt;
&lt; Permissions: 0777 &gt;</panel_attributes>
    <additional_attributes>40.0;10.0;40.0;90.0;100.0;90.0;100.0;120.0</additional_attributes>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>790</x>
      <y>300</y>
      <w>210</w>
      <h>40</h>
    </coordinates>
    <panel_attributes>template=Derived
DefaultDirectoryPermission</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>730</x>
      <y>260</y>
      <w>210</w>
      <h>70</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;-
&lt;&lt;bind&gt;&gt;
&lt; Permissions: 0555 &gt;</panel_attributes>
    <additional_attributes>10.0;10.0;10.0;30.0;190.0;30.0;190.0;50.0</additional_attributes>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>220</x>
      <y>450</y>
      <w>180</w>
      <h>70</h>
    </coordinates>
    <panel_attributes>MutexLocker
--
-mutex: mutex
--
+lock(): unique_lock&lt;mutex&gt;</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>430</x>
      <y>450</y>
      <w>130</w>
      <h>60</h>
    </coordinates>
    <panel_attributes>&lt;&lt;datatype&gt;&gt;
template=T
unique_lock {::std}</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>580</x>
      <y>450</y>
      <w>90</w>
      <h>40</h>
    </coordinates>
    <panel_attributes>&lt;&lt;datatype&gt;&gt;
mutex {::std}</panel_attributes>
    <additional_attributes/>
  </element>
</diagram>
