/// <summary>
 /// Returns whether the given <paramref name="atomFlag"/> is set for
 /// the given <paramref name="atomName"/>.
 /// </summary>
 /// <param name="atomName">the atom name</param>
 /// <param name="atomFlag">the flag to test</param>
 /// <returns>true if the flag is set, false otherwise</returns>
 public static bool IsFlagSet(this AtomName atomName, AtomFlags atomFlag)
 {
     return((atomName.GetAtomFlags() & atomFlag) == atomFlag);
 }
 /// <summary>
 /// Creates a new atom attribute.
 /// </summary>
 /// <remarks>
 /// Use an empty list for <param name="suitableParents"/> to specify
 /// all container atoms.
 /// </remarks>
 /// <param name="atomType">the atom type field 4CC as string</param>
 /// <param name="suitableParents">the suitable parent for the atom</param>
 /// <param name="flags">the atom type flags</param>
 public AtomAttribute(string atomType, AtomName[] suitableParents, AtomFlags flags)
 {
     AtomType        = atomType;
     AtomFlags       = flags;
     SuitableParents = suitableParents;
 }
 public AtomAttributes(ICollection <uint> atomTypes, AtomFlags atomFlags, ICollection <AtomName> suitableParents)
 {
     AtomTypes       = atomTypes;
     AtomFlags       = atomFlags;
     SuitableParents = suitableParents;
 }