#if NET40_OR_GREATER || NETCOREAPP
using System.Collections.Concurrent;
#else
using System.Collections.Generic;
#endif
using System.Xml.Serialization;
using Newtonsoft.Json;
using SabreTools.DatItems;
namespace SabreTools.DatFiles
{
///
/// Item dictionary with statistics, bucketing, and sorting
///
[JsonObject("items"), XmlRoot("items")]
public class ItemDictionaryDB
{
#region Private instance variables
///
/// Internal dictionary for all items
///
#if NET40_OR_GREATER || NETCOREAPP
private readonly ConcurrentDictionary items = new ConcurrentDictionary();
#else
private readonly Dictionary items = [];
#endif
///
/// Internal dictionary for all machines
///
#if NET40_OR_GREATER || NETCOREAPP
private readonly ConcurrentDictionary machines = new ConcurrentDictionary();
#else
private readonly Dictionary machines = [];
#endif
///
/// Internal dictionary for item to machine mappings
///
#if NET40_OR_GREATER || NETCOREAPP
private readonly ConcurrentDictionary itemToMachineMapping = new ConcurrentDictionary();
#else
private readonly Dictionary itemToMachineMapping = [];
#endif
#endregion
}
}