public static function createFromStruct(Array $struct, SetMeta $meta = NULL) {
    if (!isset($meta)) $meta = new SetMeta();
    $set = new static(array(), $meta);
    
    foreach ($struct as $field => $list) {
      list($value, $type) = $list;
      $set->set($field, $value, $type);
    }
    
    return $set;
  }
public static function createFromStruct(Array $struct, SetMeta $meta = NULL) {
    if (!isset($meta)) $meta = new SetMeta();
    $set = new static(array(), $meta);
    
    foreach ($struct as $field => $list) {
      list($value, $type) = $list;
      $set->set($field, $value, $type);
    }
    
    return $set;
  }
public static function createFromStruct ( Array $ struct , SetMeta $ meta = NULL ) { if ( ! isset ( $ meta ) ) $ meta = new SetMeta ( ) ; $ set = new static ( array ( ) , $ meta ) ; foreach ( $ struct as $ field => $ list ) { list ( $ value , $ type ) = $ list ; $ set -> set ( $ field , $ value , $ type ) ; } return $ set ; }
Erstellt ein Set mit angegebenen Metadaten

Shortcoming um die Felder des Sets nicht doppelt bezeichnen zu müssen
struct ist ein Array von Listen mit jeweils genau 2 elementen (key 0 und key 1)

@param list[] $struct die Listen sind von der Form: list(mixed $fieldValue, Webforge\Types\Type $fieldType). Die Schlüssel sind die Feldnamen
@return Set
Erstellt ein Set mit angegebenen Metadaten